diff --git a/os_testr/regex_builder.py b/os_testr/regex_builder.py index 8f5261e..abc08fc 100644 --- a/os_testr/regex_builder.py +++ b/os_testr/regex_builder.py @@ -19,7 +19,10 @@ import subprocess def _get_test_list(regex, env=None): env = env or copy.deepcopy(os.environ) - proc = subprocess.Popen(['testr', 'list-tests', regex], env=env, + testr_args = ['testr', 'list-tests'] + if regex: + testr_args.append(regex) + proc = subprocess.Popen(testr_args, env=env, stdout=subprocess.PIPE, universal_newlines=True) out = proc.communicate()[0] raw_test_list = out.split('\n') diff --git a/os_testr/tests/test_regex_builder.py b/os_testr/tests/test_regex_builder.py index 04a9748..c78500c 100644 --- a/os_testr/tests/test_regex_builder.py +++ b/os_testr/tests/test_regex_builder.py @@ -174,3 +174,16 @@ class TestGetTestList(base.TestCase): def test__get_test_list(self): test_list = os_testr._get_test_list('test__get_test_list') self.assertIn('test__get_test_list', test_list[0]) + + def test__get_test_list_regex_is_empty(self): + test_list = os_testr._get_test_list('') + self.assertIn('', test_list[0]) + + def test__get_test_list_regex_is_none(self): + test_list = os_testr._get_test_list(None) + # NOTE(masayukig): We should get all of the tests. So we should have + # more than one test case. + self.assertGreater(len(test_list), 1) + self.assertIn('os_testr.tests.test_regex_builder.' + 'TestGetTestList.test__get_test_list_regex_is_none', + test_list)