Skip to content

Commit d152c9a

Browse files
Fix calling rez test with empty test name to run all tests (#1988)
Signed-off-by: Nig3l <[email protected]> Signed-off-by: Jean-Christophe Morin <[email protected]> Co-authored-by: Jean-Christophe Morin <[email protected]>
1 parent d508f0b commit d152c9a

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

src/rez/package_test.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,12 @@ def find_requested_test_names(self, requested_tests):
213213
run_on = ["default"] if not requested_tests else None
214214
pkg_test_names = self.get_test_names(run_on=run_on)
215215
requested_test_names = set()
216+
217+
if not requested_tests:
218+
# if no tests are explicitly specified, then return all tests
219+
# found in the package
220+
return pkg_test_names
221+
216222
for requested_test in requested_tests:
217223
requested_test_names.update(set(fnmatch.filter(pkg_test_names, requested_test)))
218224
return requested_test_names

src/rez/tests/test_test.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,3 +264,46 @@ def test_wildcard_05(self):
264264
"failed",
265265
"move_meeting_to_noon did not fail",
266266
)
267+
268+
def test_empty_test_list(self):
269+
"""
270+
package.py unit tests are correctly found when no test name is provided (empty list)
271+
"""
272+
self.inject_python_repo()
273+
context = ResolvedContext(["testing_obj", "python"])
274+
# This will get us more code coverage :)
275+
self.inject_python_repo()
276+
runner = PackageTestRunner(
277+
package_request="testing_obj",
278+
package_paths=context.package_paths,
279+
280+
)
281+
282+
test_names = runner.find_requested_test_names([])
283+
self.assertEqual(4, len(test_names))
284+
285+
for test_name in test_names:
286+
runner.run_test(test_name)
287+
288+
self.assertEqual(runner.test_results.num_tests, 4)
289+
290+
self.assertEqual(
291+
self._get_test_result(runner, "check_car_ideas")["status"],
292+
"success",
293+
"check_car_ideas did not succeed",
294+
)
295+
self.assertEqual(
296+
self._get_test_result(runner, "move_meeting_to_noon")["status"],
297+
"failed",
298+
"move_meeting_to_noon did not fail",
299+
)
300+
self.assertEqual(
301+
self._get_test_result(runner, "command_as_string_success")["status"],
302+
"success",
303+
"command_as_string_success did not succeed",
304+
)
305+
self.assertEqual(
306+
self._get_test_result(runner, "command_as_string_fail")["status"],
307+
"failed",
308+
"command_as_string_fail did not fail",
309+
)

0 commit comments

Comments
 (0)