Linux server1.dn-server.com 4.18.0-553.89.1.lve.el8.x86_64 #1 SMP Wed Dec 10 13:58:50 UTC 2025 x86_64
LiteSpeed
Server IP : 195.201.204.189 & Your IP : 216.73.216.37
Domains :
Cant Read [ /etc/named.conf ]
User : beriska1
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
python33 /
lib64 /
python3.3 /
test /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
audiodata
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
capath
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
cjkencodings
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
data
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
decimaltestdata
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
encoded_modules
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
imghdrdata
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
namespace_pkgs
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
sndhdrdata
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
subprocessdata
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
support
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
test_email
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
test_importlib
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
test_json
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
tracedmodules
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
xmltestdata
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
185test.db
16
KB
-rw-r--r--
2017-09-19 12:02
Sine-1000Hz-300ms.aif
60.25
KB
-rw-r--r--
2017-09-19 12:02
__init__.py
47
B
-rw-r--r--
2024-04-17 20:28
__main__.py
474
B
-rw-r--r--
2024-04-17 20:28
audiotests.py
9.34
KB
-rw-r--r--
2024-04-17 20:28
autotest.py
211
B
-rw-r--r--
2024-04-17 20:28
bad_coding.py
24
B
-rw-r--r--
2024-04-17 20:28
bad_coding2.py
30
B
-rw-r--r--
2024-04-17 20:28
badcert.pem
1.88
KB
-rw-r--r--
2017-09-19 12:02
badkey.pem
2.11
KB
-rw-r--r--
2017-09-19 12:02
badsyntax_3131.py
32
B
-rw-r--r--
2024-04-17 20:28
badsyntax_future3.py
172
B
-rw-r--r--
2024-04-17 20:28
badsyntax_future4.py
153
B
-rw-r--r--
2024-04-17 20:28
badsyntax_future5.py
184
B
-rw-r--r--
2024-04-17 20:28
badsyntax_future6.py
161
B
-rw-r--r--
2024-04-17 20:28
badsyntax_future7.py
196
B
-rw-r--r--
2024-04-17 20:28
badsyntax_future8.py
122
B
-rw-r--r--
2024-04-17 20:28
badsyntax_future9.py
142
B
-rw-r--r--
2024-04-17 20:28
badsyntax_pep3120.py
14
B
-rw-r--r--
2024-04-17 20:28
buffer_tests.py
10.79
KB
-rw-r--r--
2024-04-17 20:28
cfgparser.1
21
B
-rw-r--r--
2017-09-19 12:02
cfgparser.2
19.02
KB
-rw-r--r--
2017-09-19 12:02
cfgparser.3
1.55
KB
-rw-r--r--
2017-09-19 12:02
check_soundcard.vbs
411
B
-rw-r--r--
2017-09-19 12:02
cmath_testcases.txt
133.86
KB
-rw-r--r--
2017-09-19 12:02
coding20731.py
18
B
-rw-r--r--
2024-04-17 20:28
curses_tests.py
1.22
KB
-rwxr-xr-x
2024-04-17 20:28
datetimetester.py
146.82
KB
-rw-r--r--
2024-04-17 20:28
dh1024.pem
300
B
-rw-r--r--
2017-09-19 12:02
dis_module.py
76
B
-rw-r--r--
2024-04-17 20:28
doctest_aliases.py
240
B
-rw-r--r--
2024-04-17 20:28
double_const.py
1.18
KB
-rw-r--r--
2024-04-17 20:28
empty.vbs
70
B
-rw-r--r--
2017-09-19 12:02
exception_hierarchy.txt
1.69
KB
-rw-r--r--
2017-09-19 12:02
floating_points.txt
15.92
KB
-rw-r--r--
2017-09-19 12:02
fork_wait.py
2.1
KB
-rw-r--r--
2024-04-17 20:28
formatfloat_testcases.txt
7.45
KB
-rw-r--r--
2017-09-19 12:02
future_test1.py
229
B
-rw-r--r--
2024-04-17 20:28
future_test2.py
149
B
-rw-r--r--
2024-04-17 20:28
gdb_sample.py
153
B
-rw-r--r--
2024-04-17 20:28
ieee754.txt
3.21
KB
-rw-r--r--
2017-09-19 12:02
inspect_fodder.py
854
B
-rw-r--r--
2024-04-17 20:28
inspect_fodder2.py
1.39
KB
-rw-r--r--
2024-04-17 20:28
keycert.passwd.pem
1.79
KB
-rw-r--r--
2017-09-19 12:02
keycert.pem
1.74
KB
-rw-r--r--
2017-09-19 12:02
keycert2.pem
1.75
KB
-rw-r--r--
2017-09-19 12:02
list_tests.py
17.26
KB
-rw-r--r--
2024-04-17 20:28
lock_tests.py
25.47
KB
-rw-r--r--
2024-04-17 20:28
mailcap.txt
1.24
KB
-rw-r--r--
2017-09-19 12:02
make_ssl_certs.py
1.84
KB
-rw-r--r--
2024-04-17 20:28
mapping_tests.py
21.5
KB
-rw-r--r--
2024-04-17 20:28
math_testcases.txt
23.19
KB
-rw-r--r--
2017-09-19 12:02
memory_watchdog.py
859
B
-rw-r--r--
2024-04-17 20:28
mime.types
47.37
KB
-rw-r--r--
2017-09-19 12:02
mock_socket.py
3.32
KB
-rw-r--r--
2024-04-17 20:28
mp_fork_bomb.py
323
B
-rw-r--r--
2024-04-17 20:28
multibytecodec_support.py
14.25
KB
-rw-r--r--
2024-04-17 20:28
nokia.pem
1.88
KB
-rw-r--r--
2017-09-19 12:02
nullbytecert.pem
5.31
KB
-rw-r--r--
2017-09-19 12:02
nullcert.pem
0
B
-rw-r--r--
2017-09-19 12:02
outstanding_bugs.py
370
B
-rw-r--r--
2024-04-17 20:28
pickletester.py
60.31
KB
-rw-r--r--
2024-04-17 20:28
profilee.py
2.97
KB
-rw-r--r--
2024-04-17 20:28
pstats.pck
65.05
KB
-rw-r--r--
2017-09-19 12:02
pyclbr_input.py
648
B
-rw-r--r--
2024-04-17 20:28
pydoc_mod.py
461
B
-rw-r--r--
2024-04-17 20:28
pydocfodder.py
6.18
KB
-rw-r--r--
2024-04-17 20:28
pystone.py
7.22
KB
-rwxr-xr-x
2024-04-17 20:28
randv2_32.pck
7.34
KB
-rw-r--r--
2017-09-19 12:02
randv2_64.pck
7.19
KB
-rw-r--r--
2017-09-19 12:02
randv3.pck
7.82
KB
-rw-r--r--
2017-09-19 12:02
re_tests.py
31.06
KB
-rwxr-xr-x
2024-04-17 20:28
regrtest.py
63.54
KB
-rwxr-xr-x
2024-04-17 20:28
relimport.py
27
B
-rw-r--r--
2024-04-17 20:28
reperf.py
538
B
-rw-r--r--
2024-04-17 20:28
sample_doctest.py
1.02
KB
-rw-r--r--
2024-04-17 20:28
sample_doctest_no_docstrings.py
227
B
-rw-r--r--
2024-04-17 20:28
sample_doctest_no_doctests.py
269
B
-rw-r--r--
2024-04-17 20:28
script_helper.py
5.22
KB
-rw-r--r--
2024-04-17 20:28
selfsigned_pythontestdotnet.pem
956
B
-rw-r--r--
2017-09-19 12:02
seq_tests.py
13.49
KB
-rw-r--r--
2024-04-17 20:28
sgml_input.html
8.1
KB
-rw-r--r--
2017-09-19 12:02
sha256.pem
8.15
KB
-rw-r--r--
2017-09-19 12:02
sortperf.py
4.69
KB
-rw-r--r--
2024-04-17 20:28
ssl_cert.pem
867
B
-rw-r--r--
2017-09-19 12:02
ssl_key.passwd.pem
963
B
-rw-r--r--
2017-09-19 12:02
ssl_key.pem
916
B
-rw-r--r--
2017-09-19 12:02
ssl_servers.py
6.82
KB
-rw-r--r--
2024-04-17 20:28
string_tests.py
62.74
KB
-rw-r--r--
2024-04-17 20:28
test___all__.py
3.86
KB
-rw-r--r--
2024-04-17 20:28
test___future__.py
2.44
KB
-rw-r--r--
2024-04-17 20:28
test__locale.py
6.89
KB
-rw-r--r--
2024-04-17 20:28
test__osx_support.py
11.41
KB
-rw-r--r--
2024-04-17 20:28
test_abc.py
12.76
KB
-rw-r--r--
2024-04-17 20:28
test_abstract_numbers.py
1.49
KB
-rw-r--r--
2024-04-17 20:28
test_aifc.py
14.48
KB
-rw-r--r--
2024-04-17 20:28
test_argparse.py
158.6
KB
-rw-r--r--
2024-04-17 20:28
test_array.py
43.88
KB
-rw-r--r--
2024-04-17 20:28
test_ast.py
43.49
KB
-rw-r--r--
2024-04-17 20:28
test_asynchat.py
9.08
KB
-rw-r--r--
2024-04-17 20:28
test_asyncore.py
26.05
KB
-rw-r--r--
2024-04-17 20:28
test_atexit.py
3.53
KB
-rw-r--r--
2024-04-17 20:28
test_audioop.py
17.39
KB
-rw-r--r--
2024-04-17 20:28
test_augassign.py
7.44
KB
-rw-r--r--
2024-04-17 20:28
test_base64.py
14.34
KB
-rw-r--r--
2024-04-17 20:28
test_bigaddrspace.py
2.92
KB
-rw-r--r--
2024-04-17 20:28
test_bigmem.py
44.18
KB
-rw-r--r--
2024-04-17 20:28
test_binascii.py
9.94
KB
-rw-r--r--
2024-04-17 20:28
test_binhex.py
1.47
KB
-rw-r--r--
2024-04-17 20:28
test_binop.py
12.36
KB
-rw-r--r--
2024-04-17 20:28
test_bisect.py
13.65
KB
-rw-r--r--
2024-04-17 20:28
test_bool.py
11.81
KB
-rw-r--r--
2024-04-17 20:28
test_buffer.py
155.09
KB
-rw-r--r--
2024-04-17 20:28
test_bufio.py
2.54
KB
-rw-r--r--
2024-04-17 20:28
test_builtin.py
54.84
KB
-rw-r--r--
2024-04-17 20:28
test_bytes.py
52.86
KB
-rw-r--r--
2024-04-17 20:28
test_bz2.py
30.8
KB
-rw-r--r--
2024-04-17 20:28
test_calendar.py
38.7
KB
-rw-r--r--
2024-04-17 20:28
test_call.py
3.08
KB
-rw-r--r--
2024-04-17 20:28
test_capi.py
13.81
KB
-rw-r--r--
2024-04-17 20:28
test_cgi.py
17.34
KB
-rw-r--r--
2024-04-17 20:28
test_cgitb.py
2.49
KB
-rw-r--r--
2024-04-17 20:28
test_charmapcodec.py
1.75
KB
-rw-r--r--
2024-04-17 20:28
test_class.py
13.79
KB
-rw-r--r--
2024-04-17 20:28
test_cmath.py
20.38
KB
-rw-r--r--
2024-04-17 20:28
test_cmd.py
6.08
KB
-rw-r--r--
2024-04-17 20:28
test_cmd_line.py
15.35
KB
-rw-r--r--
2024-04-17 20:28
test_cmd_line_script.py
16.95
KB
-rw-r--r--
2024-04-17 20:28
test_code.py
3.54
KB
-rw-r--r--
2024-04-17 20:28
test_code_module.py
2.42
KB
-rw-r--r--
2024-04-17 20:28
test_codeccallbacks.py
33.17
KB
-rw-r--r--
2024-04-17 20:28
test_codecencodings_cn.py
3.38
KB
-rw-r--r--
2024-04-17 20:28
test_codecencodings_hk.py
775
B
-rw-r--r--
2024-04-17 20:28
test_codecencodings_iso2022.py
1.43
KB
-rw-r--r--
2024-04-17 20:28
test_codecencodings_jp.py
4.86
KB
-rw-r--r--
2024-04-17 20:28
test_codecencodings_kr.py
3.03
KB
-rw-r--r--
2024-04-17 20:28
test_codecencodings_tw.py
755
B
-rw-r--r--
2024-04-17 20:28
test_codecmaps_cn.py
930
B
-rw-r--r--
2024-04-17 20:28
test_codecmaps_hk.py
505
B
-rw-r--r--
2024-04-17 20:28
test_codecmaps_jp.py
1.88
KB
-rw-r--r--
2024-04-17 20:28
test_codecmaps_kr.py
1.34
KB
-rw-r--r--
2024-04-17 20:28
test_codecmaps_tw.py
880
B
-rw-r--r--
2024-04-17 20:28
test_codecs.py
96.02
KB
-rw-r--r--
2024-04-17 20:28
test_codeop.py
7.45
KB
-rw-r--r--
2024-04-17 20:28
test_coding.py
2.51
KB
-rw-r--r--
2024-04-17 20:28
test_collections.py
54.31
KB
-rw-r--r--
2024-04-17 20:28
test_colorsys.py
2.77
KB
-rw-r--r--
2024-04-17 20:28
test_compare.py
1.63
KB
-rw-r--r--
2024-04-17 20:28
test_compile.py
18.62
KB
-rw-r--r--
2024-04-17 20:28
test_compileall.py
15.73
KB
-rw-r--r--
2024-04-17 20:28
test_complex.py
27.09
KB
-rw-r--r--
2024-04-17 20:28
test_concurrent_futures.py
22.57
KB
-rw-r--r--
2024-04-17 20:28
test_configparser.py
69.26
KB
-rw-r--r--
2024-04-17 20:28
test_contains.py
2.58
KB
-rw-r--r--
2024-04-17 20:28
test_contextlib.py
21.39
KB
-rw-r--r--
2024-04-17 20:28
test_copy.py
21.9
KB
-rw-r--r--
2024-04-17 20:28
test_copyreg.py
4.12
KB
-rw-r--r--
2024-04-17 20:28
test_cprofile.py
5.32
KB
-rw-r--r--
2024-04-17 20:28
test_crashers.py
1.18
KB
-rw-r--r--
2024-04-17 20:28
test_crypt.py
1.24
KB
-rw-r--r--
2024-04-17 20:28
test_csv.py
40.9
KB
-rw-r--r--
2024-04-17 20:28
test_ctypes.py
400
B
-rw-r--r--
2024-04-17 20:28
test_curses.py
10.7
KB
-rw-r--r--
2024-04-17 20:28
test_datetime.py
1.81
KB
-rw-r--r--
2024-04-17 20:28
test_dbm.py
5.52
KB
-rw-r--r--
2024-04-17 20:28
test_dbm_dumb.py
5.49
KB
-rw-r--r--
2024-04-17 20:28
test_dbm_gnu.py
2.85
KB
-rw-r--r--
2024-04-17 20:28
test_dbm_ndbm.py
1.13
KB
-rw-r--r--
2024-04-17 20:28
test_decimal.py
197.66
KB
-rw-r--r--
2024-04-17 20:28
test_decorators.py
9.6
KB
-rw-r--r--
2024-04-17 20:28
test_defaultdict.py
5.94
KB
-rw-r--r--
2024-04-17 20:28
test_deque.py
25
KB
-rw-r--r--
2024-04-17 20:28
test_descr.py
156.64
KB
-rw-r--r--
2024-04-17 20:28
test_descrtut.py
11.5
KB
-rw-r--r--
2024-04-17 20:28
test_devpoll.py
3.49
KB
-rw-r--r--
2024-04-17 20:28
test_dict.py
31.11
KB
-rw-r--r--
2024-04-17 20:28
test_dictcomps.py
3.69
KB
-rw-r--r--
2024-04-17 20:28
test_dictviews.py
8.51
KB
-rw-r--r--
2024-04-17 20:28
test_difflib.py
10.78
KB
-rw-r--r--
2024-04-17 20:28
test_difflib_expect.html
100.86
KB
-rw-r--r--
2017-09-19 12:02
test_dis.py
12.33
KB
-rw-r--r--
2024-04-17 20:28
test_distutils.py
375
B
-rw-r--r--
2024-04-17 20:28
test_doctest.py
81.78
KB
-rw-r--r--
2024-04-17 20:28
test_doctest.txt
300
B
-rw-r--r--
2017-09-19 12:02
test_doctest2.py
2.3
KB
-rw-r--r--
2024-04-17 20:28
test_doctest2.txt
392
B
-rw-r--r--
2017-09-19 12:02
test_doctest3.txt
82
B
-rw-r--r--
2017-09-19 12:02
test_doctest4.txt
244
B
-rw-r--r--
2017-09-19 12:02
test_docxmlrpc.py
8.33
KB
-rw-r--r--
2024-04-17 20:28
test_dummy_thread.py
6.99
KB
-rw-r--r--
2024-04-17 20:28
test_dummy_threading.py
1.76
KB
-rw-r--r--
2024-04-17 20:28
test_dynamic.py
4.37
KB
-rw-r--r--
2024-04-17 20:28
test_enumerate.py
7.96
KB
-rw-r--r--
2024-04-17 20:28
test_eof.py
855
B
-rw-r--r--
2024-04-17 20:28
test_epoll.py
7.48
KB
-rw-r--r--
2024-04-17 20:28
test_errno.py
1.14
KB
-rw-r--r--
2024-04-17 20:28
test_exception_variations.py
3.94
KB
-rw-r--r--
2024-04-17 20:28
test_exceptions.py
33.47
KB
-rw-r--r--
2024-04-17 20:28
test_extcall.py
8.64
KB
-rw-r--r--
2024-04-17 20:28
test_faulthandler.py
17.69
KB
-rw-r--r--
2024-04-17 20:28
test_fcntl.py
4.4
KB
-rw-r--r--
2024-04-17 20:28
test_file.py
11.1
KB
-rw-r--r--
2024-04-17 20:28
test_file_eintr.py
10.09
KB
-rw-r--r--
2024-04-17 20:28
test_filecmp.py
5.5
KB
-rw-r--r--
2024-04-17 20:28
test_fileinput.py
33.37
KB
-rw-r--r--
2024-04-17 20:28
test_fileio.py
15.11
KB
-rw-r--r--
2024-04-17 20:28
test_float.py
57.46
KB
-rw-r--r--
2024-04-17 20:28
test_flufl.py
836
B
-rw-r--r--
2024-04-17 20:28
test_fnmatch.py
2.84
KB
-rw-r--r--
2024-04-17 20:28
test_fork1.py
3.69
KB
-rw-r--r--
2024-04-17 20:28
test_format.py
16.04
KB
-rw-r--r--
2024-04-17 20:28
test_fractions.py
24.45
KB
-rw-r--r--
2024-04-17 20:28
test_frozen.py
2.81
KB
-rw-r--r--
2024-04-17 20:28
test_ftplib.py
35.85
KB
-rw-r--r--
2024-04-17 20:28
test_funcattrs.py
12.7
KB
-rw-r--r--
2024-04-17 20:28
test_functools.py
29.11
KB
-rw-r--r--
2024-04-17 20:28
test_future.py
3.77
KB
-rw-r--r--
2024-04-17 20:28
test_future3.py
490
B
-rw-r--r--
2024-04-17 20:28
test_future4.py
105
B
-rw-r--r--
2024-04-17 20:28
test_future5.py
510
B
-rw-r--r--
2024-04-17 20:28
test_gc.py
29
KB
-rw-r--r--
2024-04-17 20:28
test_gdb.py
35.86
KB
-rw-r--r--
2024-04-17 20:28
test_generators.py
48.5
KB
-rw-r--r--
2024-04-17 20:28
test_genericpath.py
13.3
KB
-rw-r--r--
2024-04-17 20:28
test_genexps.py
7.12
KB
-rw-r--r--
2024-04-17 20:28
test_getargs2.py
23.74
KB
-rw-r--r--
2024-04-17 20:28
test_getopt.py
6.8
KB
-rw-r--r--
2024-04-17 20:28
test_getpass.py
5.95
KB
-rw-r--r--
2024-04-17 20:28
test_gettext.py
22.11
KB
-rw-r--r--
2024-04-17 20:28
test_glob.py
6.69
KB
-rw-r--r--
2024-04-17 20:28
test_global.py
1.25
KB
-rw-r--r--
2024-04-17 20:28
test_grammar.py
31.96
KB
-rw-r--r--
2024-04-17 20:28
test_grp.py
3.18
KB
-rw-r--r--
2024-04-17 20:28
test_gzip.py
17.79
KB
-rw-r--r--
2024-04-17 20:28
test_hash.py
7.25
KB
-rw-r--r--
2024-04-17 20:28
test_hashlib.py
18.79
KB
-rw-r--r--
2024-04-17 20:28
test_heapq.py
14.14
KB
-rw-r--r--
2024-04-17 20:28
test_hmac.py
17.23
KB
-rw-r--r--
2024-04-17 20:28
test_html.py
579
B
-rw-r--r--
2024-04-17 20:28
test_htmlparser.py
30.74
KB
-rw-r--r--
2024-04-17 20:28
test_http_cookiejar.py
70
KB
-rw-r--r--
2024-04-17 20:28
test_http_cookies.py
9.98
KB
-rw-r--r--
2024-04-17 20:28
test_httplib.py
37.59
KB
-rw-r--r--
2024-04-17 20:28
test_httpservers.py
26.35
KB
-rw-r--r--
2024-04-17 20:28
test_idle.py
1.3
KB
-rw-r--r--
2024-04-17 20:28
test_imaplib.py
15.67
KB
-rw-r--r--
2024-04-17 20:28
test_imghdr.py
4.31
KB
-rw-r--r--
2024-04-17 20:28
test_imp.py
18.89
KB
-rw-r--r--
2024-04-17 20:28
test_import.py
38.55
KB
-rw-r--r--
2024-04-17 20:28
test_importhooks.py
7.83
KB
-rw-r--r--
2024-04-17 20:28
test_index.py
8.31
KB
-rw-r--r--
2024-04-17 20:28
test_inspect.py
87.19
KB
-rw-r--r--
2024-04-17 20:28
test_int.py
15.07
KB
-rw-r--r--
2024-04-17 20:28
test_int_literal.py
6.96
KB
-rw-r--r--
2024-04-17 20:28
test_io.py
119.84
KB
-rw-r--r--
2024-04-17 20:28
test_ioctl.py
3.25
KB
-rw-r--r--
2024-04-17 20:28
test_ipaddress.py
72.5
KB
-rw-r--r--
2024-04-17 20:28
test_isinstance.py
9.93
KB
-rw-r--r--
2024-04-17 20:28
test_iter.py
28.5
KB
-rw-r--r--
2024-04-17 20:28
test_iterlen.py
7.4
KB
-rw-r--r--
2024-04-17 20:28
test_itertools.py
82.48
KB
-rw-r--r--
2024-04-17 20:28
test_keywordonlyarg.py
6.7
KB
-rw-r--r--
2024-04-17 20:28
test_kqueue.py
6.61
KB
-rw-r--r--
2024-04-17 20:28
test_largefile.py
6.4
KB
-rw-r--r--
2024-04-17 20:28
test_lib2to3.py
637
B
-rw-r--r--
2024-04-17 20:28
test_linecache.py
4.04
KB
-rw-r--r--
2024-04-17 20:28
test_list.py
4.12
KB
-rw-r--r--
2024-04-17 20:28
test_listcomps.py
3.76
KB
-rw-r--r--
2024-04-17 20:28
test_locale.py
18.35
KB
-rw-r--r--
2024-04-17 20:28
test_logging.py
133.5
KB
-rw-r--r--
2024-04-17 20:28
test_long.py
49.64
KB
-rw-r--r--
2024-04-17 20:28
test_longexp.py
308
B
-rw-r--r--
2024-04-17 20:28
test_lzma.py
69.44
KB
-rw-r--r--
2024-04-17 20:28
test_macpath.py
4.82
KB
-rw-r--r--
2024-04-17 20:28
test_macurl2path.py
1.8
KB
-rw-r--r--
2024-04-17 20:28
test_mailbox.py
90.48
KB
-rw-r--r--
2024-04-17 20:28
test_mailcap.py
9
KB
-rw-r--r--
2024-04-17 20:28
test_marshal.py
11.9
KB
-rw-r--r--
2024-04-17 20:28
test_math.py
45.89
KB
-rw-r--r--
2024-04-17 20:28
test_memoryio.py
28.07
KB
-rw-r--r--
2024-04-17 20:28
test_memoryview.py
15.41
KB
-rw-r--r--
2024-04-17 20:28
test_metaclass.py
6.2
KB
-rw-r--r--
2024-04-17 20:28
test_mimetypes.py
4.18
KB
-rw-r--r--
2024-04-17 20:28
test_minidom.py
61.08
KB
-rw-r--r--
2024-04-17 20:28
test_mmap.py
25.91
KB
-rw-r--r--
2024-04-17 20:28
test_module.py
5.82
KB
-rw-r--r--
2024-04-17 20:28
test_modulefinder.py
8.24
KB
-rw-r--r--
2024-04-17 20:28
test_msilib.py
1.43
KB
-rw-r--r--
2024-04-17 20:28
test_multibytecodec.py
11.27
KB
-rw-r--r--
2024-04-17 20:28
test_multiprocessing.py
108.06
KB
-rw-r--r--
2024-04-17 20:28
test_namespace_pkgs.py
9.19
KB
-rw-r--r--
2024-04-17 20:28
test_netrc.py
4.5
KB
-rw-r--r--
2024-04-17 20:28
test_nis.py
1.19
KB
-rw-r--r--
2024-04-17 20:28
test_nntplib.py
54.81
KB
-rw-r--r--
2024-04-17 20:28
test_normalization.py
3.15
KB
-rw-r--r--
2024-04-17 20:28
test_ntpath.py
15.13
KB
-rw-r--r--
2024-04-17 20:28
test_numeric_tower.py
7.27
KB
-rw-r--r--
2024-04-17 20:28
test_opcodes.py
2.61
KB
-rw-r--r--
2024-04-17 20:28
test_openpty.py
779
B
-rw-r--r--
2024-04-17 20:28
test_operator.py
16.59
KB
-rw-r--r--
2024-04-17 20:28
test_optparse.py
60.74
KB
-rw-r--r--
2024-04-17 20:28
test_os.py
80.83
KB
-rw-r--r--
2024-04-17 20:28
test_ossaudiodev.py
7.05
KB
-rw-r--r--
2024-04-17 20:28
test_osx_env.py
1.31
KB
-rw-r--r--
2024-04-17 20:28
test_parser.py
25.5
KB
-rw-r--r--
2024-04-17 20:28
test_pdb.py
21.79
KB
-rw-r--r--
2024-04-17 20:28
test_peepholer.py
12.47
KB
-rw-r--r--
2024-04-17 20:28
test_pep247.py
2.03
KB
-rw-r--r--
2024-04-17 20:28
test_pep263.py
2.74
KB
-rw-r--r--
2024-04-17 20:28
test_pep277.py
7.7
KB
-rw-r--r--
2024-04-17 20:28
test_pep292.py
9.32
KB
-rw-r--r--
2024-04-17 20:28
test_pep3120.py
1.24
KB
-rw-r--r--
2024-04-17 20:28
test_pep3131.py
977
B
-rw-r--r--
2024-04-17 20:28
test_pep3151.py
7.34
KB
-rw-r--r--
2024-04-17 20:28
test_pep352.py
6.98
KB
-rw-r--r--
2024-04-17 20:28
test_pep380.py
28.42
KB
-rw-r--r--
2024-04-17 20:28
test_pickle.py
4.41
KB
-rw-r--r--
2024-04-17 20:28
test_pickletools.py
643
B
-rw-r--r--
2024-04-17 20:28
test_pipes.py
6.32
KB
-rw-r--r--
2024-04-17 20:28
test_pkg.py
9.39
KB
-rw-r--r--
2024-04-17 20:28
test_pkgimport.py
2.71
KB
-rw-r--r--
2024-04-17 20:28
test_pkgutil.py
12.25
KB
-rw-r--r--
2024-04-17 20:28
test_platform.py
12.12
KB
-rw-r--r--
2024-04-17 20:28
test_plistlib.py
8.42
KB
-rw-r--r--
2024-04-17 20:28
test_poll.py
6.26
KB
-rw-r--r--
2024-04-17 20:28
test_popen.py
1.92
KB
-rw-r--r--
2024-04-17 20:28
test_poplib.py
11.67
KB
-rw-r--r--
2024-04-17 20:28
test_posix.py
47.3
KB
-rw-r--r--
2024-04-17 20:28
test_posixpath.py
25.56
KB
-rw-r--r--
2024-04-17 20:28
test_pow.py
4.49
KB
-rw-r--r--
2024-04-17 20:28
test_pprint.py
27.85
KB
-rw-r--r--
2024-04-17 20:28
test_print.py
4.57
KB
-rw-r--r--
2024-04-17 20:28
test_profile.py
6.84
KB
-rw-r--r--
2024-04-17 20:28
test_property.py
7.63
KB
-rw-r--r--
2024-04-17 20:28
test_pstats.py
1.26
KB
-rw-r--r--
2024-04-17 20:28
test_pty.py
11.12
KB
-rw-r--r--
2024-04-17 20:28
test_pulldom.py
12.17
KB
-rw-r--r--
2024-04-17 20:28
test_pwd.py
4.13
KB
-rw-r--r--
2024-04-17 20:28
test_py_compile.py
2.25
KB
-rw-r--r--
2024-04-17 20:28
test_pyclbr.py
6.8
KB
-rw-r--r--
2024-04-17 20:28
test_pydoc.py
23.26
KB
-rw-r--r--
2024-04-17 20:28
test_pyexpat.py
24.45
KB
-rw-r--r--
2024-04-17 20:28
test_queue.py
12.84
KB
-rw-r--r--
2024-04-17 20:28
test_quopri.py
7.53
KB
-rw-r--r--
2024-04-17 20:28
test_raise.py
11.08
KB
-rw-r--r--
2024-04-17 20:28
test_random.py
21.67
KB
-rw-r--r--
2024-04-17 20:28
test_range.py
22.62
KB
-rw-r--r--
2024-04-17 20:28
test_re.py
56.47
KB
-rw-r--r--
2024-04-17 20:28
test_readline.py
1.66
KB
-rw-r--r--
2024-04-17 20:28
test_reprlib.py
14.21
KB
-rw-r--r--
2024-04-17 20:28
test_resource.py
5.17
KB
-rw-r--r--
2024-04-17 20:28
test_richcmp.py
10.83
KB
-rw-r--r--
2024-04-17 20:28
test_rlcompleter.py
2.74
KB
-rw-r--r--
2024-04-17 20:28
test_robotparser.py
6.9
KB
-rw-r--r--
2024-04-17 20:28
test_runpy.py
23.24
KB
-rw-r--r--
2024-04-17 20:28
test_sax.py
33.48
KB
-rw-r--r--
2024-04-17 20:28
test_sched.py
6.48
KB
-rw-r--r--
2024-04-17 20:28
test_scope.py
19.59
KB
-rw-r--r--
2024-04-17 20:28
test_select.py
2.7
KB
-rw-r--r--
2024-04-17 20:28
test_set.py
62.31
KB
-rw-r--r--
2024-04-17 20:28
test_setcomps.py
3.7
KB
-rw-r--r--
2024-04-17 20:28
test_shelve.py
5.7
KB
-rw-r--r--
2024-04-17 20:28
test_shlex.py
5.77
KB
-rw-r--r--
2024-04-17 20:28
test_shutil.py
66.87
KB
-rw-r--r--
2024-04-17 20:28
test_signal.py
31.59
KB
-rw-r--r--
2024-04-17 20:28
test_site.py
17.32
KB
-rw-r--r--
2024-04-17 20:28
test_slice.py
4.33
KB
-rw-r--r--
2024-04-17 20:28
test_smtpd.py
22.06
KB
-rw-r--r--
2024-04-17 20:28
test_smtplib.py
33.58
KB
-rw-r--r--
2024-04-17 20:28
test_smtpnet.py
1.85
KB
-rw-r--r--
2024-04-17 20:28
test_sndhdr.py
869
B
-rw-r--r--
2024-04-17 20:28
test_socket.py
181.8
KB
-rw-r--r--
2024-04-17 20:28
test_socketserver.py
10.72
KB
-rw-r--r--
2024-04-17 20:28
test_sort.py
8.95
KB
-rw-r--r--
2024-04-17 20:28
test_sqlite.py
893
B
-rw-r--r--
2024-04-17 20:28
test_ssl.py
94.63
KB
-rw-r--r--
2024-04-17 20:28
test_startfile.py
1.21
KB
-rw-r--r--
2024-04-17 20:28
test_stat.py
6.29
KB
-rw-r--r--
2024-04-17 20:28
test_strftime.py
7.55
KB
-rw-r--r--
2024-04-17 20:28
test_string.py
6.11
KB
-rw-r--r--
2024-04-17 20:28
test_stringprep.py
3.12
KB
-rw-r--r--
2024-04-17 20:28
test_strlit.py
8.03
KB
-rw-r--r--
2024-04-17 20:28
test_strptime.py
25.84
KB
-rw-r--r--
2024-04-17 20:28
test_strtod.py
20.11
KB
-rw-r--r--
2024-04-17 20:28
test_struct.py
24.67
KB
-rw-r--r--
2024-04-17 20:28
test_structmembers.py
4.77
KB
-rw-r--r--
2024-04-17 20:28
test_structseq.py
3.96
KB
-rw-r--r--
2024-04-17 20:28
test_subprocess.py
96.46
KB
-rw-r--r--
2024-04-17 20:28
test_sunau.py
3.55
KB
-rw-r--r--
2024-04-17 20:28
test_sundry.py
2.12
KB
-rw-r--r--
2024-04-17 20:28
test_super.py
3.5
KB
-rw-r--r--
2024-04-17 20:28
test_support.py
10.03
KB
-rw-r--r--
2024-04-17 20:28
test_symtable.py
5.82
KB
-rw-r--r--
2024-04-17 20:28
test_syntax.py
17.64
KB
-rw-r--r--
2024-04-17 20:28
test_sys.py
33.13
KB
-rw-r--r--
2024-04-17 20:28
test_sys_setprofile.py
11.09
KB
-rw-r--r--
2024-04-17 20:28
test_sys_settrace.py
24.37
KB
-rw-r--r--
2024-04-17 20:28
test_sysconfig.py
15.75
KB
-rw-r--r--
2024-04-17 20:28
test_syslog.py
1.08
KB
-rw-r--r--
2024-04-17 20:28
test_tarfile.py
70.04
KB
-rw-r--r--
2024-04-17 20:28
test_tcl.py
20.19
KB
-rw-r--r--
2024-04-17 20:28
test_telnetlib.py
14.84
KB
-rw-r--r--
2024-04-17 20:28
test_tempfile.py
39.85
KB
-rw-r--r--
2024-04-17 20:28
test_textwrap.py
29.83
KB
-rw-r--r--
2024-04-17 20:28
test_thread.py
8.1
KB
-rw-r--r--
2024-04-17 20:28
test_threaded_import.py
8.12
KB
-rw-r--r--
2024-04-17 20:28
test_threadedtempfile.py
2.14
KB
-rw-r--r--
2024-04-17 20:28
test_threading.py
33.87
KB
-rw-r--r--
2024-04-17 20:28
test_threading_local.py
6.19
KB
-rw-r--r--
2024-04-17 20:28
test_threadsignals.py
8.88
KB
-rw-r--r--
2024-04-17 20:28
test_time.py
25.86
KB
-rw-r--r--
2024-04-17 20:28
test_timeit.py
10.83
KB
-rw-r--r--
2024-04-17 20:28
test_timeout.py
11.11
KB
-rw-r--r--
2024-04-17 20:28
test_tk.py
747
B
-rw-r--r--
2024-04-17 20:28
test_tokenize.py
47.22
KB
-rw-r--r--
2024-04-17 20:28
test_tools.py
12.48
KB
-rw-r--r--
2024-04-17 20:28
test_trace.py
14.48
KB
-rw-r--r--
2024-04-17 20:28
test_traceback.py
14.02
KB
-rw-r--r--
2024-04-17 20:28
test_ttk_guionly.py
1.05
KB
-rw-r--r--
2024-04-17 20:28
test_ttk_textonly.py
405
B
-rw-r--r--
2024-04-17 20:28
test_tuple.py
6.78
KB
-rw-r--r--
2024-04-17 20:28
test_typechecks.py
2.64
KB
-rw-r--r--
2024-04-17 20:28
test_types.py
41.34
KB
-rw-r--r--
2024-04-17 20:28
test_ucn.py
9.41
KB
-rw-r--r--
2024-04-17 20:28
test_unary.py
1.71
KB
-rw-r--r--
2024-04-17 20:28
test_unicode.py
104.9
KB
-rw-r--r--
2024-04-17 20:28
test_unicode_file.py
5.8
KB
-rw-r--r--
2024-04-17 20:28
test_unicodedata.py
12.06
KB
-rw-r--r--
2024-04-17 20:28
test_unittest.py
286
B
-rw-r--r--
2024-04-17 20:28
test_univnewlines.py
3.83
KB
-rw-r--r--
2024-04-17 20:28
test_unpack.py
2.56
KB
-rw-r--r--
2024-04-17 20:28
test_unpack_ex.py
4.04
KB
-rw-r--r--
2024-04-17 20:28
test_urllib.py
55.37
KB
-rw-r--r--
2024-04-17 20:28
test_urllib2.py
60.39
KB
-rw-r--r--
2024-04-17 20:28
test_urllib2_localnet.py
21.78
KB
-rw-r--r--
2024-04-17 20:28
test_urllib2net.py
12.94
KB
-rw-r--r--
2024-04-17 20:28
test_urllib_response.py
871
B
-rw-r--r--
2024-04-17 20:28
test_urllibnet.py
8.89
KB
-rw-r--r--
2024-04-17 20:28
test_urlparse.py
50.39
KB
-rw-r--r--
2024-04-17 20:28
test_userdict.py
6.32
KB
-rw-r--r--
2024-04-17 20:28
test_userlist.py
1.85
KB
-rw-r--r--
2024-04-17 20:28
test_userstring.py
1.44
KB
-rw-r--r--
2024-04-17 20:28
test_uu.py
6.71
KB
-rw-r--r--
2024-04-17 20:28
test_uuid.py
21.6
KB
-rw-r--r--
2024-04-17 20:28
test_venv.py
7.32
KB
-rw-r--r--
2024-04-17 20:28
test_wait3.py
1.2
KB
-rw-r--r--
2024-04-17 20:28
test_wait4.py
1.11
KB
-rw-r--r--
2024-04-17 20:28
test_warnings.py
32.76
KB
-rw-r--r--
2024-04-17 20:28
test_wave.py
4.39
KB
-rw-r--r--
2024-04-17 20:28
test_weakref.py
49.49
KB
-rw-r--r--
2024-04-17 20:28
test_weakset.py
15.18
KB
-rw-r--r--
2024-04-17 20:28
test_webbrowser.py
5.65
KB
-rw-r--r--
2024-04-17 20:28
test_winreg.py
19.99
KB
-rw-r--r--
2024-04-17 20:28
test_winsound.py
8.86
KB
-rw-r--r--
2024-04-17 20:28
test_with.py
25.88
KB
-rw-r--r--
2024-04-17 20:28
test_wsgiref.py
21.84
KB
-rw-r--r--
2024-04-17 20:28
test_xdrlib.py
1.56
KB
-rw-r--r--
2024-04-17 20:28
test_xml_dom_minicompat.py
2.91
KB
-rw-r--r--
2024-04-17 20:28
test_xml_etree.py
88.5
KB
-rw-r--r--
2024-04-17 20:28
test_xml_etree_c.py
2.53
KB
-rw-r--r--
2024-04-17 20:28
test_xmlrpc.py
41.85
KB
-rw-r--r--
2024-04-17 20:28
test_xmlrpc_net.py
1.89
KB
-rw-r--r--
2024-04-17 20:28
test_zipfile.py
65.66
KB
-rw-r--r--
2024-04-17 20:28
test_zipfile64.py
4.17
KB
-rw-r--r--
2024-04-17 20:28
test_zipimport.py
17
KB
-rw-r--r--
2024-04-17 20:28
test_zipimport_support.py
10.28
KB
-rw-r--r--
2024-04-17 20:28
test_zlib.py
26.14
KB
-rw-r--r--
2024-04-17 20:28
testcodec.py
1.02
KB
-rw-r--r--
2024-04-17 20:28
testtar.tar
425
KB
-rw-r--r--
2017-09-19 12:02
tf_inherit_check.py
578
B
-rw-r--r--
2024-04-17 20:28
threaded_import_hangers.py
1.45
KB
-rw-r--r--
2024-04-17 20:28
time_hashlib.py
2.82
KB
-rw-r--r--
2024-04-17 20:28
tokenize_tests-latin1-coding-cookie-and-utf8-bom-sig.txt
444
B
-rw-r--r--
2017-09-19 12:02
tokenize_tests-no-coding-cookie-and-utf8-bom-sig-only.txt
303
B
-rw-r--r--
2017-09-19 12:02
tokenize_tests-utf8-coding-cookie-and-no-utf8-bom-sig.txt
421
B
-rw-r--r--
2017-09-19 12:02
tokenize_tests-utf8-coding-cookie-and-utf8-bom-sig.txt
327
B
-rw-r--r--
2017-09-19 12:02
tokenize_tests.txt
2.65
KB
-rw-r--r--
2017-09-19 12:02
warning_tests.py
240
B
-rw-r--r--
2024-04-17 20:28
win_console_handler.py
1.38
KB
-rw-r--r--
2024-04-17 20:28
xmltests.py
499
B
-rw-r--r--
2024-04-17 20:28
zip_cp437_header.zip
270
B
-rw-r--r--
2017-09-19 12:02
zipdir.zip
374
B
-rw-r--r--
2017-09-19 12:02
Save
Rename
# Tests for the correctly-rounded string -> float conversions # introduced in Python 2.7 and 3.1. import random import unittest import re import sys import test.support if getattr(sys, 'float_repr_style', '') != 'short': raise unittest.SkipTest('correctly-rounded string->float conversions ' 'not available on this system') # Correctly rounded str -> float in pure Python, for comparison. strtod_parser = re.compile(r""" # A numeric string consists of: (?P<sign>[-+])? # an optional sign, followed by (?=\d|\.\d) # a number with at least one digit (?P<int>\d*) # having a (possibly empty) integer part (?:\.(?P<frac>\d*))? # followed by an optional fractional part (?:E(?P<exp>[-+]?\d+))? # and an optional exponent \Z """, re.VERBOSE | re.IGNORECASE).match # Pure Python version of correctly rounded string->float conversion. # Avoids any use of floating-point by returning the result as a hex string. def strtod(s, mant_dig=53, min_exp = -1021, max_exp = 1024): """Convert a finite decimal string to a hex string representing an IEEE 754 binary64 float. Return 'inf' or '-inf' on overflow. This function makes no use of floating-point arithmetic at any stage.""" # parse string into a pair of integers 'a' and 'b' such that # abs(decimal value) = a/b, along with a boolean 'negative'. m = strtod_parser(s) if m is None: raise ValueError('invalid numeric string') fraction = m.group('frac') or '' intpart = int(m.group('int') + fraction) exp = int(m.group('exp') or '0') - len(fraction) negative = m.group('sign') == '-' a, b = intpart*10**max(exp, 0), 10**max(0, -exp) # quick return for zeros if not a: return '-0x0.0p+0' if negative else '0x0.0p+0' # compute exponent e for result; may be one too small in the case # that the rounded value of a/b lies in a different binade from a/b d = a.bit_length() - b.bit_length() d += (a >> d if d >= 0 else a << -d) >= b e = max(d, min_exp) - mant_dig # approximate a/b by number of the form q * 2**e; adjust e if necessary a, b = a << max(-e, 0), b << max(e, 0) q, r = divmod(a, b) if 2*r > b or 2*r == b and q & 1: q += 1 if q.bit_length() == mant_dig+1: q //= 2 e += 1 # double check that (q, e) has the right form assert q.bit_length() <= mant_dig and e >= min_exp - mant_dig assert q.bit_length() == mant_dig or e == min_exp - mant_dig # check for overflow and underflow if e + q.bit_length() > max_exp: return '-inf' if negative else 'inf' if not q: return '-0x0.0p+0' if negative else '0x0.0p+0' # for hex representation, shift so # bits after point is a multiple of 4 hexdigs = 1 + (mant_dig-2)//4 shift = 3 - (mant_dig-2)%4 q, e = q << shift, e - shift return '{}0x{:x}.{:0{}x}p{:+d}'.format( '-' if negative else '', q // 16**hexdigs, q % 16**hexdigs, hexdigs, e + 4*hexdigs) TEST_SIZE = 10 class StrtodTests(unittest.TestCase): def check_strtod(self, s): """Compare the result of Python's builtin correctly rounded string->float conversion (using float) to a pure Python correctly rounded string->float implementation. Fail if the two methods give different results.""" try: fs = float(s) except OverflowError: got = '-inf' if s[0] == '-' else 'inf' except MemoryError: got = 'memory error' else: got = fs.hex() expected = strtod(s) self.assertEqual(expected, got, "Incorrectly rounded str->float conversion for {}: " "expected {}, got {}".format(s, expected, got)) def test_short_halfway_cases(self): # exact halfway cases with a small number of significant digits for k in 0, 5, 10, 15, 20: # upper = smallest integer >= 2**54/5**k upper = -(-2**54//5**k) # lower = smallest odd number >= 2**53/5**k lower = -(-2**53//5**k) if lower % 2 == 0: lower += 1 for i in range(TEST_SIZE): # Select a random odd n in [2**53/5**k, # 2**54/5**k). Then n * 10**k gives a halfway case # with small number of significant digits. n, e = random.randrange(lower, upper, 2), k # Remove any additional powers of 5. while n % 5 == 0: n, e = n // 5, e + 1 assert n % 10 in (1, 3, 7, 9) # Try numbers of the form n * 2**p2 * 10**e, p2 >= 0, # until n * 2**p2 has more than 20 significant digits. digits, exponent = n, e while digits < 10**20: s = '{}e{}'.format(digits, exponent) self.check_strtod(s) # Same again, but with extra trailing zeros. s = '{}e{}'.format(digits * 10**40, exponent - 40) self.check_strtod(s) digits *= 2 # Try numbers of the form n * 5**p2 * 10**(e - p5), p5 # >= 0, with n * 5**p5 < 10**20. digits, exponent = n, e while digits < 10**20: s = '{}e{}'.format(digits, exponent) self.check_strtod(s) # Same again, but with extra trailing zeros. s = '{}e{}'.format(digits * 10**40, exponent - 40) self.check_strtod(s) digits *= 5 exponent -= 1 def test_halfway_cases(self): # test halfway cases for the round-half-to-even rule for i in range(100 * TEST_SIZE): # bit pattern for a random finite positive (or +0.0) float bits = random.randrange(2047*2**52) # convert bit pattern to a number of the form m * 2**e e, m = divmod(bits, 2**52) if e: m, e = m + 2**52, e - 1 e -= 1074 # add 0.5 ulps m, e = 2*m + 1, e - 1 # convert to a decimal string if e >= 0: digits = m << e exponent = 0 else: # m * 2**e = (m * 5**-e) * 10**e digits = m * 5**-e exponent = e s = '{}e{}'.format(digits, exponent) self.check_strtod(s) def test_boundaries(self): # boundaries expressed as triples (n, e, u), where # n*10**e is an approximation to the boundary value and # u*10**e is 1ulp boundaries = [ (10000000000000000000, -19, 1110), # a power of 2 boundary (1.0) (17976931348623159077, 289, 1995), # overflow boundary (2.**1024) (22250738585072013831, -327, 4941), # normal/subnormal (2.**-1022) (0, -327, 4941), # zero ] for n, e, u in boundaries: for j in range(1000): digits = n + random.randrange(-3*u, 3*u) exponent = e s = '{}e{}'.format(digits, exponent) self.check_strtod(s) n *= 10 u *= 10 e -= 1 def test_underflow_boundary(self): # test values close to 2**-1075, the underflow boundary; similar # to boundary_tests, except that the random error doesn't scale # with n for exponent in range(-400, -320): base = 10**-exponent // 2**1075 for j in range(TEST_SIZE): digits = base + random.randrange(-1000, 1000) s = '{}e{}'.format(digits, exponent) self.check_strtod(s) def test_bigcomp(self): for ndigs in 5, 10, 14, 15, 16, 17, 18, 19, 20, 40, 41, 50: dig10 = 10**ndigs for i in range(10 * TEST_SIZE): digits = random.randrange(dig10) exponent = random.randrange(-400, 400) s = '{}e{}'.format(digits, exponent) self.check_strtod(s) def test_parsing(self): # make '0' more likely to be chosen than other digits digits = '000000123456789' signs = ('+', '-', '') # put together random short valid strings # \d*[.\d*]?e for i in range(1000): for j in range(TEST_SIZE): s = random.choice(signs) intpart_len = random.randrange(5) s += ''.join(random.choice(digits) for _ in range(intpart_len)) if random.choice([True, False]): s += '.' fracpart_len = random.randrange(5) s += ''.join(random.choice(digits) for _ in range(fracpart_len)) else: fracpart_len = 0 if random.choice([True, False]): s += random.choice(['e', 'E']) s += random.choice(signs) exponent_len = random.randrange(1, 4) s += ''.join(random.choice(digits) for _ in range(exponent_len)) if intpart_len + fracpart_len: self.check_strtod(s) else: try: float(s) except ValueError: pass else: assert False, "expected ValueError" @test.support.bigmemtest(size=test.support._2G+10, memuse=4, dry_run=False) def test_oversized_digit_strings(self, maxsize): # Input string whose length doesn't fit in an INT. s = "1." + "1" * maxsize with self.assertRaises(ValueError): float(s) del s s = "0." + "0" * maxsize + "1" with self.assertRaises(ValueError): float(s) del s def test_large_exponents(self): # Verify that the clipping of the exponent in strtod doesn't affect the # output values. def positive_exp(n): """ Long string with value 1.0 and exponent n""" return '0.{}1e+{}'.format('0'*(n-1), n) def negative_exp(n): """ Long string with value 1.0 and exponent -n""" return '1{}e-{}'.format('0'*n, n) self.assertEqual(float(positive_exp(10000)), 1.0) self.assertEqual(float(positive_exp(20000)), 1.0) self.assertEqual(float(positive_exp(30000)), 1.0) self.assertEqual(float(negative_exp(10000)), 1.0) self.assertEqual(float(negative_exp(20000)), 1.0) self.assertEqual(float(negative_exp(30000)), 1.0) def test_particular(self): # inputs that produced crashes or incorrectly rounded results with # previous versions of dtoa.c, for various reasons test_strings = [ # issue 7632 bug 1, originally reported failing case '2183167012312112312312.23538020374420446192e-370', # 5 instances of issue 7632 bug 2 '12579816049008305546974391768996369464963024663104e-357', '17489628565202117263145367596028389348922981857013e-357', '18487398785991994634182916638542680759613590482273e-357', '32002864200581033134358724675198044527469366773928e-358', '94393431193180696942841837085033647913224148539854e-358', '73608278998966969345824653500136787876436005957953e-358', '64774478836417299491718435234611299336288082136054e-358', '13704940134126574534878641876947980878824688451169e-357', '46697445774047060960624497964425416610480524760471e-358', # failing case for bug introduced by METD in r77451 (attempted # fix for issue 7632, bug 2), and fixed in r77482. '28639097178261763178489759107321392745108491825303e-311', # two numbers demonstrating a flaw in the bigcomp 'dig == 0' # correction block (issue 7632, bug 3) '1.00000000000000001e44', '1.0000000000000000100000000000000000000001e44', # dtoa.c bug for numbers just smaller than a power of 2 (issue # 7632, bug 4) '99999999999999994487665465554760717039532578546e-47', # failing case for off-by-one error introduced by METD in # r77483 (dtoa.c cleanup), fixed in r77490 '965437176333654931799035513671997118345570045914469' #... '6213413350821416312194420007991306908470147322020121018368e0', # incorrect lsb detection for round-half-to-even when # bc->scale != 0 (issue 7632, bug 6). '104308485241983990666713401708072175773165034278685' #... '682646111762292409330928739751702404658197872319129' #... '036519947435319418387839758990478549477777586673075' #... '945844895981012024387992135617064532141489278815239' #... '849108105951619997829153633535314849999674266169258' #... '928940692239684771590065027025835804863585454872499' #... '320500023126142553932654370362024104462255244034053' #... '203998964360882487378334860197725139151265590832887' #... '433736189468858614521708567646743455601905935595381' #... '852723723645799866672558576993978025033590728687206' #... '296379801363024094048327273913079612469982585674824' #... '156000783167963081616214710691759864332339239688734' #... '656548790656486646106983450809073750535624894296242' #... '072010195710276073042036425579852459556183541199012' #... '652571123898996574563824424330960027873516082763671875e-1075', # demonstration that original fix for issue 7632 bug 1 was # buggy; the exit condition was too strong '247032822920623295e-341', # demonstrate similar problem to issue 7632 bug1: crash # with 'oversized quotient in quorem' message. '99037485700245683102805043437346965248029601286431e-373', '99617639833743863161109961162881027406769510558457e-373', '98852915025769345295749278351563179840130565591462e-372', '99059944827693569659153042769690930905148015876788e-373', '98914979205069368270421829889078356254059760327101e-372', # issue 7632 bug 5: the following 2 strings convert differently '1000000000000000000000000000000000000000e-16', '10000000000000000000000000000000000000000e-17', # issue 7632 bug 7 '991633793189150720000000000000000000000000000000000000000e-33', # And another, similar, failing halfway case '4106250198039490000000000000000000000000000000000000000e-38', # issue 7632 bug 8: the following produced 10.0 '10.900000000000000012345678912345678912345', # two humongous values from issue 7743 '116512874940594195638617907092569881519034793229385' #... '228569165191541890846564669771714896916084883987920' #... '473321268100296857636200926065340769682863349205363' #... '349247637660671783209907949273683040397979984107806' #... '461822693332712828397617946036239581632976585100633' #... '520260770761060725403904123144384571612073732754774' #... '588211944406465572591022081973828448927338602556287' #... '851831745419397433012491884869454462440536895047499' #... '436551974649731917170099387762871020403582994193439' #... '761933412166821484015883631622539314203799034497982' #... '130038741741727907429575673302461380386596501187482' #... '006257527709842179336488381672818798450229339123527' #... '858844448336815912020452294624916993546388956561522' #... '161875352572590420823607478788399460162228308693742' #... '05287663441403533948204085390898399055004119873046875e-1075', '525440653352955266109661060358202819561258984964913' #... '892256527849758956045218257059713765874251436193619' #... '443248205998870001633865657517447355992225852945912' #... '016668660000210283807209850662224417504752264995360' #... '631512007753855801075373057632157738752800840302596' #... '237050247910530538250008682272783660778181628040733' #... '653121492436408812668023478001208529190359254322340' #... '397575185248844788515410722958784640926528544043090' #... '115352513640884988017342469275006999104519620946430' #... '818767147966495485406577703972687838176778993472989' #... '561959000047036638938396333146685137903018376496408' #... '319705333868476925297317136513970189073693314710318' #... '991252811050501448326875232850600451776091303043715' #... '157191292827614046876950225714743118291034780466325' #... '085141343734564915193426994587206432697337118211527' #... '278968731294639353354774788602467795167875117481660' #... '4738791256853675690543663283782215866825e-1180', # exercise exit conditions in bigcomp comparison loop '2602129298404963083833853479113577253105939995688e2', '260212929840496308383385347911357725310593999568896e0', '26021292984049630838338534791135772531059399956889601e-2', '260212929840496308383385347911357725310593999568895e0', '260212929840496308383385347911357725310593999568897e0', '260212929840496308383385347911357725310593999568996e0', '260212929840496308383385347911357725310593999568866e0', # 2**53 '9007199254740992.00', # 2**1024 - 2**970: exact overflow boundary. All values # smaller than this should round to something finite; any value # greater than or equal to this one overflows. '179769313486231580793728971405303415079934132710037' #... '826936173778980444968292764750946649017977587207096' #... '330286416692887910946555547851940402630657488671505' #... '820681908902000708383676273854845817711531764475730' #... '270069855571366959622842914819860834936475292719074' #... '168444365510704342711559699508093042880177904174497792', # 2**1024 - 2**970 - tiny '179769313486231580793728971405303415079934132710037' #... '826936173778980444968292764750946649017977587207096' #... '330286416692887910946555547851940402630657488671505' #... '820681908902000708383676273854845817711531764475730' #... '270069855571366959622842914819860834936475292719074' #... '168444365510704342711559699508093042880177904174497791.999', # 2**1024 - 2**970 + tiny '179769313486231580793728971405303415079934132710037' #... '826936173778980444968292764750946649017977587207096' #... '330286416692887910946555547851940402630657488671505' #... '820681908902000708383676273854845817711531764475730' #... '270069855571366959622842914819860834936475292719074' #... '168444365510704342711559699508093042880177904174497792.001', # 1 - 2**-54, +-tiny '999999999999999944488848768742172978818416595458984375e-54', '9999999999999999444888487687421729788184165954589843749999999e-54', '9999999999999999444888487687421729788184165954589843750000001e-54', # Value found by Rick Regan that gives a result of 2**-968 # under Gay's dtoa.c (as of Nov 04, 2010); since fixed. # (Fixed some time ago in Python's dtoa.c.) '0.0000000000000000000000000000000000000000100000000' #... '000000000576129113423785429971690421191214034235435' #... '087147763178149762956868991692289869941246658073194' #... '51982237978882039897143840789794921875', ] for s in test_strings: self.check_strtod(s) def test_main(): test.support.run_unittest(StrtodTests) if __name__ == "__main__": test_main()