Skip to content

Commit cd10edd

Browse files
committed
Harsher version_priority tests
Signed-off-by: Jonah Newton <jonah@jonahnewton.com.au>
1 parent dd68842 commit cd10edd

1 file changed

Lines changed: 54 additions & 28 deletions

File tree

src/rez/tests/test_solver.py

Lines changed: 54 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def _create_solvers(self, reqs):
4343
self.packages_path,
4444
optimised=True,
4545
verbosity=solver_verbosity)
46-
s_perms.append(s)
46+
s_perms.append((s, reqs_))
4747

4848
return (s1, s2, s_perms)
4949

@@ -77,15 +77,15 @@ def _solve(self, packages, expected_resolve, perms_same_packages=False):
7777
self.assertEqual(resolve2, resolve)
7878

7979
print("checking that permutations also succeed...")
80-
for s in s_perms:
80+
for s, s_reqs in s_perms:
8181
s.solve()
8282
self.assertEqual(s.status, SolverStatus.solved)
8383
if perms_same_packages:
8484
resolve_perm = (
8585
[str(x) for x in s.resolved_packages]
8686
+ sorted(str(x) for x in s.resolved_ephemerals)
8787
)
88-
self.assertEqual(set(resolve_perm), set(expected_resolve))
88+
self.assertEqual(set(resolve_perm), set(expected_resolve), msg="Differing packages in resolve for request \"{}\" - {} not equal to {}".format([x.name for x in s_reqs], resolve_perm, expected_resolve))
8989

9090
return s1
9191

@@ -107,7 +107,7 @@ def _fail(self, *packages):
107107
self.assertEqual(s1.failure_reason(), s2.failure_reason())
108108

109109
print("checking that permutations also fail...")
110-
for s in s_perms:
110+
for s, s_reqs in s_perms:
111111
s.solve()
112112
self.assertEqual(s.status, SolverStatus.failed)
113113

@@ -282,60 +282,86 @@ def test_14_resolve_weakly_reference_variant(self):
282282
def test_15_version_priority_extra_packages(self):
283283
config.override("variant_select_mode", "version_priority")
284284
self._solve(["test_prio_lower_extra_package"],
285-
["python-2.7.0[]", "test_prio_lower_extra_package-1.0[1]"])
285+
["python-2.7.0[]", "test_prio_lower_extra_package-1.0[1]"],
286+
perms_same_packages=True)
286287
self._solve(["test_prio_lower_extra_package", "python"],
287-
["python-2.7.0[]","test_prio_lower_extra_package-1.0[1]"])
288+
["python-2.7.0[]","test_prio_lower_extra_package-1.0[1]"],
289+
perms_same_packages=True)
288290
self._solve(["test_prio_lower_extra_package", "python", "nada"],
289-
["python-2.7.0[]","test_prio_lower_extra_package-1.0[1]", "nada[]"])
291+
["python-2.7.0[]","test_prio_lower_extra_package-1.0[1]", "nada[]"], )
292+
self._solve(["test_prio_lower_extra_package", "nada", "python"],
293+
["nada[]", "python-2.6.0[]","test_prio_lower_extra_package-1.0[0]"], )
290294

291295
self._solve(["test_prio_higher_extra_package"],
292-
["nada[]", "python-2.7.0[]", "test_prio_higher_extra_package-1.0[1]"])
296+
["nada[]", "python-2.7.0[]", "test_prio_higher_extra_package-1.0[1]"],
297+
perms_same_packages=True)
293298
self._solve(["test_prio_higher_extra_package", "python"],
294-
["python-2.7.0[]", "nada[]", "test_prio_higher_extra_package-1.0[1]"])
299+
["python-2.7.0[]", "nada[]", "test_prio_higher_extra_package-1.0[1]"],
300+
perms_same_packages=True)
295301
self._solve(["test_prio_higher_extra_package", "python", "nada"],
296-
["python-2.7.0[]", "nada[]", "test_prio_higher_extra_package-1.0[1]"])
302+
["python-2.7.0[]", "nada[]", "test_prio_higher_extra_package-1.0[1]"],
303+
perms_same_packages=True)
297304

298305
self._solve(["test_prio_both_extra_package"],
299-
["nada[]", "python-2.7.0[]", "test_prio_both_extra_package-1.0[1]"])
306+
["nada[]", "python-2.7.0[]", "test_prio_both_extra_package-1.0[1]"],
307+
perms_same_packages=True)
300308
self._solve(["test_prio_both_extra_package", "python"],
301-
["python-2.7.0[]", "nada[]", "test_prio_both_extra_package-1.0[1]",])
309+
["python-2.7.0[]", "nada[]", "test_prio_both_extra_package-1.0[1]",],
310+
perms_same_packages=True)
302311
self._solve(["test_prio_both_extra_package", "python", "nada"],
303-
["python-2.7.0[]", "nada[]", "test_prio_both_extra_package-1.0[1]"])
312+
["python-2.7.0[]", "nada[]", "test_prio_both_extra_package-1.0[1]"],
313+
perms_same_packages=True)
304314

305315
self._solve(["test_prio_both_base"],
306-
["python-2.7.0[]", "test_prio_both_base-1.0[1]"])
316+
["python-2.7.0[]", "test_prio_both_base-1.0[1]"],
317+
perms_same_packages=True)
307318
self._solve(["test_prio_both_base", "python"],
308-
["python-2.7.0[]", "test_prio_both_base-1.0[1]"])
319+
["python-2.7.0[]", "test_prio_both_base-1.0[1]"],
320+
perms_same_packages=True)
309321
self._solve(["test_prio_both_base", "python", "nada"],
310-
["python-2.7.0[]", "test_prio_both_base-1.0[1]", "nada[]"])
322+
["python-2.7.0[]", "test_prio_both_base-1.0[1]", "nada[]"],
323+
perms_same_packages=True)
311324

312325
self._solve(["test_prio_lower_extra_package_reverse"],
313-
["python-2.7.0[]", "test_prio_lower_extra_package_reverse-1.0[0]"])
326+
["python-2.7.0[]", "test_prio_lower_extra_package_reverse-1.0[0]"],
327+
perms_same_packages=True)
314328
self._solve(["test_prio_lower_extra_package_reverse", "python"],
315-
["python-2.7.0[]","test_prio_lower_extra_package_reverse-1.0[0]"])
329+
["python-2.7.0[]","test_prio_lower_extra_package_reverse-1.0[0]"],
330+
perms_same_packages=True)
316331
self._solve(["test_prio_lower_extra_package_reverse", "python", "nada"],
317-
["python-2.7.0[]","test_prio_lower_extra_package_reverse-1.0[0]", "nada[]"])
332+
["python-2.7.0[]","test_prio_lower_extra_package_reverse-1.0[0]", "nada[]"], )
333+
self._solve(["test_prio_lower_extra_package_reverse", "nada", "python"],
334+
["nada[]", "python-2.6.0[]","test_prio_lower_extra_package_reverse-1.0[1]"], )
318335

319336
self._solve(["test_prio_higher_extra_package_reverse"],
320-
["nada[]", "python-2.7.0[]", "test_prio_higher_extra_package_reverse-1.0[0]"])
337+
["nada[]", "python-2.7.0[]", "test_prio_higher_extra_package_reverse-1.0[0]"],
338+
perms_same_packages=True)
321339
self._solve(["test_prio_higher_extra_package_reverse", "python"],
322-
["python-2.7.0[]", "nada[]", "test_prio_higher_extra_package_reverse-1.0[0]"])
340+
["python-2.7.0[]", "nada[]", "test_prio_higher_extra_package_reverse-1.0[0]"],
341+
perms_same_packages=True)
323342
self._solve(["test_prio_higher_extra_package_reverse", "python", "nada"],
324-
["python-2.7.0[]", "nada[]", "test_prio_higher_extra_package_reverse-1.0[0]"])
343+
["python-2.7.0[]", "nada[]", "test_prio_higher_extra_package_reverse-1.0[0]"],
344+
perms_same_packages=True)
325345

326346
self._solve(["test_prio_both_extra_package_reverse"],
327-
["nada[]", "python-2.7.0[]", "test_prio_both_extra_package_reverse-1.0[0]"])
347+
["nada[]", "python-2.7.0[]", "test_prio_both_extra_package_reverse-1.0[0]"],
348+
perms_same_packages=True)
328349
self._solve(["test_prio_both_extra_package_reverse", "python"],
329-
["python-2.7.0[]", "nada[]", "test_prio_both_extra_package_reverse-1.0[0]",])
350+
["python-2.7.0[]", "nada[]", "test_prio_both_extra_package_reverse-1.0[0]",],
351+
perms_same_packages=True)
330352
self._solve(["test_prio_both_extra_package_reverse", "python", "nada"],
331-
["python-2.7.0[]", "nada[]", "test_prio_both_extra_package_reverse-1.0[0]"])
353+
["python-2.7.0[]", "nada[]", "test_prio_both_extra_package_reverse-1.0[0]"],
354+
perms_same_packages=True)
332355

333356
self._solve(["test_prio_both_base_reverse"],
334-
["python-2.7.0[]", "test_prio_both_base_reverse-1.0[0]"])
357+
["python-2.7.0[]", "test_prio_both_base_reverse-1.0[0]"],
358+
perms_same_packages=True)
335359
self._solve(["test_prio_both_base_reverse", "python"],
336-
["python-2.7.0[]", "test_prio_both_base_reverse-1.0[0]"])
360+
["python-2.7.0[]", "test_prio_both_base_reverse-1.0[0]"],
361+
perms_same_packages=True)
337362
self._solve(["test_prio_both_base_reverse", "python", "nada"],
338-
["python-2.7.0[]", "test_prio_both_base_reverse-1.0[0]", "nada[]"])
363+
["python-2.7.0[]", "test_prio_both_base_reverse-1.0[0]", "nada[]"],
364+
perms_same_packages=True)
339365

340366
def test_16_intersection_priority_extra_packages(self):
341367
config.override("variant_select_mode", "intersection_priority")

0 commit comments

Comments
 (0)