Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
b5c66f86
Commit
b5c66f86
authored
Dec 28, 2013
by
Antoine Pitrou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix breakage in TestSuite.countTestCases() introduced by issue #11798.
parent
156b3610
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
4 deletions
+45
-4
Lib/unittest/suite.py
Lib/unittest/suite.py
+12
-4
Lib/unittest/test/test_suite.py
Lib/unittest/test/test_suite.py
+31
-0
Misc/NEWS
Misc/NEWS
+2
-0
No files found.
Lib/unittest/suite.py
View file @
b5c66f86
...
...
@@ -20,6 +20,7 @@ class BaseTestSuite(object):
def
__init__
(
self
,
tests
=
()):
self
.
_tests
=
[]
self
.
_removed_tests
=
0
self
.
addTests
(
tests
)
def
__repr__
(
self
):
...
...
@@ -37,9 +38,10 @@ class BaseTestSuite(object):
return
iter
(
self
.
_tests
)
def
countTestCases
(
self
):
cases
=
0
cases
=
self
.
_removed_tests
for
test
in
self
:
cases
+=
test
.
countTestCases
()
if
test
:
cases
+=
test
.
countTestCases
()
return
cases
def
addTest
(
self
,
test
):
...
...
@@ -70,10 +72,16 @@ class BaseTestSuite(object):
def
_removeTestAtIndex
(
self
,
index
):
"""Stop holding a reference to the TestCase at index."""
try
:
self
.
_tests
[
index
]
=
None
test
=
self
.
_tests
[
index
]
except
TypeError
:
# support for suite implementations that have overriden self._test
# support for suite implementations that have overriden self._test
s
pass
else
:
# Some unittest tests add non TestCase/TestSuite objects to
# the suite.
if
hasattr
(
test
,
'countTestCases'
):
self
.
_removed_tests
+=
test
.
countTestCases
()
self
.
_tests
[
index
]
=
None
def
__call__
(
self
,
*
args
,
**
kwds
):
return
self
.
run
(
*
args
,
**
kwds
)
...
...
Lib/unittest/test/test_suite.py
View file @
b5c66f86
...
...
@@ -51,6 +51,9 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
suite
=
unittest
.
TestSuite
()
self
.
assertEqual
(
suite
.
countTestCases
(),
0
)
# countTestCases() still works after tests are run
suite
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
suite
.
countTestCases
(),
0
)
# "class TestSuite([tests])"
# ...
...
...
@@ -63,6 +66,9 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
suite
=
unittest
.
TestSuite
([])
self
.
assertEqual
(
suite
.
countTestCases
(),
0
)
# countTestCases() still works after tests are run
suite
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
suite
.
countTestCases
(),
0
)
# "class TestSuite([tests])"
# ...
...
...
@@ -84,6 +90,14 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
suite_3
=
unittest
.
TestSuite
(
set
(
suite_1
))
self
.
assertEqual
(
suite_3
.
countTestCases
(),
2
)
# countTestCases() still works after tests are run
suite_1
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
suite_1
.
countTestCases
(),
2
)
suite_2
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
suite_2
.
countTestCases
(),
2
)
suite_3
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
suite_3
.
countTestCases
(),
2
)
# "class TestSuite([tests])"
# ...
# "If tests is given, it must be an iterable of individual test cases
...
...
@@ -99,6 +113,9 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
suite
=
unittest
.
TestSuite
(
tests
())
self
.
assertEqual
(
suite
.
countTestCases
(),
2
)
# countTestCases() still works after tests are run
suite
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
suite
.
countTestCases
(),
2
)
################################################################
### /Tests for TestSuite.__init__
...
...
@@ -145,6 +162,9 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
suite
=
unittest
.
TestSuite
((
test1
,
test2
))
self
.
assertEqual
(
suite
.
countTestCases
(),
2
)
# countTestCases() still works after tests are run
suite
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
suite
.
countTestCases
(),
2
)
# "Return the number of tests represented by the this test object.
# ...this method is also implemented by the TestSuite class, which can
...
...
@@ -162,6 +182,10 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
parent
=
unittest
.
TestSuite
((
test3
,
child
,
Test1
(
'test1'
)))
self
.
assertEqual
(
parent
.
countTestCases
(),
4
)
# countTestCases() still works after tests are run
parent
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
parent
.
countTestCases
(),
4
)
self
.
assertEqual
(
child
.
countTestCases
(),
2
)
# "Run the tests associated with this suite, collecting the result into
# the test result object passed as result."
...
...
@@ -220,6 +244,9 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
self
.
assertEqual
(
suite
.
countTestCases
(),
1
)
self
.
assertEqual
(
list
(
suite
),
[
test
])
# countTestCases() still works after tests are run
suite
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
suite
.
countTestCases
(),
1
)
# "Add a ... TestSuite to the suite"
def
test_addTest__TestSuite
(
self
):
...
...
@@ -233,6 +260,9 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
self
.
assertEqual
(
suite
.
countTestCases
(),
1
)
self
.
assertEqual
(
list
(
suite
),
[
suite_2
])
# countTestCases() still works after tests are run
suite
.
run
(
unittest
.
TestResult
())
self
.
assertEqual
(
suite
.
countTestCases
(),
1
)
# "Add all the tests from an iterable of TestCase and TestSuite
# instances to this test suite."
...
...
@@ -392,6 +422,7 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
self
.
assertEqual
(
len
(
result
.
errors
),
1
)
self
.
assertEqual
(
len
(
result
.
failures
),
0
)
self
.
assertEqual
(
result
.
testsRun
,
2
)
self
.
assertEqual
(
suite
.
countTestCases
(),
2
)
def
test_overriding_call
(
self
):
...
...
Misc/NEWS
View file @
b5c66f86
...
...
@@ -44,6 +44,8 @@ Core and Builtins
Library
-------
- Fix breakage in TestSuite.countTestCases() introduced by issue #11798.
- Issue #19918: Fix PurePath.relative_to() under Windows.
- Issue #19422: Explicitly disallow non-SOCK_STREAM sockets in the ssl
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment