33"""Tests for verifying package installation and version consistency.
44
55These tests check that easydiffraction and essdiffraction packages are
6- installed and match the latest PyPI release (MAJOR.MINOR.PATCH only) .
6+ installed and are not older than the latest PyPI release.
77"""
88
99import importlib .metadata
@@ -47,11 +47,14 @@ def get_base_version(
4747
4848
4949@pytest .mark .parametrize ('package_name' , PACKAGE_NAMES )
50- def test_package_import__latest (
50+ def test_package_import (
5151 package_name : str ,
5252) -> None :
53- """Verify installed package matches PyPI latest version
54- (MAJOR.MINOR.PATCH).
53+ """Verify installed package is not older than PyPI latest version.
54+
55+ Uses >= comparison to support both:
56+ - Real releases where installed == latest
57+ - Dev builds where installed (e.g., 999.0.0) > latest
5558 """
5659 installed_version = get_installed_version (package_name )
5760 latest_version = get_latest_version (package_name )
@@ -60,9 +63,9 @@ def test_package_import__latest(
6063 assert latest_version is not None , f'Could not fetch latest version for { package_name } .'
6164
6265 # Compare only MAJOR.MINOR.PATCH, ignoring local version identifiers
63- installed_base = get_base_version (installed_version )
64- latest_base = get_base_version (latest_version )
66+ installed_base = Version ( get_base_version (installed_version ) )
67+ latest_base = Version ( get_base_version (latest_version ) )
6568
66- assert installed_base = = latest_base , (
69+ assert installed_base > = latest_base , (
6770 f'Package { package_name } is outdated: Installed={ installed_base } , Latest={ latest_base } '
6871 )
0 commit comments