Closed deathaxe closed 3 years ago
As a result ST3176 users can't even opt-in to pre-releases.
Wrote some tests and most of them fail. Appears `is_compatible_version()´ is seriously broken.
Running Package Control Tests
FFFF......FF
======================================================================
FAIL: test_version_greater_or_equal_than (Package Control.package_control.tests.providers.VersionSelectorTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Apps\Sublime Text\Data\Packages\Package Control\package_control\tests\providers.py", line 2245, in test_version_greater_or_equal_than
self.assertTrue(is_compatible_version(">=3176", 3176))
AssertionError: False is not true
======================================================================
FAIL: test_version_greater_than (Package Control.package_control.tests.providers.VersionSelectorTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Apps\Sublime Text\Data\Packages\Package Control\package_control\tests\providers.py", line 2239, in test_version_greater_than
self.assertTrue(is_compatible_version(">3176", 3177))
AssertionError: False is not true
======================================================================
FAIL: test_version_less_or_equal_than (Package Control.package_control.tests.providers.VersionSelectorTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Apps\Sublime Text\Data\Packages\Package Control\package_control\tests\providers.py", line 2233, in test_version_less_or_equal_than
self.assertTrue(is_compatible_version("<=3176", 3176))
AssertionError: False is not true
======================================================================
FAIL: test_version_less_than (Package Control.package_control.tests.providers.VersionSelectorTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Apps\Sublime Text\Data\Packages\Package Control\package_control\tests\providers.py", line 2226, in test_version_less_than
self.assertTrue(is_compatible_version("<3176", 3175))
AssertionError: False is not true
======================================================================
FAIL: test_version_range_lower_bound (Package Control.package_control.tests.providers.VersionSelectorTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Apps\Sublime Text\Data\Packages\Package Control\package_control\tests\providers.py", line 2255, in test_version_range_lower_bound
self.assertTrue(is_compatible_version("3176 - 3211", 3176))
AssertionError: False is not true
======================================================================
FAIL: test_version_range_upper_bound (Package Control.package_control.tests.providers.VersionSelectorTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Apps\Sublime Text\Data\Packages\Package Control\package_control\tests\providers.py", line 2258, in test_version_range_upper_bound
self.assertTrue(is_compatible_version("3176 - 3211", 3211))
AssertionError: False is not true
----------------------------------------------------------------------
It appears version selection algorithm gets confused with first two release patterns if running on a ST built which exactly matches the edge case. I'd read second rule as "use
3176-
tag for all ST builts from 3176 to 4106. But it actually seems to be3177 to 4106
atm.Package Control 3.4.1
Configured releases
ST 3143 / ST 3177+
Displays semver correctly.
ST 3176
Shows timestamp instead of semver version.