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
742206d9
Commit
742206d9
authored
May 20, 2016
by
Serhiy Storchaka
Browse files
Options
Browse Files
Download
Plain Diff
Issue #27063: Some unittest loader tests were silently skipped.
parents
2a95219b
0dad7556
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
26 deletions
+28
-26
Lib/unittest/test/test_loader.py
Lib/unittest/test/test_loader.py
+28
-26
No files found.
Lib/unittest/test/test_loader.py
View file @
742206d9
...
...
@@ -8,7 +8,7 @@ import unittest
# test isolation and reproducibility.
def
warningregistry
(
func
):
def
wrapper
(
*
args
,
**
kws
):
missing
=
object
()
missing
=
[]
saved
=
getattr
(
warnings
,
'__warningregistry__'
,
missing
).
copy
()
try
:
return
func
(
*
args
,
**
kws
)
...
...
@@ -20,6 +20,7 @@ def warningregistry(func):
pass
else
:
warnings
.
__warningregistry__
=
saved
return
wrapper
class
Test_TestLoader
(
unittest
.
TestCase
):
...
...
@@ -197,9 +198,9 @@ class Test_TestLoader(unittest.TestCase):
# ignored (and deprecated).
load_tests_args
=
[]
with
warnings
.
catch_warnings
(
record
=
False
):
warnings
.
simplefilter
(
'
never
'
)
warnings
.
simplefilter
(
'
ignore
'
)
suite
=
loader
.
loadTestsFromModule
(
m
,
use_load_tests
=
False
)
self
.
assertEqual
(
load_tests_args
,
[
loader
,
suite
,
None
])
self
.
assertEqual
(
load_tests_args
,
[
loader
,
suite
,
None
])
@
warningregistry
def
test_loadTestsFromModule__use_load_tests_deprecated_positional
(
self
):
...
...
@@ -221,10 +222,10 @@ class Test_TestLoader(unittest.TestCase):
with
warnings
.
catch_warnings
(
record
=
True
)
as
w
:
warnings
.
simplefilter
(
'always'
)
suite
=
loader
.
loadTestsFromModule
(
m
,
False
)
self
.
assertIsInstance
(
suite
,
unittest
.
TestSuite
)
# load_tests was still called because use_load_tests is deprecated
# and ignored.
self
.
assertEqual
(
load_tests_args
,
[
loader
,
suite
,
None
])
self
.
assertIsInstance
(
suite
,
unittest
.
TestSuite
)
# load_tests was still called because use_load_tests is deprecated
# and ignored.
self
.
assertEqual
(
load_tests_args
,
[
loader
,
suite
,
None
])
# We got a warning.
self
.
assertIs
(
w
[
-
1
].
category
,
DeprecationWarning
)
self
.
assertEqual
(
str
(
w
[
-
1
].
message
),
...
...
@@ -249,14 +250,14 @@ class Test_TestLoader(unittest.TestCase):
with
warnings
.
catch_warnings
(
record
=
True
)
as
w
:
warnings
.
simplefilter
(
'always'
)
suite
=
loader
.
loadTestsFromModule
(
m
,
use_load_tests
=
False
)
self
.
assertIsInstance
(
suite
,
unittest
.
TestSuite
)
# load_tests was still called because use_load_tests is deprecated
# and ignored.
self
.
assertEqual
(
load_tests_args
,
[
loader
,
suite
,
None
])
# We got a warning.
self
.
assertIs
(
w
[
-
1
].
category
,
DeprecationWarning
)
self
.
assertEqual
(
str
(
w
[
-
1
].
message
),
'use_load_tests is deprecated and ignored'
)
self
.
assertIsInstance
(
suite
,
unittest
.
TestSuite
)
# load_tests was still called because use_load_tests is deprecated
# and ignored.
self
.
assertEqual
(
load_tests_args
,
[
loader
,
suite
,
None
])
# We got a warning.
self
.
assertIs
(
w
[
-
1
].
category
,
DeprecationWarning
)
self
.
assertEqual
(
str
(
w
[
-
1
].
message
),
'use_load_tests is deprecated and ignored'
)
@
warningregistry
def
test_loadTestsFromModule__too_many_positional_args
(
self
):
...
...
@@ -274,17 +275,18 @@ class Test_TestLoader(unittest.TestCase):
m
.
load_tests
=
load_tests
loader
=
unittest
.
TestLoader
()
with
self
.
assertRaises
(
TypeError
)
as
cm
,
\
warnings
.
catch_warning
(
record
=
True
)
as
w
:
warnings
.
catch_warnings
(
record
=
True
)
as
w
:
warnings
.
simplefilter
(
'always'
)
loader
.
loadTestsFromModule
(
m
,
False
,
'testme.*'
)
# We still got the deprecation warning.
self
.
assertIs
(
w
[
-
1
].
category
,
DeprecationWarning
)
self
.
assertEqual
(
str
(
w
[
-
1
].
message
),
'use_load_tests is deprecated and ignored'
)
# We also got a TypeError for too many positional arguments.
self
.
assertEqual
(
type
(
cm
.
exception
),
TypeError
)
self
.
assertEqual
(
str
(
cm
.
exception
),
'loadTestsFromModule() takes 1 positional argument but 3 were given'
)
# We still got the deprecation warning.
self
.
assertIs
(
w
[
-
1
].
category
,
DeprecationWarning
)
self
.
assertEqual
(
str
(
w
[
-
1
].
message
),
'use_load_tests is deprecated and ignored'
)
# We also got a TypeError for too many positional arguments.
self
.
assertEqual
(
type
(
cm
.
exception
),
TypeError
)
self
.
assertEqual
(
str
(
cm
.
exception
),
'loadTestsFromModule() takes 1 positional argument but 3 were given'
)
@
warningregistry
def
test_loadTestsFromModule__use_load_tests_other_bad_keyword
(
self
):
...
...
@@ -302,7 +304,7 @@ class Test_TestLoader(unittest.TestCase):
m
.
load_tests
=
load_tests
loader
=
unittest
.
TestLoader
()
with
warnings
.
catch_warnings
():
warnings
.
simplefilter
(
'
never
'
)
warnings
.
simplefilter
(
'
ignore
'
)
with
self
.
assertRaises
(
TypeError
)
as
cm
:
loader
.
loadTestsFromModule
(
m
,
use_load_tests
=
False
,
very_bad
=
True
,
worse
=
False
)
...
...
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