Skip to content

Commit 56ba3cc

Browse files
committed
Update test_*_stdlib.py tests
1 parent 051bb37 commit 56ba3cc

23 files changed

Lines changed: 411 additions & 56 deletions

Src/IronPythonTest/Cases/CPythonCasesManifest.ini

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -886,6 +886,9 @@ Ignore=true
886886
Ignore=true
887887
Reason=ImportError: No module named '_testcapi'
888888

889+
[CPython.test_subclassinit] # new in 3.6
890+
Ignore=true
891+
889892
[CPython.test_subprocess]
890893
RunCondition=NOT $(IS_POSIX) AND NOT $(IS_NETCOREAPP) # TODO: debug
891894
Reason=TODO: figure out
@@ -1084,6 +1087,9 @@ Ignore=true
10841087
[CPython.test_weakset] # IronPython.test_weakset_stdlib
10851088
Ignore=true
10861089

1090+
[CPython.test_winconsoleio] # new in 3.6
1091+
Ignore=true
1092+
10871093
[CPython.test_winreg]
10881094
RunCondition=$(IS_WINDOWS)
10891095

Src/StdLib/Lib/test/test_json/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
cjson = support.import_fresh_module('json', fresh=['_json'])
1010
pyjson = support.import_fresh_module('json', blocked=['_json'])
1111
# JSONDecodeError is cached inside the _json module
12-
cjson.JSONDecodeError = cjson.decoder.JSONDecodeError = json.JSONDecodeError
12+
if cjson:
13+
cjson.JSONDecodeError = cjson.decoder.JSONDecodeError = json.JSONDecodeError
1314

1415
# create two base classes that will be used by the other tests
1516
class PyTest(unittest.TestCase):

Tests/test_builtin_stdlib.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ def load_tests(loader, standard_tests, pattern):
2323
suite.addTest(test.test_builtin.BuiltinTest('test_any'))
2424
suite.addTest(test.test_builtin.BuiltinTest('test_ascii'))
2525
suite.addTest(test.test_builtin.BuiltinTest('test_bin'))
26+
suite.addTest(test.test_builtin.BuiltinTest('test_bug_27936'))
2627
suite.addTest(test.test_builtin.BuiltinTest('test_bytearray_translate'))
2728
suite.addTest(test.test_builtin.BuiltinTest('test_callable'))
2829
suite.addTest(test.test_builtin.BuiltinTest('test_chr'))
@@ -78,9 +79,18 @@ def load_tests(loader, standard_tests, pattern):
7879
suite.addTest(unittest.expectedFailure(test.test_builtin.PtyTests('test_input_tty_non_ascii_unicode_errors')))
7980
if not is_netcoreapp:
8081
suite.addTest(test.test_builtin.ShutdownTest('test_cleanup'))
82+
suite.addTest(test.test_builtin.TestSorted('test_bad_arguments'))
8183
suite.addTest(test.test_builtin.TestSorted('test_baddecorator'))
8284
suite.addTest(test.test_builtin.TestSorted('test_basic'))
8385
suite.addTest(test.test_builtin.TestSorted('test_inputtypes'))
86+
suite.addTest(test.test_builtin.TestType('test_bad_args'))
87+
suite.addTest(test.test_builtin.TestType('test_bad_slots'))
88+
suite.addTest(test.test_builtin.TestType('test_namespace_order'))
89+
suite.addTest(test.test_builtin.TestType('test_new_type'))
90+
suite.addTest(test.test_builtin.TestType('test_type_doc'))
91+
suite.addTest(test.test_builtin.TestType('test_type_name'))
92+
suite.addTest(test.test_builtin.TestType('test_type_nokwargs'))
93+
suite.addTest(test.test_builtin.TestType('test_type_qualname'))
8494
suite.addTest(doctest.DocTestSuite(builtins))
8595
return suite
8696

Tests/test_bz2_stdlib.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
##
88

99
import unittest
10-
import codecs
1110
import sys
1211

1312
from iptest import run_test
@@ -26,13 +25,20 @@ def load_tests(loader, standard_tests, pattern):
2625
suite.addTest(test.test_bz2.BZ2DecompressorTest('testDecompress4G'))
2726
suite.addTest(test.test_bz2.BZ2DecompressorTest('testDecompressChunks10'))
2827
suite.addTest(test.test_bz2.BZ2DecompressorTest('testDecompressUnusedData'))
28+
suite.addTest(test.test_bz2.BZ2DecompressorTest('testDecompressorChunksMaxsize'))
2929
suite.addTest(test.test_bz2.BZ2DecompressorTest('testEOFError'))
3030
suite.addTest(unittest.expectedFailure(test.test_bz2.BZ2DecompressorTest('testPickle'))) # AssertionError: TypeError not raised
3131
suite.addTest(test.test_bz2.BZ2DecompressorTest('test_Constructor'))
32+
suite.addTest(test.test_bz2.BZ2DecompressorTest('test_decompressor_inputbuf_1'))
33+
suite.addTest(test.test_bz2.BZ2DecompressorTest('test_decompressor_inputbuf_2'))
34+
suite.addTest(test.test_bz2.BZ2DecompressorTest('test_decompressor_inputbuf_3'))
35+
suite.addTest(test.test_bz2.BZ2DecompressorTest('test_failure'))
36+
suite.addTest(test.test_bz2.BZ2DecompressorTest('test_refleaks_in___init__'))
3237
suite.addTest(test.test_bz2.BZ2FileTest('testAppend'))
3338
suite.addTest(test.test_bz2.BZ2FileTest('testBadArgs'))
3439
suite.addTest(test.test_bz2.BZ2FileTest('testClosedIteratorDeadlock'))
3540
suite.addTest(test.test_bz2.BZ2FileTest('testContextProtocol'))
41+
suite.addTest(test.test_bz2.BZ2FileTest('testDecompressLimited'))
3642
suite.addTest(test.test_bz2.BZ2FileTest('testFileno'))
3743
suite.addTest(test.test_bz2.BZ2FileTest('testIterator'))
3844
suite.addTest(test.test_bz2.BZ2FileTest('testIteratorMultiStream'))
@@ -41,6 +47,7 @@ def load_tests(loader, standard_tests, pattern):
4147
suite.addTest(test.test_bz2.BZ2FileTest('testOpenBytesFilename'))
4248
#suite.addTest(test.test_bz2.BZ2FileTest('testOpenDel')) # PermissionError: [WinError 32] The process cannot access the file because it is being used by another process
4349
suite.addTest(test.test_bz2.BZ2FileTest('testOpenNonexistent'))
50+
suite.addTest(test.test_bz2.BZ2FileTest('testOpenPathLikeFilename'))
4451
suite.addTest(test.test_bz2.BZ2FileTest('testPeek'))
4552
suite.addTest(test.test_bz2.BZ2FileTest('testPeekBytesIO'))
4653
suite.addTest(test.test_bz2.BZ2FileTest('testRead'))
@@ -106,7 +113,7 @@ def load_tests(loader, standard_tests, pattern):
106113
suite.addTest(test.test_bz2.OpenTest('test_text_modes'))
107114
suite.addTest(test.test_bz2.OpenTest('test_x_mode'))
108115
return suite
109-
116+
110117
else:
111118
return loader.loadTestsFromModule(test.test_bz2, pattern)
112119

Tests/test_codeccallbacks_stdlib.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ def load_tests(loader, standard_tests, pattern):
1818
suite = unittest.TestSuite()
1919
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_backslashescape'))) # UTF-16 vs. UTF-32
2020
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_badandgoodbackslashreplaceexceptions'))) # UTF-16 vs. UTF-32
21+
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_badandgoodignoreexceptions'))
22+
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_badandgoodnamereplaceexceptions'))
2123
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_badandgoodreplaceexceptions'))) # UTF-16 vs. UTF-32
2224
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_badandgoodstrictexceptions'))
2325
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_badandgoodsurrogateescapeexceptions'))
@@ -29,6 +31,7 @@ def load_tests(loader, standard_tests, pattern):
2931
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_bug828737'))
3032
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_callbacks'))) # Moving cursor not implemented
3133
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_charmapencode'))
34+
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_crashing_decode_handler'))
3235
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_decodehelper'))) # Moving cursor not implemented
3336
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_decodeunicodeinternal'))
3437
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_decoding_callbacks'))) # Moving cursor not implemented
@@ -40,11 +43,12 @@ def load_tests(loader, standard_tests, pattern):
4043
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_longstrings'))
4144
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_lookup'))
4245
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_mutatingdecodehandler'))) # Moving cursor not implemented
46+
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_nameescape'))
4347
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_translatehelper'))
4448
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_unencodablereplacement'))) # UnicodeEncodeError not raised by encode
4549
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_unicodedecodeerror'))) # TypeError not raised by UnicodeDecodeError
4650
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_unicodeencodeerror'))) # TypeError not raised by UnicodeEncodeError
47-
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_unicodetranslateerror'))) # UTF-16 vs. UTF-32
51+
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_unicodetranslateerror'))) # UTF-16 vs. UTF-32
4852
suite.addTest(unittest.expectedFailure(test.test_codeccallbacks.CodecCallbackTest('test_uninamereplace'))) # bug?
4953
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_unknownhandler'))
5054
suite.addTest(test.test_codeccallbacks.CodecCallbackTest('test_xmlcharnamereplace'))

Tests/test_codecs_stdlib.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
##
88

99
import unittest
10-
import codecs
1110
import sys
1211

1312
from iptest import run_test, is_mono, is_netcoreapp31, is_net50, is_net60
@@ -17,6 +16,11 @@
1716
def load_tests(loader, standard_tests, pattern):
1817
if sys.implementation.name == 'ironpython':
1918
suite = unittest.TestSuite()
19+
suite.addTest(test.test_codecs.ASCIITest('test_decode'))
20+
suite.addTest(test.test_codecs.ASCIITest('test_decode_error'))
21+
suite.addTest(test.test_codecs.ASCIITest('test_encode'))
22+
suite.addTest(test.test_codecs.ASCIITest('test_encode_error'))
23+
suite.addTest(test.test_codecs.ASCIITest('test_encode_surrogateescape_error'))
2024
suite.addTest(unittest.expectedFailure(test.test_codecs.BasicUnicodeTest('test_bad_decode_args'))) # unknown encoding: big5
2125
suite.addTest(unittest.expectedFailure(test.test_codecs.BasicUnicodeTest('test_bad_encode_args'))) # unknown encoding: big5
2226
suite.addTest(unittest.expectedFailure(test.test_codecs.BasicUnicodeTest('test_basics'))) # unknown encoding: big5
@@ -47,6 +51,8 @@ def load_tests(loader, standard_tests, pattern):
4751
suite.addTest(unittest.expectedFailure(test.test_codecs.CodePageTest('test_cp_utf7'))) # Unable to decode b'[+/]' from "cp65000"
4852
suite.addTest(unittest.expectedFailure(test.test_codecs.CodePageTest('test_incremental'))) # incremental codepage decoding not implemented yet
4953
suite.addTest(unittest.expectedFailure(test.test_codecs.CodePageTest('test_invalid_code_page'))) # SystemError raised iso OSError
54+
suite.addTest(test.test_codecs.CodePageTest('test_large_input'))
55+
suite.addTest(test.test_codecs.CodePageTest('test_mbcs_alias'))
5056
suite.addTest(unittest.expectedFailure(test.test_codecs.CodePageTest('test_multibyte_encoding'))) # .NET cp932 does not resynchronize cursor after '\x84' in '\x84\xe9\x80'
5157
suite.addTest(test.test_codecs.CodecsModuleTest('test_all'))
5258
suite.addTest(test.test_codecs.CodecsModuleTest('test_decode'))
@@ -65,6 +71,7 @@ def load_tests(loader, standard_tests, pattern):
6571
suite.addTest(test.test_codecs.EscapeDecodeTest('test_errors'))
6672
suite.addTest(test.test_codecs.EscapeDecodeTest('test_escape'))
6773
suite.addTest(test.test_codecs.EscapeDecodeTest('test_raw'))
74+
suite.addTest(test.test_codecs.EscapeEncodeTest('test_escape_encode'))
6875
suite.addTest(test.test_codecs.ExceptionChainingTest('test_codec_lookup_failure_not_wrapped'))
6976
suite.addTest(test.test_codecs.ExceptionChainingTest('test_init_override_is_not_wrapped'))
7077
suite.addTest(test.test_codecs.ExceptionChainingTest('test_instance_attribute_is_not_wrapped'))
@@ -82,6 +89,10 @@ def load_tests(loader, standard_tests, pattern):
8289
suite.addTest(test.test_codecs.IDNACodecTest('test_incremental_decode'))
8390
suite.addTest(test.test_codecs.IDNACodecTest('test_incremental_encode'))
8491
suite.addTest(test.test_codecs.IDNACodecTest('test_stream'))
92+
suite.addTest(test.test_codecs.Latin1Test('test_decode'))
93+
suite.addTest(test.test_codecs.Latin1Test('test_encode'))
94+
suite.addTest(test.test_codecs.Latin1Test('test_encode_errors'))
95+
suite.addTest(test.test_codecs.Latin1Test('test_encode_surrogateescape_error'))
8596
if is_mono:
8697
suite.addTest(test.test_codecs.NameprepTest('test_nameprep'))
8798
else:
@@ -90,6 +101,7 @@ def load_tests(loader, standard_tests, pattern):
90101
suite.addTest(test.test_codecs.PunycodeTest('test_encode'))
91102
suite.addTest(test.test_codecs.RawUnicodeEscapeTest('test_decode_errors'))
92103
suite.addTest(test.test_codecs.RawUnicodeEscapeTest('test_empty'))
104+
suite.addTest(test.test_codecs.RawUnicodeEscapeTest('test_escape_decode'))
93105
suite.addTest(test.test_codecs.RawUnicodeEscapeTest('test_escape_encode'))
94106
suite.addTest(test.test_codecs.RawUnicodeEscapeTest('test_raw_decode'))
95107
suite.addTest(test.test_codecs.RawUnicodeEscapeTest('test_raw_encode'))
@@ -205,6 +217,7 @@ def load_tests(loader, standard_tests, pattern):
205217
suite.addTest(test.test_codecs.UTF8SigTest('test_bug1098990_b'))
206218
suite.addTest(test.test_codecs.UTF8SigTest('test_bug1175396'))
207219
suite.addTest(test.test_codecs.UTF8SigTest('test_bug1601501'))
220+
suite.addTest(test.test_codecs.UTF8SigTest('test_decode_error'))
208221
suite.addTest(test.test_codecs.UTF8SigTest('test_decoder_state'))
209222
if is_netcoreapp31 or is_net50 or is_net60:
210223
suite.addTest(test.test_codecs.UTF8SigTest('test_lone_surrogates'))
@@ -220,6 +233,7 @@ def load_tests(loader, standard_tests, pattern):
220233
suite.addTest(test.test_codecs.UTF8Test('test_bug1098990_a'))
221234
suite.addTest(test.test_codecs.UTF8Test('test_bug1098990_b'))
222235
suite.addTest(test.test_codecs.UTF8Test('test_bug1175396'))
236+
suite.addTest(test.test_codecs.UTF8Test('test_decode_error'))
223237
suite.addTest(test.test_codecs.UTF8Test('test_decoder_state'))
224238
if is_netcoreapp31 or is_net50 or is_net60:
225239
suite.addTest(test.test_codecs.UTF8Test('test_lone_surrogates'))
@@ -243,7 +257,7 @@ def load_tests(loader, standard_tests, pattern):
243257
suite.addTest(test.test_codecs.WithStmtTest('test_encodedfile'))
244258
suite.addTest(test.test_codecs.WithStmtTest('test_streamreaderwriter'))
245259
return suite
246-
260+
247261
else:
248262
return loader.loadTestsFromModule(test.test_codecs, pattern)
249263

Tests/test_complex_stdlib.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import unittest
1010
import sys
1111

12-
from iptest import run_test, is_netcoreapp, is_netcoreapp21
12+
from iptest import run_test
1313

1414
import test.test_complex
1515

@@ -20,6 +20,7 @@ def load_tests(loader, standard_tests, pattern):
2020
suite.addTest(test.test_complex.ComplexTest('test_boolcontext'))
2121
suite.addTest(test.test_complex.ComplexTest('test_conjugate'))
2222
suite.addTest(test.test_complex.ComplexTest('test_constructor'))
23+
suite.addTest(test.test_complex.ComplexTest('test_constructor_special_numbers'))
2324
suite.addTest(test.test_complex.ComplexTest('test_divmod'))
2425
suite.addTest(test.test_complex.ComplexTest('test_file'))
2526
suite.addTest(test.test_complex.ComplexTest('test_floordiv'))
@@ -38,6 +39,7 @@ def load_tests(loader, standard_tests, pattern):
3839
suite.addTest(test.test_complex.ComplexTest('test_richcompare'))
3940
suite.addTest(test.test_complex.ComplexTest('test_richcompare_boundaries'))
4041
suite.addTest(test.test_complex.ComplexTest('test_truediv'))
42+
suite.addTest(test.test_complex.ComplexTest('test_underscores'))
4143
return suite
4244

4345
else:

0 commit comments

Comments
 (0)