Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
2cebdd48
Kaydet (Commit)
2cebdd48
authored
Şub 20, 2011
tarafından
Georg Brandl
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Remove unittest methods scheduled for removal in 3.3 -- makes the unittest test suite pass again.
üst
fa2c61a2
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
9 additions
and
152 deletions
+9
-152
case.py
Lib/unittest/case.py
+5
-78
_test_warnings.py
Lib/unittest/test/_test_warnings.py
+1
-6
test_assertions.py
Lib/unittest/test/test_assertions.py
+0
-9
test_case.py
Lib/unittest/test/test_case.py
+0
-52
test_runner.py
Lib/unittest/test/test_runner.py
+3
-7
No files found.
Lib/unittest/case.py
Dosyayı görüntüle @
2cebdd48
...
@@ -938,77 +938,6 @@ class TestCase(object):
...
@@ -938,77 +938,6 @@ class TestCase(object):
standardMsg
=
self
.
_truncateMessage
(
standardMsg
,
diff
)
standardMsg
=
self
.
_truncateMessage
(
standardMsg
,
diff
)
self
.
fail
(
self
.
_formatMessage
(
msg
,
standardMsg
))
self
.
fail
(
self
.
_formatMessage
(
msg
,
standardMsg
))
def
assertDictContainsSubset
(
self
,
subset
,
dictionary
,
msg
=
None
):
"""Checks whether dictionary is a superset of subset."""
warnings
.
warn
(
'assertDictContainsSubset is deprecated'
,
DeprecationWarning
)
missing
=
[]
mismatched
=
[]
for
key
,
value
in
subset
.
items
():
if
key
not
in
dictionary
:
missing
.
append
(
key
)
elif
value
!=
dictionary
[
key
]:
mismatched
.
append
(
'
%
s, expected:
%
s, actual:
%
s'
%
(
safe_repr
(
key
),
safe_repr
(
value
),
safe_repr
(
dictionary
[
key
])))
if
not
(
missing
or
mismatched
):
return
standardMsg
=
''
if
missing
:
standardMsg
=
'Missing:
%
s'
%
','
.
join
(
safe_repr
(
m
)
for
m
in
missing
)
if
mismatched
:
if
standardMsg
:
standardMsg
+=
'; '
standardMsg
+=
'Mismatched values:
%
s'
%
','
.
join
(
mismatched
)
self
.
fail
(
self
.
_formatMessage
(
msg
,
standardMsg
))
def
assertSameElements
(
self
,
expected_seq
,
actual_seq
,
msg
=
None
):
"""An unordered sequence specific comparison.
Raises with an error message listing which elements of expected_seq
are missing from actual_seq and vice versa if any.
Duplicate elements are ignored when comparing *expected_seq* and
*actual_seq*. It is the equivalent of ``assertEqual(set(expected),
set(actual))`` but it works with sequences of unhashable objects as
well.
"""
warnings
.
warn
(
'assertSameElements is deprecated'
,
DeprecationWarning
)
try
:
expected
=
set
(
expected_seq
)
actual
=
set
(
actual_seq
)
missing
=
sorted
(
expected
.
difference
(
actual
))
unexpected
=
sorted
(
actual
.
difference
(
expected
))
except
TypeError
:
# Fall back to slower list-compare if any of the objects are
# not hashable.
expected
=
list
(
expected_seq
)
actual
=
list
(
actual_seq
)
try
:
expected
.
sort
()
actual
.
sort
()
except
TypeError
:
missing
,
unexpected
=
unorderable_list_difference
(
expected
,
actual
)
else
:
missing
,
unexpected
=
sorted_list_difference
(
expected
,
actual
)
errors
=
[]
if
missing
:
errors
.
append
(
'Expected, but missing:
\n
%
s'
%
safe_repr
(
missing
))
if
unexpected
:
errors
.
append
(
'Unexpected, but present:
\n
%
s'
%
safe_repr
(
unexpected
))
if
errors
:
standardMsg
=
'
\n
'
.
join
(
errors
)
self
.
fail
(
self
.
_formatMessage
(
msg
,
standardMsg
))
def
assertCountEqual
(
self
,
first
,
second
,
msg
=
None
):
def
assertCountEqual
(
self
,
first
,
second
,
msg
=
None
):
"""An unordered sequence comparison asserting that the same elements,
"""An unordered sequence comparison asserting that the same elements,
regardless of order. If the same element occurs more than once,
regardless of order. If the same element occurs more than once,
...
@@ -1183,13 +1112,11 @@ class TestCase(object):
...
@@ -1183,13 +1112,11 @@ class TestCase(object):
# The fail* methods can be removed in 3.3, the 5 assert* methods will
# The fail* methods can be removed in 3.3, the 5 assert* methods will
# have to stay around for a few more versions. See #9424.
# have to stay around for a few more versions. See #9424.
failUnlessEqual
=
assertEquals
=
_deprecate
(
assertEqual
)
assertEquals
=
_deprecate
(
assertEqual
)
failIfEqual
=
assertNotEquals
=
_deprecate
(
assertNotEqual
)
assertNotEquals
=
_deprecate
(
assertNotEqual
)
failUnlessAlmostEqual
=
assertAlmostEquals
=
_deprecate
(
assertAlmostEqual
)
assertAlmostEquals
=
_deprecate
(
assertAlmostEqual
)
failIfAlmostEqual
=
assertNotAlmostEquals
=
_deprecate
(
assertNotAlmostEqual
)
assertNotAlmostEquals
=
_deprecate
(
assertNotAlmostEqual
)
failUnless
=
assert_
=
_deprecate
(
assertTrue
)
assert_
=
_deprecate
(
assertTrue
)
failUnlessRaises
=
_deprecate
(
assertRaises
)
failIf
=
_deprecate
(
assertFalse
)
assertRaisesRegexp
=
_deprecate
(
assertRaisesRegex
)
assertRaisesRegexp
=
_deprecate
(
assertRaisesRegex
)
assertRegexpMatches
=
_deprecate
(
assertRegex
)
assertRegexpMatches
=
_deprecate
(
assertRegex
)
...
...
Lib/unittest/test/_test_warnings.py
Dosyayı görüntüle @
2cebdd48
...
@@ -19,17 +19,12 @@ def warnfun():
...
@@ -19,17 +19,12 @@ def warnfun():
warnings
.
warn
(
'rw'
,
RuntimeWarning
)
warnings
.
warn
(
'rw'
,
RuntimeWarning
)
class
TestWarnings
(
unittest
.
TestCase
):
class
TestWarnings
(
unittest
.
TestCase
):
# unittest warnings will be printed at most once per type (max one message
# unittest warnings will be printed at most once per type
# for the fail* methods, and one for the assert* methods)
def
test_assert
(
self
):
def
test_assert
(
self
):
self
.
assertEquals
(
2
+
2
,
4
)
self
.
assertEquals
(
2
+
2
,
4
)
self
.
assertEquals
(
2
*
2
,
4
)
self
.
assertEquals
(
2
*
2
,
4
)
self
.
assertEquals
(
2
**
2
,
4
)
self
.
assertEquals
(
2
**
2
,
4
)
def
test_fail
(
self
):
self
.
failUnless
(
1
)
self
.
failUnless
(
True
)
def
test_other_unittest
(
self
):
def
test_other_unittest
(
self
):
self
.
assertAlmostEqual
(
2
+
2
,
4
)
self
.
assertAlmostEqual
(
2
+
2
,
4
)
self
.
assertNotAlmostEqual
(
4
+
4
,
2
)
self
.
assertNotAlmostEqual
(
4
+
4
,
2
)
...
...
Lib/unittest/test/test_assertions.py
Dosyayı görüntüle @
2cebdd48
...
@@ -223,15 +223,6 @@ class TestLongMessage(unittest.TestCase):
...
@@ -223,15 +223,6 @@ class TestLongMessage(unittest.TestCase):
"
\
+
\
{'key': 'value'
\
}$"
,
"
\
+
\
{'key': 'value'
\
}$"
,
"
\
+
\
{'key': 'value'
\
} : oops$"
])
"
\
+
\
{'key': 'value'
\
} : oops$"
])
def
testAssertDictContainsSubset
(
self
):
with
warnings
.
catch_warnings
():
warnings
.
simplefilter
(
"ignore"
,
DeprecationWarning
)
self
.
assertMessages
(
'assertDictContainsSubset'
,
({
'key'
:
'value'
},
{}),
[
"^Missing: 'key'$"
,
"^oops$"
,
"^Missing: 'key'$"
,
"^Missing: 'key' : oops$"
])
def
testAssertMultiLineEqual
(
self
):
def
testAssertMultiLineEqual
(
self
):
self
.
assertMessages
(
'assertMultiLineEqual'
,
(
""
,
"foo"
),
self
.
assertMessages
(
'assertMultiLineEqual'
,
(
""
,
"foo"
),
[
r"\+ foo$"
,
"^oops$"
,
[
r"\+ foo$"
,
"^oops$"
,
...
...
Lib/unittest/test/test_case.py
Dosyayı görüntüle @
2cebdd48
...
@@ -488,36 +488,6 @@ class Test_TestCase(unittest.TestCase, TestEquality, TestHashing):
...
@@ -488,36 +488,6 @@ class Test_TestCase(unittest.TestCase, TestEquality, TestHashing):
self
.
assertRaises
(
self
.
failureException
,
self
.
assertNotIn
,
'cow'
,
self
.
assertRaises
(
self
.
failureException
,
self
.
assertNotIn
,
'cow'
,
animals
)
animals
)
def
testAssertDictContainsSubset
(
self
):
with
warnings
.
catch_warnings
():
warnings
.
simplefilter
(
"ignore"
,
DeprecationWarning
)
self
.
assertDictContainsSubset
({},
{})
self
.
assertDictContainsSubset
({},
{
'a'
:
1
})
self
.
assertDictContainsSubset
({
'a'
:
1
},
{
'a'
:
1
})
self
.
assertDictContainsSubset
({
'a'
:
1
},
{
'a'
:
1
,
'b'
:
2
})
self
.
assertDictContainsSubset
({
'a'
:
1
,
'b'
:
2
},
{
'a'
:
1
,
'b'
:
2
})
with
self
.
assertRaises
(
self
.
failureException
):
self
.
assertDictContainsSubset
({
1
:
"one"
},
{})
with
self
.
assertRaises
(
self
.
failureException
):
self
.
assertDictContainsSubset
({
'a'
:
2
},
{
'a'
:
1
})
with
self
.
assertRaises
(
self
.
failureException
):
self
.
assertDictContainsSubset
({
'c'
:
1
},
{
'a'
:
1
})
with
self
.
assertRaises
(
self
.
failureException
):
self
.
assertDictContainsSubset
({
'a'
:
1
,
'c'
:
1
},
{
'a'
:
1
})
with
self
.
assertRaises
(
self
.
failureException
):
self
.
assertDictContainsSubset
({
'a'
:
1
,
'c'
:
1
},
{
'a'
:
1
})
one
=
''
.
join
(
chr
(
i
)
for
i
in
range
(
255
))
# this used to cause a UnicodeDecodeError constructing the failure msg
with
self
.
assertRaises
(
self
.
failureException
):
self
.
assertDictContainsSubset
({
'foo'
:
one
},
{
'foo'
:
'
\uFFFD
'
})
def
testAssertEqual
(
self
):
def
testAssertEqual
(
self
):
equal_pairs
=
[
equal_pairs
=
[
((),
()),
((),
()),
...
@@ -1094,20 +1064,11 @@ test case
...
@@ -1094,20 +1064,11 @@ test case
have to stay around for a few more versions. See #9424.
have to stay around for a few more versions. See #9424.
"""
"""
old
=
(
old
=
(
(
self
.
failIfEqual
,
(
3
,
5
)),
(
self
.
assertNotEquals
,
(
3
,
5
)),
(
self
.
assertNotEquals
,
(
3
,
5
)),
(
self
.
failUnlessEqual
,
(
3
,
3
)),
(
self
.
assertEquals
,
(
3
,
3
)),
(
self
.
assertEquals
,
(
3
,
3
)),
(
self
.
failUnlessAlmostEqual
,
(
2.0
,
2.0
)),
(
self
.
assertAlmostEquals
,
(
2.0
,
2.0
)),
(
self
.
assertAlmostEquals
,
(
2.0
,
2.0
)),
(
self
.
failIfAlmostEqual
,
(
3.0
,
5.0
)),
(
self
.
assertNotAlmostEquals
,
(
3.0
,
5.0
)),
(
self
.
assertNotAlmostEquals
,
(
3.0
,
5.0
)),
(
self
.
failUnless
,
(
True
,)),
(
self
.
assert_
,
(
True
,)),
(
self
.
assert_
,
(
True
,)),
(
self
.
failUnlessRaises
,
(
TypeError
,
lambda
_
:
3.14
+
'spam'
)),
(
self
.
failIf
,
(
False
,)),
(
self
.
assertSameElements
,
([
1
,
1
,
2
,
3
],
[
1
,
2
,
3
])),
(
self
.
assertDictContainsSubset
,
(
dict
(
a
=
1
,
b
=
2
),
dict
(
a
=
1
,
b
=
2
,
c
=
3
))),
(
self
.
assertRaisesRegexp
,
(
KeyError
,
'foo'
,
lambda
:
{}[
'foo'
])),
(
self
.
assertRaisesRegexp
,
(
KeyError
,
'foo'
,
lambda
:
{}[
'foo'
])),
(
self
.
assertRegexpMatches
,
(
'bar'
,
'bar'
)),
(
self
.
assertRegexpMatches
,
(
'bar'
,
'bar'
)),
)
)
...
@@ -1115,19 +1076,6 @@ test case
...
@@ -1115,19 +1076,6 @@ test case
with
self
.
assertWarns
(
DeprecationWarning
):
with
self
.
assertWarns
(
DeprecationWarning
):
meth
(
*
args
)
meth
(
*
args
)
def
testDeprecatedFailMethods
(
self
):
"""Test that the deprecated fail* methods get removed in 3.3"""
if
sys
.
version_info
[:
2
]
<
(
3
,
3
):
return
deprecated_names
=
[
'failIfEqual'
,
'failUnlessEqual'
,
'failUnlessAlmostEqual'
,
'failIfAlmostEqual'
,
'failUnless'
,
'failUnlessRaises'
,
'failIf'
,
'assertSameElements'
,
'assertDictContainsSubset'
,
]
for
deprecated_name
in
deprecated_names
:
with
self
.
assertRaises
(
AttributeError
):
getattr
(
self
,
deprecated_name
)
# remove these in 3.3
def
testDeepcopy
(
self
):
def
testDeepcopy
(
self
):
# Issue: 5660
# Issue: 5660
class
TestableTest
(
unittest
.
TestCase
):
class
TestableTest
(
unittest
.
TestCase
):
...
...
Lib/unittest/test/test_runner.py
Dosyayı görüntüle @
2cebdd48
...
@@ -257,19 +257,17 @@ class Test_TextTestRunner(unittest.TestCase):
...
@@ -257,19 +257,17 @@ class Test_TextTestRunner(unittest.TestCase):
return
[
b
.
splitlines
()
for
b
in
p
.
communicate
()]
return
[
b
.
splitlines
()
for
b
in
p
.
communicate
()]
opts
=
dict
(
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
,
opts
=
dict
(
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
,
cwd
=
os
.
path
.
dirname
(
__file__
))
cwd
=
os
.
path
.
dirname
(
__file__
))
ae_msg
=
b
'Please use assertEqual instead.'
at_msg
=
b
'Please use assertTrue instead.'
# no args -> all the warnings are printed, unittest warnings only once
# no args -> all the warnings are printed, unittest warnings only once
p
=
subprocess
.
Popen
([
sys
.
executable
,
'_test_warnings.py'
],
**
opts
)
p
=
subprocess
.
Popen
([
sys
.
executable
,
'_test_warnings.py'
],
**
opts
)
out
,
err
=
get_parse_out_err
(
p
)
out
,
err
=
get_parse_out_err
(
p
)
self
.
assertIn
(
b
'OK'
,
err
)
self
.
assertIn
(
b
'OK'
,
err
)
# check that the total number of warnings in the output is correct
# check that the total number of warnings in the output is correct
self
.
assertEqual
(
len
(
out
),
1
2
)
self
.
assertEqual
(
len
(
out
),
1
1
)
# check that the numbers of the different kind of warnings is correct
# check that the numbers of the different kind of warnings is correct
for
msg
in
[
b
'dw'
,
b
'iw'
,
b
'uw'
]:
for
msg
in
[
b
'dw'
,
b
'iw'
,
b
'uw'
]:
self
.
assertEqual
(
out
.
count
(
msg
),
3
)
self
.
assertEqual
(
out
.
count
(
msg
),
3
)
for
msg
in
[
ae_msg
,
at_msg
,
b
'rw'
]:
for
msg
in
[
b
'rw'
]:
self
.
assertEqual
(
out
.
count
(
msg
),
1
)
self
.
assertEqual
(
out
.
count
(
msg
),
1
)
args_list
=
(
args_list
=
(
...
@@ -294,11 +292,9 @@ class Test_TextTestRunner(unittest.TestCase):
...
@@ -294,11 +292,9 @@ class Test_TextTestRunner(unittest.TestCase):
**
opts
)
**
opts
)
out
,
err
=
get_parse_out_err
(
p
)
out
,
err
=
get_parse_out_err
(
p
)
self
.
assertIn
(
b
'OK'
,
err
)
self
.
assertIn
(
b
'OK'
,
err
)
self
.
assertEqual
(
len
(
out
),
1
4
)
self
.
assertEqual
(
len
(
out
),
1
3
)
for
msg
in
[
b
'dw'
,
b
'iw'
,
b
'uw'
,
b
'rw'
]:
for
msg
in
[
b
'dw'
,
b
'iw'
,
b
'uw'
,
b
'rw'
]:
self
.
assertEqual
(
out
.
count
(
msg
),
3
)
self
.
assertEqual
(
out
.
count
(
msg
),
3
)
for
msg
in
[
ae_msg
,
at_msg
]:
self
.
assertEqual
(
out
.
count
(
msg
),
1
)
def
testStdErrLookedUpAtInstantiationTime
(
self
):
def
testStdErrLookedUpAtInstantiationTime
(
self
):
# see issue 10786
# see issue 10786
...
...
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