Skip to content

Commit 609dbb1

Browse files
Downgraded skips in tests (#6716)
* Downgraded skips in tests * Fixed failing tests * Fixed test_ftplib + test_socket + test_ssl + test_threaded_import failures * Removed comments about which tests are run in which environment * Addressed PR comments * Annotated skips on failing tests * Removed unneeded tests * Removed unneeded sys import from test_ftplib * Added annotation to test_ftplib * Readded skipIf to test_cleanup_with_symlink_modes with a more general ENV_POLLUTING_TESTS_WINDOWS * Addressed PR comments * Made changes to minimize diff in PR * Apply suggestion from @youknowone --------- Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com>
1 parent 3a702ac commit 609dbb1

27 files changed

+66
-107
lines changed

Lib/test/test_ast/test_ast.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2396,7 +2396,7 @@ def test_stdlib_validates(self):
23962396
ast.MatchMapping([], [], rest="_"),
23972397
]
23982398

2399-
@unittest.skip("TODO: RUSTPYTHON; thread 'main' panicked")
2399+
@unittest.expectedFailure # TODO: RUSTPYTHON
24002400
def test_match_validation_pattern(self):
24012401
name_x = ast.Name("x", ast.Load())
24022402
for pattern in self._MATCH_PATTERNS:

Lib/test/test_bdb.py

Lines changed: 33 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ def fail(self, msg=None):
590590
class StateTestCase(BaseTestCase):
591591
"""Test the step, next, return, until and quit 'set_' methods."""
592592

593-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
593+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
594594
def test_step(self):
595595
self.expect_set = [
596596
('line', 2, 'tfunc_main'), ('step', ),
@@ -601,7 +601,7 @@ def test_step(self):
601601
with TracerRun(self) as tracer:
602602
tracer.runcall(tfunc_main)
603603

604-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
604+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
605605
def test_step_next_on_last_statement(self):
606606
for set_type in ('step', 'next'):
607607
with self.subTest(set_type=set_type):
@@ -616,8 +616,7 @@ def test_step_next_on_last_statement(self):
616616
with TracerRun(self) as tracer:
617617
tracer.runcall(tfunc_main)
618618

619-
@unittest.skip('TODO: RUSTPYTHON')
620-
# AssertionError: All paired tuples have not been processed, the last one was number 1 [('next',), ('quit',)]
619+
@unittest.expectedFailure # TODO: RUSTPYTHON; AssertionError: All paired tuples have not been processed, the last one was number 1 [('next',), ('quit',)]
621620
def test_stepinstr(self):
622621
self.expect_set = [
623622
('line', 2, 'tfunc_main'), ('stepinstr', ),
@@ -627,7 +626,7 @@ def test_stepinstr(self):
627626
with TracerRun(self) as tracer:
628627
tracer.runcall(tfunc_main)
629628

630-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
629+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
631630
def test_next(self):
632631
self.expect_set = [
633632
('line', 2, 'tfunc_main'), ('step', ),
@@ -639,7 +638,7 @@ def test_next(self):
639638
with TracerRun(self) as tracer:
640639
tracer.runcall(tfunc_main)
641640

642-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
641+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
643642
def test_next_over_import(self):
644643
code = """
645644
def main():
@@ -654,7 +653,7 @@ def main():
654653
with TracerRun(self) as tracer:
655654
tracer.runcall(tfunc_import)
656655

657-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
656+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
658657
def test_next_on_plain_statement(self):
659658
# Check that set_next() is equivalent to set_step() on a plain
660659
# statement.
@@ -667,7 +666,7 @@ def test_next_on_plain_statement(self):
667666
with TracerRun(self) as tracer:
668667
tracer.runcall(tfunc_main)
669668

670-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
669+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
671670
def test_next_in_caller_frame(self):
672671
# Check that set_next() in the caller frame causes the tracer
673672
# to stop next in the caller frame.
@@ -681,7 +680,7 @@ def test_next_in_caller_frame(self):
681680
with TracerRun(self) as tracer:
682681
tracer.runcall(tfunc_main)
683682

684-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
683+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
685684
def test_return(self):
686685
self.expect_set = [
687686
('line', 2, 'tfunc_main'), ('step', ),
@@ -694,7 +693,7 @@ def test_return(self):
694693
with TracerRun(self) as tracer:
695694
tracer.runcall(tfunc_main)
696695

697-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
696+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
698697
def test_return_in_caller_frame(self):
699698
self.expect_set = [
700699
('line', 2, 'tfunc_main'), ('step', ),
@@ -706,7 +705,7 @@ def test_return_in_caller_frame(self):
706705
with TracerRun(self) as tracer:
707706
tracer.runcall(tfunc_main)
708707

709-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
708+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
710709
def test_until(self):
711710
self.expect_set = [
712711
('line', 2, 'tfunc_main'), ('step', ),
@@ -718,7 +717,7 @@ def test_until(self):
718717
with TracerRun(self) as tracer:
719718
tracer.runcall(tfunc_main)
720719

721-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
720+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
722721
def test_until_with_too_large_count(self):
723722
self.expect_set = [
724723
('line', 2, 'tfunc_main'), break_in_func('tfunc_first'),
@@ -729,7 +728,7 @@ def test_until_with_too_large_count(self):
729728
with TracerRun(self) as tracer:
730729
tracer.runcall(tfunc_main)
731730

732-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
731+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
733732
def test_until_in_caller_frame(self):
734733
self.expect_set = [
735734
('line', 2, 'tfunc_main'), ('step', ),
@@ -741,7 +740,7 @@ def test_until_in_caller_frame(self):
741740
with TracerRun(self) as tracer:
742741
tracer.runcall(tfunc_main)
743742

744-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
743+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
745744
@patch_list(sys.meta_path)
746745
def test_skip(self):
747746
# Check that tracing is skipped over the import statement in
@@ -775,7 +774,7 @@ def test_skip_with_no_name_module(self):
775774
bdb = Bdb(skip=['anything*'])
776775
self.assertIs(bdb.is_skipped_module(None), False)
777776

778-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
777+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
779778
def test_down(self):
780779
# Check that set_down() raises BdbError at the newest frame.
781780
self.expect_set = [
@@ -784,7 +783,7 @@ def test_down(self):
784783
with TracerRun(self) as tracer:
785784
self.assertRaises(BdbError, tracer.runcall, tfunc_main)
786785

787-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
786+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
788787
def test_up(self):
789788
self.expect_set = [
790789
('line', 2, 'tfunc_main'), ('step', ),
@@ -798,15 +797,15 @@ def test_up(self):
798797
class BreakpointTestCase(BaseTestCase):
799798
"""Test the breakpoint set method."""
800799

801-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
800+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
802801
def test_bp_on_non_existent_module(self):
803802
self.expect_set = [
804803
('line', 2, 'tfunc_import'), ('break', ('/non/existent/module.py', 1))
805804
]
806805
with TracerRun(self) as tracer:
807806
self.assertRaises(BdbError, tracer.runcall, tfunc_import)
808807

809-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
808+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
810809
def test_bp_after_last_statement(self):
811810
code = """
812811
def main():
@@ -820,7 +819,7 @@ def main():
820819
with TracerRun(self) as tracer:
821820
self.assertRaises(BdbError, tracer.runcall, tfunc_import)
822821

823-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
822+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
824823
def test_temporary_bp(self):
825824
code = """
826825
def func():
@@ -844,7 +843,7 @@ def main():
844843
with TracerRun(self) as tracer:
845844
tracer.runcall(tfunc_import)
846845

847-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
846+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
848847
def test_disabled_temporary_bp(self):
849848
code = """
850849
def func():
@@ -873,7 +872,7 @@ def main():
873872
with TracerRun(self) as tracer:
874873
tracer.runcall(tfunc_import)
875874

876-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
875+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
877876
def test_bp_condition(self):
878877
code = """
879878
def func(a):
@@ -894,7 +893,7 @@ def main():
894893
with TracerRun(self) as tracer:
895894
tracer.runcall(tfunc_import)
896895

897-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
896+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
898897
def test_bp_exception_on_condition_evaluation(self):
899898
code = """
900899
def func(a):
@@ -914,7 +913,7 @@ def main():
914913
with TracerRun(self) as tracer:
915914
tracer.runcall(tfunc_import)
916915

917-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
916+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
918917
def test_bp_ignore_count(self):
919918
code = """
920919
def func():
@@ -936,7 +935,7 @@ def main():
936935
with TracerRun(self) as tracer:
937936
tracer.runcall(tfunc_import)
938937

939-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
938+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
940939
def test_ignore_count_on_disabled_bp(self):
941940
code = """
942941
def func():
@@ -964,7 +963,7 @@ def main():
964963
with TracerRun(self) as tracer:
965964
tracer.runcall(tfunc_import)
966965

967-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
966+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
968967
def test_clear_two_bp_on_same_line(self):
969968
code = """
970969
def func():
@@ -990,7 +989,7 @@ def main():
990989
with TracerRun(self) as tracer:
991990
tracer.runcall(tfunc_import)
992991

993-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
992+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
994993
def test_clear_at_no_bp(self):
995994
self.expect_set = [
996995
('line', 2, 'tfunc_import'), ('clear', (__file__, 1))
@@ -1044,7 +1043,7 @@ def test_load_bps_from_previous_Bdb_instance(self):
10441043
class RunTestCase(BaseTestCase):
10451044
"""Test run, runeval and set_trace."""
10461045

1047-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
1046+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
10481047
def test_run_step(self):
10491048
# Check that the bdb 'run' method stops at the first line event.
10501049
code = """
@@ -1057,7 +1056,7 @@ def test_run_step(self):
10571056
with TracerRun(self) as tracer:
10581057
tracer.run(compile(textwrap.dedent(code), '<string>', 'exec'))
10591058

1060-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
1059+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
10611060
def test_runeval_step(self):
10621061
# Test bdb 'runeval'.
10631062
code = """
@@ -1080,7 +1079,7 @@ def main():
10801079
class IssuesTestCase(BaseTestCase):
10811080
"""Test fixed bdb issues."""
10821081

1083-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
1082+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
10841083
def test_step_at_return_with_no_trace_in_caller(self):
10851084
# Issue #13183.
10861085
# Check that the tracer does step into the caller frame when the
@@ -1111,7 +1110,7 @@ def func():
11111110
with TracerRun(self) as tracer:
11121111
tracer.runcall(tfunc_import)
11131112

1114-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
1113+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
11151114
def test_next_until_return_in_generator(self):
11161115
# Issue #16596.
11171116
# Check that set_next(), set_until() and set_return() do not treat the
@@ -1153,7 +1152,7 @@ def main():
11531152
with TracerRun(self) as tracer:
11541153
tracer.runcall(tfunc_import)
11551154

1156-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
1155+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
11571156
def test_next_command_in_generator_for_loop(self):
11581157
# Issue #16596.
11591158
code = """
@@ -1185,7 +1184,7 @@ def main():
11851184
with TracerRun(self) as tracer:
11861185
tracer.runcall(tfunc_import)
11871186

1188-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
1187+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
11891188
def test_next_command_in_generator_with_subiterator(self):
11901189
# Issue #16596.
11911190
code = """
@@ -1217,7 +1216,7 @@ def main():
12171216
with TracerRun(self) as tracer:
12181217
tracer.runcall(tfunc_import)
12191218

1220-
@unittest.skip('TODO: RUSTPYTHON; Error in atexit._run_exitfuncs')
1219+
@unittest.expectedFailure # TODO: RUSTPYTHON; Error in atexit._run_exitfuncs
12211220
def test_return_command_in_generator_with_subiterator(self):
12221221
# Issue #16596.
12231222
code = """
@@ -1249,8 +1248,7 @@ def main():
12491248
with TracerRun(self) as tracer:
12501249
tracer.runcall(tfunc_import)
12511250

1252-
@unittest.skip('TODO: RUSTPYTHON')
1253-
# AssertionError: All paired tuples have not been processed, the last one was number 1 [('next',)]
1251+
@unittest.expectedFailure # TODO: RUSTPYTHON; AssertionError: All paired tuples have not been processed, the last one was number 1 [('next',)]
12541252
def test_next_to_botframe(self):
12551253
# gh-125422
12561254
# Check that next command won't go to the bottom frame.

Lib/test/test_bytes.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2138,7 +2138,6 @@ def test_join(self):
21382138
s3 = s1.join([b"abcd"])
21392139
self.assertIs(type(s3), self.basetype)
21402140

2141-
@unittest.skip('TODO: RUSTPYTHON; Fails on ByteArraySubclassWithSlotsTest')
21422141
def test_pickle(self):
21432142
a = self.type2test(b"abcd")
21442143
a.x = 10
@@ -2153,7 +2152,6 @@ def test_pickle(self):
21532152
self.assertEqual(type(a.z), type(b.z))
21542153
self.assertFalse(hasattr(b, 'y'))
21552154

2156-
@unittest.skip('TODO: RUSTPYTHON; Fails on ByteArraySubclassWithSlotsTest')
21572155
def test_copy(self):
21582156
a = self.type2test(b"abcd")
21592157
a.x = 10

Lib/test/test_class.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,6 @@ def assertNotOrderable(self, a, b):
611611
with self.assertRaises(TypeError):
612612
a >= b
613613

614-
@unittest.skip("TODO: RUSTPYTHON; unstable result")
615614
def testHashComparisonOfMethods(self):
616615
# Test comparison and hash of methods
617616
class A:

Lib/test/test_compile.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ def __getitem__(self, key):
108108
exec('z = a', g, d)
109109
self.assertEqual(d['z'], 12)
110110

111-
@unittest.skip("TODO: RUSTPYTHON; segmentation fault")
112111
def test_extended_arg(self):
113112
# default: 1000 * 2.5 = 2500 repetitions
114113
repeat = int(sys.getrecursionlimit() * 2.5)

Lib/test/test_configparser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ def test_read_returns_file_list(self):
762762
parsed_files = cf.read([], encoding="utf-8")
763763
self.assertEqual(parsed_files, [])
764764

765-
@unittest.skip("TODO: RUSTPYTHON, suspected to make CI hang")
765+
# XXX: RUSTPYTHON; This test might cause CI hang
766766
def test_read_returns_file_list_with_bytestring_path(self):
767767
if self.delimiters[0] != '=':
768768
self.skipTest('incompatible format')

Lib/test/test_context.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,6 @@ def ctx2_fun():
358358

359359
ctx1.run(ctx1_fun)
360360

361-
@unittest.skip("TODO: RUSTPYTHON; threading is not safe")
362361
@isolated_context
363362
@threading_helper.requires_working_threading()
364363
def test_context_threads_1(self):

Lib/test/test_descr.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1834,8 +1834,8 @@ def __init__(self, foo):
18341834
object.__init__(A(3))
18351835
self.assertRaises(TypeError, object.__init__, A(3), 5)
18361836

1837-
@unittest.skip('TODO: RUSTPYTHON; This passes, but the `expectedFailure` here is from CPython, so this test is an "UNEXPECTED SUCCESS" (not good)')
1838-
@unittest.expectedFailure
1837+
# TODO: RUSTPYTHON; The `expectedFailure` here is from CPython, so this test must fail
1838+
# @unittest.expectedFailure
18391839
def test_restored_object_new(self):
18401840
class A(object):
18411841
def __new__(cls, *args, **kwargs):

0 commit comments

Comments
 (0)