From 10dd852e736382740ce19e1dd37ae250aff93908 Mon Sep 17 00:00:00 2001 From: Louie Lu Date: Fri, 16 Jun 2017 18:37:37 +0800 Subject: [PATCH 1/3] bpo-30523: Add --list-cases unittest --- Lib/test/test_regrtest.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py index c189b4a36e5aa54..9e84ea4013fe76b 100644 --- a/Lib/test/test_regrtest.py +++ b/Lib/test/test_regrtest.py @@ -825,6 +825,30 @@ def test_list_tests(self): self.assertEqual(output.rstrip().splitlines(), tests) + def test_list_cases(self): + # test --list-cases + # TODO: Add doctest testcase + code = textwrap.dedent(""" + import unittest + + class Tests(unittest.TestCase): + def test_method1(self): + pass + def test_method2(self): + pass + def test_method3(self): + pass + def test_method4(self): + pass + """) + testname = self.create_test(code=code) + all_methods = ['%s.Tests.test_method1' % testname, + '%s.Tests.test_method2' % testname, + '%s.Tests.test_method3' % testname, + '%s.Tests.test_method4' % testname] + output = self.run_tests('--list-cases', testname) + self.assertEqual(output.rstrip().splitlines(), all_methods) + def test_crashed(self): # Any code which causes a crash code = 'import faulthandler; faulthandler._sigsegv()' From 429b54dbf660693bb997496dd8f6e08d47605a3e Mon Sep 17 00:00:00 2001 From: Louie Lu Date: Fri, 16 Jun 2017 18:47:13 +0800 Subject: [PATCH 2/3] Addressed haypo's request --- Lib/test/test_regrtest.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py index 9e84ea4013fe76b..9a1c77ecf48c7fc 100644 --- a/Lib/test/test_regrtest.py +++ b/Lib/test/test_regrtest.py @@ -836,18 +836,12 @@ def test_method1(self): pass def test_method2(self): pass - def test_method3(self): - pass - def test_method4(self): - pass """) testname = self.create_test(code=code) all_methods = ['%s.Tests.test_method1' % testname, - '%s.Tests.test_method2' % testname, - '%s.Tests.test_method3' % testname, - '%s.Tests.test_method4' % testname] + '%s.Tests.test_method2' % testname] output = self.run_tests('--list-cases', testname) - self.assertEqual(output.rstrip().splitlines(), all_methods) + self.assertEqual(output.splitlines(), all_methods) def test_crashed(self): # Any code which causes a crash From 46968deaebe51b6659e9231b3ae4a9bf2d1f05bb Mon Sep 17 00:00:00 2001 From: Louie Lu Date: Fri, 16 Jun 2017 18:48:27 +0800 Subject: [PATCH 3/3] Addressed haypo's request --- Lib/test/test_regrtest.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py index 9a1c77ecf48c7fc..5c6154a347d3321 100644 --- a/Lib/test/test_regrtest.py +++ b/Lib/test/test_regrtest.py @@ -827,7 +827,6 @@ def test_list_tests(self): def test_list_cases(self): # test --list-cases - # TODO: Add doctest testcase code = textwrap.dedent(""" import unittest @@ -859,7 +858,6 @@ def parse_methods(self, output): return [match.group(1) for match in regex.finditer(output)] def test_matchfile(self): - # Any code which causes a crash code = textwrap.dedent(""" import unittest