@@ -64,11 +64,20 @@ class ErrorDetails(BaseModel):
6464
6565class CaseDetails (BaseModel ):
6666 version : str
67+ # Version reported by packaging metadata rather than by versioningit;
68+ # differs from `version` when normalization happens:
69+ pkg_version : Union [str , None ] = None
6770 next_version : Union [str , ErrorDetails ]
6871 local_modules : List [str ] = Field (default_factory = list )
6972 files : List [File ] = Field (default_factory = list )
7073 logmsgs : List [LogMsg ] = Field (default_factory = list )
7174
75+ def get_pkg_version (self ) -> str :
76+ if self .pkg_version is not None :
77+ return self .pkg_version
78+ else :
79+ return self .version
80+
7281
7382def mkcases (
7483 subdir : str ,
@@ -142,13 +151,13 @@ def test_end2end(
142151 f .check (srcdir , "project" )
143152
144153 sdist_src = unpack_sdist (srcdir / "dist" , tmp_path )
145- assert get_version_from_pkg_info (sdist_src ) == details .version
154+ assert get_version_from_pkg_info (sdist_src ) == details .get_pkg_version ()
146155 for f in details .files :
147156 f .check (sdist_src , "sdist" )
148157
149158 wheel_src , wheel_dist_info = unpack_wheel (srcdir / "dist" , tmp_path )
150159 metadata = (wheel_dist_info / "METADATA" ).read_text (encoding = "utf-8" )
151- assert parse_version_from_metadata (metadata ) == details .version
160+ assert parse_version_from_metadata (metadata ) == details .get_pkg_version ()
152161 for f in details .files :
153162 f .check (wheel_src , "wheel" )
154163
@@ -383,7 +392,7 @@ def test_build_wheel_directly(repopath: str, tmp_path: Path) -> None:
383392
384393 wheel_src , wheel_dist_info = unpack_wheel (srcdir / "dist" , tmp_path )
385394 metadata = (wheel_dist_info / "METADATA" ).read_text (encoding = "utf-8" )
386- assert parse_version_from_metadata (metadata ) == details .version
395+ assert parse_version_from_metadata (metadata ) == details .get_pkg_version ()
387396 for f in details .files :
388397 f .check (wheel_src , "wheel" )
389398
@@ -408,7 +417,7 @@ def test_editable_mode(cmd: list[str], tmp_path: Path) -> None:
408417 try :
409418 assert get_repo_status (srcdir ) == status
410419 info = readcmd (sys .executable , "-m" , "pip" , "show" , "mypackage" )
411- assert parse_version_from_metadata (info ) == details .version
420+ assert parse_version_from_metadata (info ) == details .get_pkg_version ()
412421 version_var = readcmd (
413422 sys .executable , "-c" , "import mypackage; print(mypackage.__version__)"
414423 )
@@ -438,7 +447,7 @@ def test_editable_mode_hatch(tmp_path: Path) -> None:
438447 try :
439448 assert get_repo_status (srcdir ) == status
440449 info = readcmd (sys .executable , "-m" , "pip" , "show" , "mypackage" )
441- assert parse_version_from_metadata (info ) == details .version
450+ assert parse_version_from_metadata (info ) == details .get_pkg_version ()
442451 version_var = readcmd (
443452 sys .executable , "-c" , "import mypackage; print(mypackage.__version__)"
444453 )
@@ -472,13 +481,13 @@ def test_setup_py(tmp_path: Path) -> None:
472481 f .check (srcdir , "project" )
473482
474483 sdist_src = unpack_sdist (srcdir / "dist" , tmp_path )
475- assert get_version_from_pkg_info (sdist_src ) == details .version
484+ assert get_version_from_pkg_info (sdist_src ) == details .get_pkg_version ()
476485 for f in details .files :
477486 f .check (sdist_src , "sdist" )
478487
479488 wheel_src , wheel_dist_info = unpack_wheel (srcdir / "dist" , tmp_path )
480489 metadata = (wheel_dist_info / "METADATA" ).read_text (encoding = "utf-8" )
481- assert parse_version_from_metadata (metadata ) == details .version
490+ assert parse_version_from_metadata (metadata ) == details .get_pkg_version ()
482491 for f in details .files :
483492 f .check (wheel_src , "wheel" )
484493
0 commit comments