mirror of
https://github.com/python/cpython.git
synced 2025-08-29 05:05:03 +00:00
Changed doctest to run tests in alphabetic order of name.
This makes verbose-mode output easier to dig thru, and removes an accidental dependence on the order of dict.items() (made visible by recent changes to dictobject.c).
This commit is contained in:
parent
c392b570db
commit
24a4191160
3 changed files with 128 additions and 118 deletions
|
@ -813,7 +813,12 @@ see its docs for details.
|
||||||
raise TypeError("Tester.rundict: d must support .items(); " +
|
raise TypeError("Tester.rundict: d must support .items(); " +
|
||||||
`d`)
|
`d`)
|
||||||
f = t = 0
|
f = t = 0
|
||||||
for thisname, value in d.items():
|
# Run the tests by alpha order of names, for consistency in
|
||||||
|
# verbose-mode output.
|
||||||
|
names = d.keys()
|
||||||
|
names.sort()
|
||||||
|
for thisname in names:
|
||||||
|
value = d[thisname]
|
||||||
if type(value) in (_FunctionType, _ClassType):
|
if type(value) in (_FunctionType, _ClassType):
|
||||||
f2, t2 = self.__runone(value, name + "." + thisname)
|
f2, t2 = self.__runone(value, name + "." + thisname)
|
||||||
f = f + f2
|
f = f + f2
|
||||||
|
@ -832,7 +837,12 @@ see its docs for details.
|
||||||
savepvt = self.isprivate
|
savepvt = self.isprivate
|
||||||
try:
|
try:
|
||||||
self.isprivate = lambda *args: 0
|
self.isprivate = lambda *args: 0
|
||||||
for k, v in d.items():
|
# Run the tests by alpha order of names, for consistency in
|
||||||
|
# verbose-mode output.
|
||||||
|
keys = d.keys()
|
||||||
|
keys.sort()
|
||||||
|
for k in keys:
|
||||||
|
v = d[k]
|
||||||
thisname = prefix + k
|
thisname = prefix + k
|
||||||
if type(v) is _StringType:
|
if type(v) is _StringType:
|
||||||
f, t = self.runstring(v, thisname)
|
f, t = self.runstring(v, thisname)
|
||||||
|
|
|
@ -156,6 +156,14 @@ Trying: s.find_longest_match(0, 2, 0, 1)
|
||||||
Expecting: (0, 0, 0)
|
Expecting: (0, 0, 0)
|
||||||
ok
|
ok
|
||||||
0 of 6 examples failed in difflib.SequenceMatcher.find_longest_match.__doc__
|
0 of 6 examples failed in difflib.SequenceMatcher.find_longest_match.__doc__
|
||||||
|
Running difflib.SequenceMatcher.get_matching_blocks.__doc__
|
||||||
|
Trying: s = SequenceMatcher(None, "abxcd", "abcd")
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: s.get_matching_blocks()
|
||||||
|
Expecting: [(0, 0, 2), (3, 2, 2), (5, 4, 0)]
|
||||||
|
ok
|
||||||
|
0 of 2 examples failed in difflib.SequenceMatcher.get_matching_blocks.__doc__
|
||||||
Running difflib.SequenceMatcher.get_opcodes.__doc__
|
Running difflib.SequenceMatcher.get_opcodes.__doc__
|
||||||
Trying: a = "qabxcd"
|
Trying: a = "qabxcd"
|
||||||
Expecting: nothing
|
Expecting: nothing
|
||||||
|
@ -180,55 +188,6 @@ ok
|
||||||
0 of 4 examples failed in difflib.SequenceMatcher.get_opcodes.__doc__
|
0 of 4 examples failed in difflib.SequenceMatcher.get_opcodes.__doc__
|
||||||
Running difflib.SequenceMatcher.quick_ratio.__doc__
|
Running difflib.SequenceMatcher.quick_ratio.__doc__
|
||||||
0 of 0 examples failed in difflib.SequenceMatcher.quick_ratio.__doc__
|
0 of 0 examples failed in difflib.SequenceMatcher.quick_ratio.__doc__
|
||||||
Running difflib.SequenceMatcher.set_seqs.__doc__
|
|
||||||
Trying: s = SequenceMatcher()
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: s.set_seqs("abcd", "bcde")
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: s.ratio()
|
|
||||||
Expecting: 0.75
|
|
||||||
ok
|
|
||||||
0 of 3 examples failed in difflib.SequenceMatcher.set_seqs.__doc__
|
|
||||||
Running difflib.SequenceMatcher.set_seq2.__doc__
|
|
||||||
Trying: s = SequenceMatcher(None, "abcd", "bcde")
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: s.ratio()
|
|
||||||
Expecting: 0.75
|
|
||||||
ok
|
|
||||||
Trying: s.set_seq2("abcd")
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: s.ratio()
|
|
||||||
Expecting: 1.0
|
|
||||||
ok
|
|
||||||
0 of 4 examples failed in difflib.SequenceMatcher.set_seq2.__doc__
|
|
||||||
Running difflib.SequenceMatcher.set_seq1.__doc__
|
|
||||||
Trying: s = SequenceMatcher(None, "abcd", "bcde")
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: s.ratio()
|
|
||||||
Expecting: 0.75
|
|
||||||
ok
|
|
||||||
Trying: s.set_seq1("bcde")
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: s.ratio()
|
|
||||||
Expecting: 1.0
|
|
||||||
ok
|
|
||||||
0 of 4 examples failed in difflib.SequenceMatcher.set_seq1.__doc__
|
|
||||||
Running difflib.SequenceMatcher.get_matching_blocks.__doc__
|
|
||||||
Trying: s = SequenceMatcher(None, "abxcd", "abcd")
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: s.get_matching_blocks()
|
|
||||||
Expecting: [(0, 0, 2), (3, 2, 2), (5, 4, 0)]
|
|
||||||
ok
|
|
||||||
0 of 2 examples failed in difflib.SequenceMatcher.get_matching_blocks.__doc__
|
|
||||||
Running difflib.SequenceMatcher.real_quick_ratio.__doc__
|
|
||||||
0 of 0 examples failed in difflib.SequenceMatcher.real_quick_ratio.__doc__
|
|
||||||
Running difflib.SequenceMatcher.ratio.__doc__
|
Running difflib.SequenceMatcher.ratio.__doc__
|
||||||
Trying: s = SequenceMatcher(None, "abcd", "bcde")
|
Trying: s = SequenceMatcher(None, "abcd", "bcde")
|
||||||
Expecting: nothing
|
Expecting: nothing
|
||||||
|
@ -243,6 +202,47 @@ Trying: s.real_quick_ratio()
|
||||||
Expecting: 1.0
|
Expecting: 1.0
|
||||||
ok
|
ok
|
||||||
0 of 4 examples failed in difflib.SequenceMatcher.ratio.__doc__
|
0 of 4 examples failed in difflib.SequenceMatcher.ratio.__doc__
|
||||||
|
Running difflib.SequenceMatcher.real_quick_ratio.__doc__
|
||||||
|
0 of 0 examples failed in difflib.SequenceMatcher.real_quick_ratio.__doc__
|
||||||
|
Running difflib.SequenceMatcher.set_seq1.__doc__
|
||||||
|
Trying: s = SequenceMatcher(None, "abcd", "bcde")
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: s.ratio()
|
||||||
|
Expecting: 0.75
|
||||||
|
ok
|
||||||
|
Trying: s.set_seq1("bcde")
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: s.ratio()
|
||||||
|
Expecting: 1.0
|
||||||
|
ok
|
||||||
|
0 of 4 examples failed in difflib.SequenceMatcher.set_seq1.__doc__
|
||||||
|
Running difflib.SequenceMatcher.set_seq2.__doc__
|
||||||
|
Trying: s = SequenceMatcher(None, "abcd", "bcde")
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: s.ratio()
|
||||||
|
Expecting: 0.75
|
||||||
|
ok
|
||||||
|
Trying: s.set_seq2("abcd")
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: s.ratio()
|
||||||
|
Expecting: 1.0
|
||||||
|
ok
|
||||||
|
0 of 4 examples failed in difflib.SequenceMatcher.set_seq2.__doc__
|
||||||
|
Running difflib.SequenceMatcher.set_seqs.__doc__
|
||||||
|
Trying: s = SequenceMatcher()
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: s.set_seqs("abcd", "bcde")
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: s.ratio()
|
||||||
|
Expecting: 0.75
|
||||||
|
ok
|
||||||
|
0 of 3 examples failed in difflib.SequenceMatcher.set_seqs.__doc__
|
||||||
Running difflib.get_close_matches.__doc__
|
Running difflib.get_close_matches.__doc__
|
||||||
Trying: get_close_matches("appel", ["ape", "apple", "peach", "puppy"])
|
Trying: get_close_matches("appel", ["ape", "apple", "peach", "puppy"])
|
||||||
Expecting: ['apple', 'ape']
|
Expecting: ['apple', 'ape']
|
||||||
|
|
|
@ -88,65 +88,6 @@ ok
|
||||||
0 of 6 examples failed in doctest.Tester.__doc__
|
0 of 6 examples failed in doctest.Tester.__doc__
|
||||||
Running doctest.Tester.__init__.__doc__
|
Running doctest.Tester.__init__.__doc__
|
||||||
0 of 0 examples failed in doctest.Tester.__init__.__doc__
|
0 of 0 examples failed in doctest.Tester.__init__.__doc__
|
||||||
Running doctest.Tester.run__test__.__doc__
|
|
||||||
0 of 0 examples failed in doctest.Tester.run__test__.__doc__
|
|
||||||
Running doctest.Tester.runstring.__doc__
|
|
||||||
Trying: t = Tester(globs={}, verbose=1)
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying:
|
|
||||||
test = r'''
|
|
||||||
# just an example
|
|
||||||
>>> x = 1 + 2
|
|
||||||
>>> x
|
|
||||||
3
|
|
||||||
'''
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: t.runstring(test, "Example")
|
|
||||||
Expecting:
|
|
||||||
Running string Example
|
|
||||||
Trying: x = 1 + 2
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: x
|
|
||||||
Expecting: 3
|
|
||||||
ok
|
|
||||||
0 of 2 examples failed in string Example
|
|
||||||
(0, 2)
|
|
||||||
ok
|
|
||||||
0 of 3 examples failed in doctest.Tester.runstring.__doc__
|
|
||||||
Running doctest.Tester.summarize.__doc__
|
|
||||||
0 of 0 examples failed in doctest.Tester.summarize.__doc__
|
|
||||||
Running doctest.Tester.rundict.__doc__
|
|
||||||
Trying:
|
|
||||||
def _f():
|
|
||||||
'''>>> assert 1 == 1
|
|
||||||
'''
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying:
|
|
||||||
def g():
|
|
||||||
'''>>> assert 2 != 1
|
|
||||||
'''
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: d = {"_f": _f, "g": g}
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: t = Tester(globs={}, verbose=0)
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: t.rundict(d, "rundict_test") # _f is skipped
|
|
||||||
Expecting: (0, 1)
|
|
||||||
ok
|
|
||||||
Trying: t = Tester(globs={}, verbose=0, isprivate=lambda x,y: 0)
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: t.rundict(d, "rundict_test_pvt") # both are searched
|
|
||||||
Expecting: (0, 2)
|
|
||||||
ok
|
|
||||||
0 of 7 examples failed in doctest.Tester.rundict.__doc__
|
|
||||||
Running doctest.Tester.merge.__doc__
|
Running doctest.Tester.merge.__doc__
|
||||||
Trying: from doctest import Tester
|
Trying: from doctest import Tester
|
||||||
Expecting: nothing
|
Expecting: nothing
|
||||||
|
@ -197,6 +138,37 @@ Test passed.
|
||||||
(0, 6)
|
(0, 6)
|
||||||
ok
|
ok
|
||||||
0 of 10 examples failed in doctest.Tester.merge.__doc__
|
0 of 10 examples failed in doctest.Tester.merge.__doc__
|
||||||
|
Running doctest.Tester.run__test__.__doc__
|
||||||
|
0 of 0 examples failed in doctest.Tester.run__test__.__doc__
|
||||||
|
Running doctest.Tester.rundict.__doc__
|
||||||
|
Trying:
|
||||||
|
def _f():
|
||||||
|
'''>>> assert 1 == 1
|
||||||
|
'''
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
def g():
|
||||||
|
'''>>> assert 2 != 1
|
||||||
|
'''
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: d = {"_f": _f, "g": g}
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t = Tester(globs={}, verbose=0)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t.rundict(d, "rundict_test") # _f is skipped
|
||||||
|
Expecting: (0, 1)
|
||||||
|
ok
|
||||||
|
Trying: t = Tester(globs={}, verbose=0, isprivate=lambda x,y: 0)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t.rundict(d, "rundict_test_pvt") # both are searched
|
||||||
|
Expecting: (0, 2)
|
||||||
|
ok
|
||||||
|
0 of 7 examples failed in doctest.Tester.rundict.__doc__
|
||||||
Running doctest.Tester.rundoc.__doc__
|
Running doctest.Tester.rundoc.__doc__
|
||||||
Trying: t = Tester(globs={}, verbose=0)
|
Trying: t = Tester(globs={}, verbose=0)
|
||||||
Expecting: nothing
|
Expecting: nothing
|
||||||
|
@ -213,6 +185,34 @@ Trying: t.rundoc(_f) # expect 0 failures in 1 example
|
||||||
Expecting: (0, 1)
|
Expecting: (0, 1)
|
||||||
ok
|
ok
|
||||||
0 of 3 examples failed in doctest.Tester.rundoc.__doc__
|
0 of 3 examples failed in doctest.Tester.rundoc.__doc__
|
||||||
|
Running doctest.Tester.runstring.__doc__
|
||||||
|
Trying: t = Tester(globs={}, verbose=1)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying:
|
||||||
|
test = r'''
|
||||||
|
# just an example
|
||||||
|
>>> x = 1 + 2
|
||||||
|
>>> x
|
||||||
|
3
|
||||||
|
'''
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: t.runstring(test, "Example")
|
||||||
|
Expecting:
|
||||||
|
Running string Example
|
||||||
|
Trying: x = 1 + 2
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: x
|
||||||
|
Expecting: 3
|
||||||
|
ok
|
||||||
|
0 of 2 examples failed in string Example
|
||||||
|
(0, 2)
|
||||||
|
ok
|
||||||
|
0 of 3 examples failed in doctest.Tester.runstring.__doc__
|
||||||
|
Running doctest.Tester.summarize.__doc__
|
||||||
|
0 of 0 examples failed in doctest.Tester.summarize.__doc__
|
||||||
Running doctest.is_private.__doc__
|
Running doctest.is_private.__doc__
|
||||||
Trying: is_private("a.b", "my_func")
|
Trying: is_private("a.b", "my_func")
|
||||||
Expecting: 0
|
Expecting: 0
|
||||||
|
@ -248,14 +248,6 @@ Trying: hex(_TestClass(13).square().get())
|
||||||
Expecting: '0xa9'
|
Expecting: '0xa9'
|
||||||
ok
|
ok
|
||||||
0 of 2 examples failed in doctest.__test__._TestClass.__doc__
|
0 of 2 examples failed in doctest.__test__._TestClass.__doc__
|
||||||
Running doctest.__test__._TestClass.get.__doc__
|
|
||||||
Trying: x = _TestClass(-42)
|
|
||||||
Expecting: nothing
|
|
||||||
ok
|
|
||||||
Trying: print x.get()
|
|
||||||
Expecting: -42
|
|
||||||
ok
|
|
||||||
0 of 2 examples failed in doctest.__test__._TestClass.get.__doc__
|
|
||||||
Running doctest.__test__._TestClass.__init__.__doc__
|
Running doctest.__test__._TestClass.__init__.__doc__
|
||||||
Trying: t = _TestClass(123)
|
Trying: t = _TestClass(123)
|
||||||
Expecting: nothing
|
Expecting: nothing
|
||||||
|
@ -264,6 +256,14 @@ Trying: print t.get()
|
||||||
Expecting: 123
|
Expecting: 123
|
||||||
ok
|
ok
|
||||||
0 of 2 examples failed in doctest.__test__._TestClass.__init__.__doc__
|
0 of 2 examples failed in doctest.__test__._TestClass.__init__.__doc__
|
||||||
|
Running doctest.__test__._TestClass.get.__doc__
|
||||||
|
Trying: x = _TestClass(-42)
|
||||||
|
Expecting: nothing
|
||||||
|
ok
|
||||||
|
Trying: print x.get()
|
||||||
|
Expecting: -42
|
||||||
|
ok
|
||||||
|
0 of 2 examples failed in doctest.__test__._TestClass.get.__doc__
|
||||||
Running doctest.__test__._TestClass.square.__doc__
|
Running doctest.__test__._TestClass.square.__doc__
|
||||||
Trying: _TestClass(13).square().get()
|
Trying: _TestClass(13).square().get()
|
||||||
Expecting: 169
|
Expecting: 169
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue