diff options
author | reivilibre <oliverw@matrix.org> | 2022-03-08 10:47:28 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-08 10:47:28 +0000 |
commit | 2eef234ae367657d4fe5cb0bef6bda67e97b7e4d (patch) | |
tree | a0c55e9fec70b0e259a93765e806dbcde6a47917 /tests/util/test_check_dependencies.py | |
parent | Relax version guard for packaging (#12166) (diff) | |
download | synapse-2eef234ae367657d4fe5cb0bef6bda67e97b7e4d.tar.xz |
Fix a bug introduced in 1.54.0rc1 which meant that Synapse would refuse to start if pre-release versions of dependencies were installed. (#12177)
* Add failing test to characterise the regression #12176 * Permit pre-release versions of specified packages * Newsfile (bugfix) Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
Diffstat (limited to 'tests/util/test_check_dependencies.py')
-rw-r--r-- | tests/util/test_check_dependencies.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/util/test_check_dependencies.py b/tests/util/test_check_dependencies.py index a91c33272f..38e9f58ac6 100644 --- a/tests/util/test_check_dependencies.py +++ b/tests/util/test_check_dependencies.py @@ -27,7 +27,9 @@ class DummyDistribution(metadata.Distribution): old = DummyDistribution("0.1.2") +old_release_candidate = DummyDistribution("0.1.2rc3") new = DummyDistribution("1.2.3") +new_release_candidate = DummyDistribution("1.2.3rc4") # could probably use stdlib TestCase --- no need for twisted here @@ -110,3 +112,20 @@ class TestDependencyChecker(TestCase): with self.mock_installed_package(new): # should not raise check_requirements("cool-extra") + + def test_release_candidates_satisfy_dependency(self) -> None: + """ + Tests that release candidates count as far as satisfying a dependency + is concerned. + (Regression test, see #12176.) + """ + with patch( + "synapse.util.check_dependencies.metadata.requires", + return_value=["dummypkg >= 1"], + ): + with self.mock_installed_package(old_release_candidate): + self.assertRaises(DependencyException, check_requirements) + + with self.mock_installed_package(new_release_candidate): + # should not raise + check_requirements() |