Windows NT DGPENSV2LPKMN 10.0 build 14393 (Windows Server 2016) AMD64
Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.3.25
: 172.16.0.66 | : 172.16.0.254
Cant Read [ /etc/named.conf ]
7.3.25
SYSTEM
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
[ A ]
[ C ]
[ D ]
C: /
laragon /
bin /
python /
python-3.10 /
Lib /
test /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxrwxrwx
audiodata
[ DIR ]
drwxrwxrwx
capath
[ DIR ]
drwxrwxrwx
cjkencodings
[ DIR ]
drwxrwxrwx
crashers
[ DIR ]
drwxrwxrwx
data
[ DIR ]
drwxrwxrwx
decimaltestdata
[ DIR ]
drwxrwxrwx
dtracedata
[ DIR ]
drwxrwxrwx
encoded_modules
[ DIR ]
drwxrwxrwx
imghdrdata
[ DIR ]
drwxrwxrwx
leakers
[ DIR ]
drwxrwxrwx
libregrtest
[ DIR ]
drwxrwxrwx
sndhdrdata
[ DIR ]
drwxrwxrwx
subprocessdata
[ DIR ]
drwxrwxrwx
support
[ DIR ]
drwxrwxrwx
test_asyncio
[ DIR ]
drwxrwxrwx
test_email
[ DIR ]
drwxrwxrwx
test_import
[ DIR ]
drwxrwxrwx
test_importlib
[ DIR ]
drwxrwxrwx
test_json
[ DIR ]
drwxrwxrwx
test_peg_generator
[ DIR ]
drwxrwxrwx
test_tools
[ DIR ]
drwxrwxrwx
test_warnings
[ DIR ]
drwxrwxrwx
test_zoneinfo
[ DIR ]
drwxrwxrwx
tracedmodules
[ DIR ]
drwxrwxrwx
xmltestdata
[ DIR ]
drwxrwxrwx
ziptestdata
[ DIR ]
drwxrwxrwx
Sine-1000Hz-300ms.aif
60.25
KB
-rw-rw-rw-
__init__.py
48
B
-rw-rw-rw-
__main__.py
43
B
-rw-rw-rw-
_test_atexit.py
3.75
KB
-rw-rw-rw-
_test_eintr.py
18.17
KB
-rw-rw-rw-
_test_embed_set_config.py
8.81
KB
-rw-rw-rw-
_test_multiprocessing.py
199.1
KB
-rw-rw-rw-
_typed_dict_helper.py
512
B
-rw-rw-rw-
allsans.pem
10.03
KB
-rw-rw-rw-
ann_module.py
1.15
KB
-rw-rw-rw-
ann_module2.py
555
B
-rw-rw-rw-
ann_module3.py
466
B
-rw-rw-rw-
ann_module4.py
86
B
-rw-rw-rw-
ann_module5.py
212
B
-rw-rw-rw-
ann_module6.py
145
B
-rw-rw-rw-
ann_module7.py
306
B
-rw-rw-rw-
audiotest.au
27.48
KB
-rw-rw-rw-
audiotests.py
12.46
KB
-rw-rw-rw-
audit-tests.py
11.09
KB
-rw-rw-rw-
autotest.py
214
B
-rw-rw-rw-
bad_coding.py
25
B
-rw-rw-rw-
bad_coding2.py
32
B
-rw-rw-rw-
bad_getattr.py
65
B
-rw-rw-rw-
bad_getattr2.py
84
B
-rw-rw-rw-
bad_getattr3.py
144
B
-rw-rw-rw-
badcert.pem
1.92
KB
-rw-rw-rw-
badkey.pem
2.15
KB
-rw-rw-rw-
badsyntax_3131.py
34
B
-rw-rw-rw-
badsyntax_future10.py
98
B
-rw-rw-rw-
badsyntax_future3.py
182
B
-rw-rw-rw-
badsyntax_future4.py
163
B
-rw-rw-rw-
badsyntax_future5.py
196
B
-rw-rw-rw-
badsyntax_future6.py
171
B
-rw-rw-rw-
badsyntax_future7.py
207
B
-rw-rw-rw-
badsyntax_future8.py
132
B
-rw-rw-rw-
badsyntax_future9.py
152
B
-rw-rw-rw-
badsyntax_pep3120.py
15
B
-rw-rw-rw-
bisect_cmd.py
5.39
KB
-rw-rw-rw-
cfgparser.1
70
B
-rw-rw-rw-
cfgparser.2
19.54
KB
-rw-rw-rw-
cfgparser.3
1.62
KB
-rw-rw-rw-
clinic.test
97.34
KB
-rw-rw-rw-
cmath_testcases.txt
143.5
KB
-rw-rw-rw-
coding20731.py
22
B
-rw-rw-rw-
curses_tests.py
1.26
KB
-rw-rw-rw-
dataclass_module_1.py
869
B
-rw-rw-rw-
dataclass_module_1_str.py
867
B
-rw-rw-rw-
dataclass_module_2.py
788
B
-rw-rw-rw-
dataclass_module_2_str.py
786
B
-rw-rw-rw-
dataclass_textanno.py
138
B
-rw-rw-rw-
datetimetester.py
251.38
KB
-rw-rw-rw-
dis_module.py
81
B
-rw-rw-rw-
doctest_aliases.py
253
B
-rw-rw-rw-
doctest_lineno.py
964
B
-rw-rw-rw-
double_const.py
1.21
KB
-rw-rw-rw-
empty.vbs
70
B
-rw-rw-rw-
exception_hierarchy.txt
1.87
KB
-rw-rw-rw-
ffdh3072.pem
2.2
KB
-rw-rw-rw-
final_a.py
430
B
-rw-rw-rw-
final_b.py
430
B
-rw-rw-rw-
floating_points.txt
16.92
KB
-rw-rw-rw-
fork_wait.py
2.31
KB
-rw-rw-rw-
formatfloat_testcases.txt
7.8
KB
-rw-rw-rw-
future_test1.py
240
B
-rw-rw-rw-
future_test2.py
159
B
-rw-rw-rw-
gdb_sample.py
165
B
-rw-rw-rw-
good_getattr.py
209
B
-rw-rw-rw-
idnsans.pem
9.88
KB
-rw-rw-rw-
ieee754.txt
3.39
KB
-rw-rw-rw-
imp_dummy.py
66
B
-rw-rw-rw-
inspect_fodder.py
1.99
KB
-rw-rw-rw-
inspect_fodder2.py
3.64
KB
-rw-rw-rw-
inspect_stock_annotations.py
537
B
-rw-rw-rw-
inspect_stringized_annotations...
646
B
-rw-rw-rw-
inspect_stringized_annotations...
63
B
-rw-rw-rw-
keycert.passwd.pem
4.19
KB
-rw-rw-rw-
keycert.pem
4.03
KB
-rw-rw-rw-
keycert2.pem
4.05
KB
-rw-rw-rw-
keycert3.pem
9.39
KB
-rw-rw-rw-
keycert4.pem
9.4
KB
-rw-rw-rw-
keycertecc.pem
5.61
KB
-rw-rw-rw-
list_tests.py
17.2
KB
-rw-rw-rw-
lock_tests.py
31.14
KB
-rw-rw-rw-
mailcap.txt
1.28
KB
-rw-rw-rw-
make_ssl_certs.py
9.55
KB
-rw-rw-rw-
mapping_tests.py
22.49
KB
-rw-rw-rw-
math_testcases.txt
23.8
KB
-rw-rw-rw-
memory_watchdog.py
887
B
-rw-rw-rw-
mime.types
48.78
KB
-rw-rw-rw-
mock_socket.py
3.86
KB
-rw-rw-rw-
mod_generics_cache.py
1.18
KB
-rw-rw-rw-
mp_fork_bomb.py
466
B
-rw-rw-rw-
mp_preload.py
369
B
-rw-rw-rw-
multibytecodec_support.py
14.56
KB
-rw-rw-rw-
nokia.pem
1.91
KB
-rw-rw-rw-
nosan.pem
7.67
KB
-rw-rw-rw-
nullbytecert.pem
5.4
KB
-rw-rw-rw-
nullcert.pem
0
B
-rw-rw-rw-
pickletester.py
142.98
KB
-rw-rw-rw-
profilee.py
3.08
KB
-rw-rw-rw-
pstats.pck
65.05
KB
-rw-rw-rw-
pycacert.pem
5.63
KB
-rw-rw-rw-
pycakey.pem
2.46
KB
-rw-rw-rw-
pyclbr_input.py
681
B
-rw-rw-rw-
pydoc_mod.py
1010
B
-rw-rw-rw-
pydocfodder.py
6.39
KB
-rw-rw-rw-
pythoninfo.py
24.41
KB
-rw-rw-rw-
randv2_32.pck
7.34
KB
-rw-rw-rw-
randv2_64.pck
7.19
KB
-rw-rw-rw-
randv3.pck
7.82
KB
-rw-rw-rw-
re_tests.py
26.48
KB
-rw-rw-rw-
recursion.tar
516
B
-rw-rw-rw-
regrtest.py
1.31
KB
-rw-rw-rw-
relimport.py
28
B
-rw-rw-rw-
reperf.py
561
B
-rw-rw-rw-
revocation.crl
814
B
-rw-rw-rw-
sample_doctest.py
1.09
KB
-rw-rw-rw-
sample_doctest_no_docstrings.p...
239
B
-rw-rw-rw-
sample_doctest_no_doctests.py
284
B
-rw-rw-rw-
secp384r1.pem
263
B
-rw-rw-rw-
selfsigned_pythontestdotnet.pe...
2.11
KB
-rw-rw-rw-
seq_tests.py
15.29
KB
-rw-rw-rw-
sgml_input.html
8.31
KB
-rw-rw-rw-
signalinterproctester.py
2.82
KB
-rw-rw-rw-
sortperf.py
4.86
KB
-rw-rw-rw-
ssl_cert.pem
1.56
KB
-rw-rw-rw-
ssl_key.passwd.pem
2.63
KB
-rw-rw-rw-
ssl_key.pem
2.47
KB
-rw-rw-rw-
ssl_servers.py
7.31
KB
-rw-rw-rw-
ssltests.py
1.06
KB
-rw-rw-rw-
string_tests.py
69.47
KB
-rw-rw-rw-
talos-2019-0758.pem
1.32
KB
-rw-rw-rw-
test___all__.py
4.66
KB
-rw-rw-rw-
test___future__.py
2.42
KB
-rw-rw-rw-
test__locale.py
8.02
KB
-rw-rw-rw-
test__opcode.py
3.11
KB
-rw-rw-rw-
test__osx_support.py
13.96
KB
-rw-rw-rw-
test__xxsubinterpreters.py
81.21
KB
-rw-rw-rw-
test_abc.py
23.85
KB
-rw-rw-rw-
test_abstract_numbers.py
1.54
KB
-rw-rw-rw-
test_aifc.py
18.2
KB
-rw-rw-rw-
test_argparse.py
185.85
KB
-rw-rw-rw-
test_array.py
56.79
KB
-rw-rw-rw-
test_asdl_parser.py
4.57
KB
-rw-rw-rw-
test_ast.py
107.34
KB
-rw-rw-rw-
test_asyncgen.py
48.43
KB
-rw-rw-rw-
test_asynchat.py
9.68
KB
-rw-rw-rw-
test_asyncore.py
26.95
KB
-rw-rw-rw-
test_atexit.py
3.25
KB
-rw-rw-rw-
test_audioop.py
28.79
KB
-rw-rw-rw-
test_audit.py
5.56
KB
-rw-rw-rw-
test_augassign.py
8
KB
-rw-rw-rw-
test_base64.py
35.28
KB
-rw-rw-rw-
test_baseexception.py
7.05
KB
-rw-rw-rw-
test_bdb.py
44.64
KB
-rw-rw-rw-
test_bigaddrspace.py
2.93
KB
-rw-rw-rw-
test_bigmem.py
46.01
KB
-rw-rw-rw-
test_binascii.py
19.72
KB
-rw-rw-rw-
test_binhex.py
2.17
KB
-rw-rw-rw-
test_binop.py
14.57
KB
-rw-rw-rw-
test_bisect.py
16.09
KB
-rw-rw-rw-
test_bool.py
12.89
KB
-rw-rw-rw-
test_buffer.py
164.64
KB
-rw-rw-rw-
test_bufio.py
2.65
KB
-rw-rw-rw-
test_builtin.py
87.93
KB
-rw-rw-rw-
test_bytes.py
78.01
KB
-rw-rw-rw-
test_bz2.py
38.22
KB
-rw-rw-rw-
test_c_locale_coercion.py
19.35
KB
-rw-rw-rw-
test_calendar.py
51.76
KB
-rw-rw-rw-
test_call.py
26.95
KB
-rw-rw-rw-
test_capi.py
41.78
KB
-rw-rw-rw-
test_cgi.py
22.89
KB
-rw-rw-rw-
test_cgitb.py
2.61
KB
-rw-rw-rw-
test_charmapcodec.py
1.83
KB
-rw-rw-rw-
test_check_c_globals.py
773
B
-rw-rw-rw-
test_class.py
18.07
KB
-rw-rw-rw-
test_clinic.py
22.35
KB
-rw-rw-rw-
test_cmath.py
24.71
KB
-rw-rw-rw-
test_cmd.py
6.34
KB
-rw-rw-rw-
test_cmd_line.py
36.79
KB
-rw-rw-rw-
test_cmd_line_script.py
33.44
KB
-rw-rw-rw-
test_code.py
13.11
KB
-rw-rw-rw-
test_code_module.py
5.69
KB
-rw-rw-rw-
test_codeccallbacks.py
48.64
KB
-rw-rw-rw-
test_codecencodings_cn.py
3.95
KB
-rw-rw-rw-
test_codecencodings_hk.py
723
B
-rw-rw-rw-
test_codecencodings_iso2022.py
1.4
KB
-rw-rw-rw-
test_codecencodings_jp.py
4.92
KB
-rw-rw-rw-
test_codecencodings_kr.py
3.02
KB
-rw-rw-rw-
test_codecencodings_tw.py
703
B
-rw-rw-rw-
test_codecmaps_cn.py
772
B
-rw-rw-rw-
test_codecmaps_hk.py
401
B
-rw-rw-rw-
test_codecmaps_jp.py
1.76
KB
-rw-rw-rw-
test_codecmaps_kr.py
1.2
KB
-rw-rw-rw-
test_codecmaps_tw.py
732
B
-rw-rw-rw-
test_codecs.py
136.49
KB
-rw-rw-rw-
test_codeop.py
8.65
KB
-rw-rw-rw-
test_collections.py
94.1
KB
-rw-rw-rw-
test_colorsys.py
3.93
KB
-rw-rw-rw-
test_compare.py
3.85
KB
-rw-rw-rw-
test_compile.py
45.9
KB
-rw-rw-rw-
test_compileall.py
47.1
KB
-rw-rw-rw-
test_complex.py
33.54
KB
-rw-rw-rw-
test_concurrent_futures.py
57.2
KB
-rw-rw-rw-
test_configparser.py
87.49
KB
-rw-rw-rw-
test_contains.py
3.46
KB
-rw-rw-rw-
test_context.py
31.7
KB
-rw-rw-rw-
test_contextlib.py
36.33
KB
-rw-rw-rw-
test_contextlib_async.py
19.36
KB
-rw-rw-rw-
test_copy.py
27.28
KB
-rw-rw-rw-
test_copyreg.py
4.52
KB
-rw-rw-rw-
test_coroutines.py
65.27
KB
-rw-rw-rw-
test_cprofile.py
6.45
KB
-rw-rw-rw-
test_crashers.py
1.21
KB
-rw-rw-rw-
test_crypt.py
4.25
KB
-rw-rw-rw-
test_csv.py
52.95
KB
-rw-rw-rw-
test_ctypes.py
209
B
-rw-rw-rw-
test_curses.py
47.87
KB
-rw-rw-rw-
test_dataclasses.py
129.65
KB
-rw-rw-rw-
test_datetime.py
2.37
KB
-rw-rw-rw-
test_dbm.py
6.3
KB
-rw-rw-rw-
test_dbm_dumb.py
10.97
KB
-rw-rw-rw-
test_dbm_gnu.py
6.68
KB
-rw-rw-rw-
test_dbm_ndbm.py
5.24
KB
-rw-rw-rw-
test_decimal.py
214.93
KB
-rw-rw-rw-
test_decorators.py
14.87
KB
-rw-rw-rw-
test_defaultdict.py
6.31
KB
-rw-rw-rw-
test_deque.py
34.67
KB
-rw-rw-rw-
test_descr.py
198.27
KB
-rw-rw-rw-
test_descrtut.py
12.03
KB
-rw-rw-rw-
test_devpoll.py
4.58
KB
-rw-rw-rw-
test_dict.py
52.3
KB
-rw-rw-rw-
test_dict_version.py
6.28
KB
-rw-rw-rw-
test_dictcomps.py
5.28
KB
-rw-rw-rw-
test_dictviews.py
13.81
KB
-rw-rw-rw-
test_difflib.py
22.02
KB
-rw-rw-rw-
test_difflib_expect.html
101.36
KB
-rw-rw-rw-
test_dis.py
57.74
KB
-rw-rw-rw-
test_distutils.py
615
B
-rw-rw-rw-
test_doctest.py
104.21
KB
-rw-rw-rw-
test_doctest.txt
317
B
-rw-rw-rw-
test_doctest2.py
2.48
KB
-rw-rw-rw-
test_doctest2.txt
406
B
-rw-rw-rw-
test_doctest3.txt
87
B
-rw-rw-rw-
test_doctest4.txt
255
B
-rw-rw-rw-
test_docxmlrpc.py
8.88
KB
-rw-rw-rw-
test_dtrace.py
5.31
KB
-rw-rw-rw-
test_dynamic.py
4.43
KB
-rw-rw-rw-
test_dynamicclassattribute.py
9.86
KB
-rw-rw-rw-
test_eintr.py
604
B
-rw-rw-rw-
test_embed.py
57.38
KB
-rw-rw-rw-
test_ensurepip.py
12.55
KB
-rw-rw-rw-
test_enum.py
124.47
KB
-rw-rw-rw-
test_enumerate.py
8.74
KB
-rw-rw-rw-
test_eof.py
3.1
KB
-rw-rw-rw-
test_epoll.py
9.39
KB
-rw-rw-rw-
test_errno.py
1.08
KB
-rw-rw-rw-
test_exception_hierarchy.py
7.63
KB
-rw-rw-rw-
test_exception_variations.py
4.03
KB
-rw-rw-rw-
test_exceptions.py
93.28
KB
-rw-rw-rw-
test_extcall.py
14.57
KB
-rw-rw-rw-
test_faulthandler.py
30.98
KB
-rw-rw-rw-
test_fcntl.py
7.64
KB
-rw-rw-rw-
test_file.py
12.12
KB
-rw-rw-rw-
test_file_eintr.py
10.86
KB
-rw-rw-rw-
test_filecmp.py
10.57
KB
-rw-rw-rw-
test_fileinput.py
40.5
KB
-rw-rw-rw-
test_fileio.py
20.53
KB
-rw-rw-rw-
test_finalization.py
15.18
KB
-rw-rw-rw-
test_float.py
67.75
KB
-rw-rw-rw-
test_flufl.py
1.59
KB
-rw-rw-rw-
test_fnmatch.py
11.38
KB
-rw-rw-rw-
test_fork1.py
3.34
KB
-rw-rw-rw-
test_format.py
24.42
KB
-rw-rw-rw-
test_fractions.py
30.41
KB
-rw-rw-rw-
test_frame.py
6.44
KB
-rw-rw-rw-
test_frozen.py
972
B
-rw-rw-rw-
test_fstring.py
53.85
KB
-rw-rw-rw-
test_ftplib.py
43.12
KB
-rw-rw-rw-
test_funcattrs.py
15.29
KB
-rw-rw-rw-
test_functools.py
105.51
KB
-rw-rw-rw-
test_future.py
15.27
KB
-rw-rw-rw-
test_future3.py
516
B
-rw-rw-rw-
test_future4.py
233
B
-rw-rw-rw-
test_future5.py
531
B
-rw-rw-rw-
test_gc.py
47.3
KB
-rw-rw-rw-
test_gdb.py
42.7
KB
-rw-rw-rw-
test_generator_stop.py
977
B
-rw-rw-rw-
test_generators.py
66.11
KB
-rw-rw-rw-
test_genericalias.py
13.1
KB
-rw-rw-rw-
test_genericclass.py
9.56
KB
-rw-rw-rw-
test_genericpath.py
22.4
KB
-rw-rw-rw-
test_genexps.py
7.92
KB
-rw-rw-rw-
test_getargs2.py
55.19
KB
-rw-rw-rw-
test_getopt.py
6.96
KB
-rw-rw-rw-
test_getpass.py
6.45
KB
-rw-rw-rw-
test_gettext.py
42.36
KB
-rw-rw-rw-
test_glob.py
15.72
KB
-rw-rw-rw-
test_global.py
1.44
KB
-rw-rw-rw-
test_grammar.py
64.47
KB
-rw-rw-rw-
test_graphlib.py
8.59
KB
-rw-rw-rw-
test_grp.py
3.65
KB
-rw-rw-rw-
test_gzip.py
31.45
KB
-rw-rw-rw-
test_hash.py
11.79
KB
-rw-rw-rw-
test_hashlib.py
45.59
KB
-rw-rw-rw-
test_heapq.py
16.91
KB
-rw-rw-rw-
test_hmac.py
26.05
KB
-rw-rw-rw-
test_html.py
4.33
KB
-rw-rw-rw-
test_htmlparser.py
33.7
KB
-rw-rw-rw-
test_http_cookiejar.py
80.28
KB
-rw-rw-rw-
test_http_cookies.py
19.18
KB
-rw-rw-rw-
test_httplib.py
81.2
KB
-rw-rw-rw-
test_httpservers.py
54.65
KB
-rw-rw-rw-
test_idle.py
1.02
KB
-rw-rw-rw-
test_imaplib.py
43.19
KB
-rw-rw-rw-
test_imghdr.py
4.83
KB
-rw-rw-rw-
test_imp.py
18.38
KB
-rw-rw-rw-
test_index.py
8.64
KB
-rw-rw-rw-
test_inspect.py
175.5
KB
-rw-rw-rw-
test_int.py
21.27
KB
-rw-rw-rw-
test_int_literal.py
7.03
KB
-rw-rw-rw-
test_interpreters.py
23.21
KB
-rw-rw-rw-
test_io.py
175.17
KB
-rw-rw-rw-
test_ioctl.py
3.33
KB
-rw-rw-rw-
test_ipaddress.py
119.32
KB
-rw-rw-rw-
test_isinstance.py
13.31
KB
-rw-rw-rw-
test_iter.py
33.93
KB
-rw-rw-rw-
test_iterlen.py
7.32
KB
-rw-rw-rw-
test_itertools.py
108.41
KB
-rw-rw-rw-
test_keyword.py
1.27
KB
-rw-rw-rw-
test_keywordonlyarg.py
7.07
KB
-rw-rw-rw-
test_kqueue.py
9.01
KB
-rw-rw-rw-
test_largefile.py
10.26
KB
-rw-rw-rw-
test_lib2to3.py
327
B
-rw-rw-rw-
test_linecache.py
9.92
KB
-rw-rw-rw-
test_list.py
7.76
KB
-rw-rw-rw-
test_listcomps.py
4.33
KB
-rw-rw-rw-
test_lltrace.py
3.22
KB
-rw-rw-rw-
test_locale.py
25.29
KB
-rw-rw-rw-
test_logging.py
200.75
KB
-rw-rw-rw-
test_long.py
55.19
KB
-rw-rw-rw-
test_longexp.py
243
B
-rw-rw-rw-
test_lzma.py
90.07
KB
-rw-rw-rw-
test_mailbox.py
94.04
KB
-rw-rw-rw-
test_mailcap.py
10.25
KB
-rw-rw-rw-
test_marshal.py
21.04
KB
-rw-rw-rw-
test_math.py
92.69
KB
-rw-rw-rw-
test_memoryio.py
32.33
KB
-rw-rw-rw-
test_memoryview.py
22.01
KB
-rw-rw-rw-
test_metaclass.py
6.47
KB
-rw-rw-rw-
test_mimetypes.py
14.17
KB
-rw-rw-rw-
test_minidom.py
69.82
KB
-rw-rw-rw-
test_mmap.py
31.71
KB
-rw-rw-rw-
test_module.py
12.71
KB
-rw-rw-rw-
test_modulefinder.py
12.63
KB
-rw-rw-rw-
test_msilib.py
5.57
KB
-rw-rw-rw-
test_multibytecodec.py
16.15
KB
-rw-rw-rw-
test_multiprocessing_fork.py
496
B
-rw-rw-rw-
test_multiprocessing_forkserve...
408
B
-rw-rw-rw-
test_multiprocessing_main_hand...
11.86
KB
-rw-rw-rw-
test_multiprocessing_spawn.py
289
B
-rw-rw-rw-
test_named_expressions.py
21.21
KB
-rw-rw-rw-
test_netrc.py
6.17
KB
-rw-rw-rw-
test_nis.py
1.21
KB
-rw-rw-rw-
test_nntplib.py
64.29
KB
-rw-rw-rw-
test_ntpath.py
39.52
KB
-rw-rw-rw-
test_numeric_tower.py
7.38
KB
-rw-rw-rw-
test_opcache.py
552
B
-rw-rw-rw-
test_opcodes.py
3.72
KB
-rw-rw-rw-
test_openpty.py
621
B
-rw-rw-rw-
test_operator.py
24.67
KB
-rw-rw-rw-
test_optparse.py
62.64
KB
-rw-rw-rw-
test_ordered_dict.py
32.49
KB
-rw-rw-rw-
test_os.py
171.84
KB
-rw-rw-rw-
test_ossaudiodev.py
7.27
KB
-rw-rw-rw-
test_osx_env.py
1.34
KB
-rw-rw-rw-
test_pathlib.py
112.53
KB
-rw-rw-rw-
test_patma.py
87.9
KB
-rw-rw-rw-
test_pdb.py
64.45
KB
-rw-rw-rw-
test_peepholer.py
20.29
KB
-rw-rw-rw-
test_pickle.py
20.25
KB
-rw-rw-rw-
test_picklebuffer.py
5.14
KB
-rw-rw-rw-
test_pickletools.py
4.23
KB
-rw-rw-rw-
test_pipes.py
6.91
KB
-rw-rw-rw-
test_pkg.py
9.88
KB
-rw-rw-rw-
test_pkgutil.py
21.79
KB
-rw-rw-rw-
test_platform.py
20.25
KB
-rw-rw-rw-
test_plistlib.py
39.71
KB
-rw-rw-rw-
test_poll.py
7.5
KB
-rw-rw-rw-
test_popen.py
2.14
KB
-rw-rw-rw-
test_poplib.py
18.07
KB
-rw-rw-rw-
test_positional_only_arg.py
18.2
KB
-rw-rw-rw-
test_posix.py
88.67
KB
-rw-rw-rw-
test_posixpath.py
32.73
KB
-rw-rw-rw-
test_pow.py
5.58
KB
-rw-rw-rw-
test_pprint.py
51.51
KB
-rw-rw-rw-
test_print.py
7.94
KB
-rw-rw-rw-
test_profile.py
8.9
KB
-rw-rw-rw-
test_property.py
11.15
KB
-rw-rw-rw-
test_pstats.py
3.4
KB
-rw-rw-rw-
test_pty.py
17.29
KB
-rw-rw-rw-
test_pulldom.py
13.01
KB
-rw-rw-rw-
test_pwd.py
4.3
KB
-rw-rw-rw-
test_py_compile.py
11.72
KB
-rw-rw-rw-
test_pyclbr.py
10.09
KB
-rw-rw-rw-
test_pydoc.py
62.14
KB
-rw-rw-rw-
test_pyexpat.py
27.41
KB
-rw-rw-rw-
test_queue.py
21.15
KB
-rw-rw-rw-
test_quopri.py
7.98
KB
-rw-rw-rw-
test_raise.py
13.94
KB
-rw-rw-rw-
test_random.py
56.48
KB
-rw-rw-rw-
test_range.py
25.32
KB
-rw-rw-rw-
test_re.py
115.07
KB
-rw-rw-rw-
test_readline.py
14.59
KB
-rw-rw-rw-
test_regrtest.py
50.82
KB
-rw-rw-rw-
test_repl.py
4.06
KB
-rw-rw-rw-
test_reprlib.py
15.53
KB
-rw-rw-rw-
test_resource.py
7.21
KB
-rw-rw-rw-
test_richcmp.py
12.26
KB
-rw-rw-rw-
test_rlcompleter.py
7.26
KB
-rw-rw-rw-
test_robotparser.py
11.26
KB
-rw-rw-rw-
test_runpy.py
34.68
KB
-rw-rw-rw-
test_sax.py
54.48
KB
-rw-rw-rw-
test_sched.py
7.04
KB
-rw-rw-rw-
test_scope.py
20.58
KB
-rw-rw-rw-
test_script_helper.py
5.9
KB
-rw-rw-rw-
test_secrets.py
4.4
KB
-rw-rw-rw-
test_select.py
3.42
KB
-rw-rw-rw-
test_selectors.py
18.83
KB
-rw-rw-rw-
test_set.py
71.11
KB
-rw-rw-rw-
test_setcomps.py
4.31
KB
-rw-rw-rw-
test_shelve.py
6.23
KB
-rw-rw-rw-
test_shlex.py
13.84
KB
-rw-rw-rw-
test_shutil.py
107.56
KB
-rw-rw-rw-
test_signal.py
49.74
KB
-rw-rw-rw-
test_site.py
26.96
KB
-rw-rw-rw-
test_slice.py
8.5
KB
-rw-rw-rw-
test_smtpd.py
41.65
KB
-rw-rw-rw-
test_smtplib.py
61.57
KB
-rw-rw-rw-
test_smtpnet.py
3.07
KB
-rw-rw-rw-
test_sndhdr.py
1.46
KB
-rw-rw-rw-
test_socket.py
252.04
KB
-rw-rw-rw-
test_socketserver.py
18.4
KB
-rw-rw-rw-
test_sort.py
13.8
KB
-rw-rw-rw-
test_source_encoding.py
8.87
KB
-rw-rw-rw-
test_spwd.py
2.8
KB
-rw-rw-rw-
test_sqlite.py
1014
B
-rw-rw-rw-
test_ssl.py
210.65
KB
-rw-rw-rw-
test_startfile.py
1.74
KB
-rw-rw-rw-
test_stat.py
8.82
KB
-rw-rw-rw-
test_statistics.py
115.88
KB
-rw-rw-rw-
test_strftime.py
7.74
KB
-rw-rw-rw-
test_string.py
20.27
KB
-rw-rw-rw-
test_string_literals.py
10.11
KB
-rw-rw-rw-
test_stringprep.py
3.13
KB
-rw-rw-rw-
test_strptime.py
35.14
KB
-rw-rw-rw-
test_strtod.py
20.48
KB
-rw-rw-rw-
test_struct.py
37.06
KB
-rw-rw-rw-
test_structmembers.py
4.95
KB
-rw-rw-rw-
test_structseq.py
4.55
KB
-rw-rw-rw-
test_subclassinit.py
8.39
KB
-rw-rw-rw-
test_subprocess.py
159.59
KB
-rw-rw-rw-
test_sunau.py
6.14
KB
-rw-rw-rw-
test_sundry.py
2.16
KB
-rw-rw-rw-
test_super.py
9.91
KB
-rw-rw-rw-
test_support.py
26.03
KB
-rw-rw-rw-
test_symtable.py
9.61
KB
-rw-rw-rw-
test_syntax.py
53.26
KB
-rw-rw-rw-
test_sys.py
59.63
KB
-rw-rw-rw-
test_sys_setprofile.py
13.63
KB
-rw-rw-rw-
test_sys_settrace.py
64.46
KB
-rw-rw-rw-
test_sysconfig.py
19.37
KB
-rw-rw-rw-
test_syslog.py
1.21
KB
-rw-rw-rw-
test_tabnanny.py
13.78
KB
-rw-rw-rw-
test_tarfile.py
109.76
KB
-rw-rw-rw-
test_tcl.py
32.33
KB
-rw-rw-rw-
test_telnetlib.py
13.14
KB
-rw-rw-rw-
test_tempfile.py
62.68
KB
-rw-rw-rw-
test_textwrap.py
42.94
KB
-rw-rw-rw-
test_thread.py
8.81
KB
-rw-rw-rw-
test_threadedtempfile.py
1.94
KB
-rw-rw-rw-
test_threading.py
61.15
KB
-rw-rw-rw-
test_threading_local.py
6.5
KB
-rw-rw-rw-
test_threadsignals.py
10.35
KB
-rw-rw-rw-
test_time.py
40.99
KB
-rw-rw-rw-
test_timeit.py
15.59
KB
-rw-rw-rw-
test_timeout.py
11.29
KB
-rw-rw-rw-
test_tix.py
1.09
KB
-rw-rw-rw-
test_tk.py
566
B
-rw-rw-rw-
test_tokenize.py
65.47
KB
-rw-rw-rw-
test_trace.py
20.52
KB
-rw-rw-rw-
test_traceback.py
55.98
KB
-rw-rw-rw-
test_tracemalloc.py
40.23
KB
-rw-rw-rw-
test_ttk_guionly.py
1
KB
-rw-rw-rw-
test_ttk_textonly.py
17.15
KB
-rw-rw-rw-
test_tuple.py
19.33
KB
-rw-rw-rw-
test_turtle.py
13.18
KB
-rw-rw-rw-
test_type_annotations.py
3.8
KB
-rw-rw-rw-
test_type_comments.py
10.94
KB
-rw-rw-rw-
test_typechecks.py
2.62
KB
-rw-rw-rw-
test_types.py
77.73
KB
-rw-rw-rw-
test_typing.py
180.27
KB
-rw-rw-rw-
test_ucn.py
9.75
KB
-rw-rw-rw-
test_unary.py
1.68
KB
-rw-rw-rw-
test_unicode.py
137.87
KB
-rw-rw-rw-
test_unicode_file.py
5.84
KB
-rw-rw-rw-
test_unicode_file_functions.py
6.92
KB
-rw-rw-rw-
test_unicode_identifiers.py
1016
B
-rw-rw-rw-
test_unicodedata.py
16.3
KB
-rw-rw-rw-
test_unittest.py
242
B
-rw-rw-rw-
test_univnewlines.py
4
KB
-rw-rw-rw-
test_unpack.py
3.16
KB
-rw-rw-rw-
test_unpack_ex.py
10.3
KB
-rw-rw-rw-
test_unparse.py
18.82
KB
-rw-rw-rw-
test_urllib.py
71.74
KB
-rw-rw-rw-
test_urllib2.py
79.4
KB
-rw-rw-rw-
test_urllib2_localnet.py
26.18
KB
-rw-rw-rw-
test_urllib2net.py
14.44
KB
-rw-rw-rw-
test_urllib_response.py
1.95
KB
-rw-rw-rw-
test_urllibnet.py
9.55
KB
-rw-rw-rw-
test_urlparse.py
65.64
KB
-rw-rw-rw-
test_userdict.py
7.78
KB
-rw-rw-rw-
test_userlist.py
2.04
KB
-rw-rw-rw-
test_userstring.py
2.47
KB
-rw-rw-rw-
test_utf8_mode.py
10.56
KB
-rw-rw-rw-
test_utf8source.py
1.19
KB
-rw-rw-rw-
test_uu.py
8.35
KB
-rw-rw-rw-
test_uuid.py
40.87
KB
-rw-rw-rw-
test_venv.py
23.15
KB
-rw-rw-rw-
test_wait3.py
1.86
KB
-rw-rw-rw-
test_wait4.py
1.2
KB
-rw-rw-rw-
test_wave.py
6.67
KB
-rw-rw-rw-
test_weakref.py
76.97
KB
-rw-rw-rw-
test_weakset.py
15.86
KB
-rw-rw-rw-
test_webbrowser.py
10.92
KB
-rw-rw-rw-
test_winconsoleio.py
6.77
KB
-rw-rw-rw-
test_winreg.py
21.77
KB
-rw-rw-rw-
test_winsound.py
4.76
KB
-rw-rw-rw-
test_with.py
26.73
KB
-rw-rw-rw-
test_wsgiref.py
31.04
KB
-rw-rw-rw-
test_xdrlib.py
2.25
KB
-rw-rw-rw-
test_xml_dom_minicompat.py
4.32
KB
-rw-rw-rw-
test_xml_etree.py
163.5
KB
-rw-rw-rw-
test_xml_etree_c.py
8.72
KB
-rw-rw-rw-
test_xmlrpc.py
58.75
KB
-rw-rw-rw-
test_xmlrpc_net.py
985
B
-rw-rw-rw-
test_xxlimited.py
2.21
KB
-rw-rw-rw-
test_xxtestfuzz.py
715
B
-rw-rw-rw-
test_yield_from.py
31.12
KB
-rw-rw-rw-
test_zipapp.py
16.32
KB
-rw-rw-rw-
test_zipfile.py
125.43
KB
-rw-rw-rw-
test_zipfile64.py
6
KB
-rw-rw-rw-
test_zipimport.py
34.41
KB
-rw-rw-rw-
test_zipimport_support.py
10.7
KB
-rw-rw-rw-
test_zlib.py
35.2
KB
-rw-rw-rw-
testcodec.py
1.07
KB
-rw-rw-rw-
testtar.tar
425
KB
-rw-rw-rw-
testtar.tar.xz
172
B
-rw-rw-rw-
tf_inherit_check.py
741
B
-rw-rw-rw-
time_hashlib.py
2.96
KB
-rw-rw-rw-
tokenize_tests-latin1-coding-c...
456
B
-rw-rw-rw-
tokenize_tests-no-coding-cooki...
313
B
-rw-rw-rw-
tokenize_tests-utf8-coding-coo...
434
B
-rw-rw-rw-
tokenize_tests-utf8-coding-coo...
338
B
-rw-rw-rw-
tokenize_tests.txt
2.84
KB
-rw-rw-rw-
win_console_handler.py
1.43
KB
-rw-rw-rw-
xmltests.py
520
B
-rw-rw-rw-
zip_cp437_header.zip
270
B
-rw-rw-rw-
zipdir.zip
374
B
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : re_tests.py
#!/usr/bin/env python3 # -*- mode: python -*- # Re test suite and benchmark suite v1.5 # The 3 possible outcomes for each pattern [SUCCEED, FAIL, SYNTAX_ERROR] = range(3) # Benchmark suite (needs expansion) # # The benchmark suite does not test correctness, just speed. The # first element of each tuple is the regex pattern; the second is a # string to match it against. The benchmarking code will embed the # second string inside several sizes of padding, to test how regex # matching performs on large strings. benchmarks = [ # test common prefix ('Python|Perl', 'Perl'), # Alternation ('(Python|Perl)', 'Perl'), # Grouped alternation ('Python|Perl|Tcl', 'Perl'), # Alternation ('(Python|Perl|Tcl)', 'Perl'), # Grouped alternation ('(Python)\\1', 'PythonPython'), # Backreference ('([0a-z][a-z0-9]*,)+', 'a5,b7,c9,'), # Disable the fastmap optimization ('([a-z][a-z0-9]*,)+', 'a5,b7,c9,'), # A few sets ('Python', 'Python'), # Simple text literal ('.*Python', 'Python'), # Bad text literal ('.*Python.*', 'Python'), # Worse text literal ('.*(Python)', 'Python'), # Bad text literal with grouping ] # Test suite (for verifying correctness) # # The test suite is a list of 5- or 3-tuples. The 5 parts of a # complete tuple are: # element 0: a string containing the pattern # 1: the string to match against the pattern # 2: the expected result (SUCCEED, FAIL, SYNTAX_ERROR) # 3: a string that will be eval()'ed to produce a test string. # This is an arbitrary Python expression; the available # variables are "found" (the whole match), and "g1", "g2", ... # up to "g99" contain the contents of each group, or the # string 'None' if the group wasn't given a value, or the # string 'Error' if the group index was out of range; # also "groups", the return value of m.group() (a tuple). # 4: The expected result of evaluating the expression. # If the two don't match, an error is reported. # # If the regex isn't expected to work, the latter two elements can be omitted. tests = [ # Test ?P< and ?P= extensions ('(?P<foo_123', '', SYNTAX_ERROR), # Unterminated group identifier ('(?P<1>a)', '', SYNTAX_ERROR), # Begins with a digit ('(?P<!>a)', '', SYNTAX_ERROR), # Begins with an illegal char ('(?P<foo!>a)', '', SYNTAX_ERROR), # Begins with an illegal char # Same tests, for the ?P= form ('(?P<foo_123>a)(?P=foo_123', 'aa', SYNTAX_ERROR), ('(?P<foo_123>a)(?P=1)', 'aa', SYNTAX_ERROR), ('(?P<foo_123>a)(?P=!)', 'aa', SYNTAX_ERROR), ('(?P<foo_123>a)(?P=foo_124', 'aa', SYNTAX_ERROR), # Backref to undefined group ('(?P<foo_123>a)', 'a', SUCCEED, 'g1', 'a'), ('(?P<foo_123>a)(?P=foo_123)', 'aa', SUCCEED, 'g1', 'a'), # Test octal escapes ('\\1', 'a', SYNTAX_ERROR), # Backreference ('[\\1]', '\1', SUCCEED, 'found', '\1'), # Character ('\\09', chr(0) + '9', SUCCEED, 'found', chr(0) + '9'), ('\\141', 'a', SUCCEED, 'found', 'a'), ('(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\\119', 'abcdefghijklk9', SUCCEED, 'found+"-"+g11', 'abcdefghijklk9-k'), # Test \0 is handled everywhere (r'\0', '\0', SUCCEED, 'found', '\0'), (r'[\0a]', '\0', SUCCEED, 'found', '\0'), (r'[a\0]', '\0', SUCCEED, 'found', '\0'), (r'[^a\0]', '\0', FAIL), # Test various letter escapes (r'\a[\b]\f\n\r\t\v', '\a\b\f\n\r\t\v', SUCCEED, 'found', '\a\b\f\n\r\t\v'), (r'[\a][\b][\f][\n][\r][\t][\v]', '\a\b\f\n\r\t\v', SUCCEED, 'found', '\a\b\f\n\r\t\v'), # NOTE: not an error under PCRE/PRE: (r'\u', '', SYNTAX_ERROR), # A Perl escape # (r'\c\e\g\h\i\j\k\m\o\p\q\y\z', 'ceghijkmopqyz', SUCCEED, 'found', 'ceghijkmopqyz'), # new \x semantics (r'\x00ffffffffffffff', '\377', FAIL, 'found', chr(255)), (r'\x00f', '\017', FAIL, 'found', chr(15)), (r'\x00fe', '\376', FAIL, 'found', chr(254)), # (r'\x00ffffffffffffff', '\377', SUCCEED, 'found', chr(255)), # (r'\x00f', '\017', SUCCEED, 'found', chr(15)), # (r'\x00fe', '\376', SUCCEED, 'found', chr(254)), (r"^\w+=(\\[\000-\277]|[^\n\\])*", "SRC=eval.c g.c blah blah blah \\\\\n\tapes.c", SUCCEED, 'found', "SRC=eval.c g.c blah blah blah \\\\"), # Test that . only matches \n in DOTALL mode ('a.b', 'acb', SUCCEED, 'found', 'acb'), ('a.b', 'a\nb', FAIL), ('a.*b', 'acc\nccb', FAIL), ('a.{4,5}b', 'acc\nccb', FAIL), ('a.b', 'a\rb', SUCCEED, 'found', 'a\rb'), ('(?s)a.b', 'a\nb', SUCCEED, 'found', 'a\nb'), ('(?s)a.*b', 'acc\nccb', SUCCEED, 'found', 'acc\nccb'), ('(?s)a.{4,5}b', 'acc\nccb', SUCCEED, 'found', 'acc\nccb'), ('(?s)a.b', 'a\rb', SUCCEED, 'found', 'a\rb'), (')', '', SYNTAX_ERROR), # Unmatched right bracket ('', '', SUCCEED, 'found', ''), # Empty pattern ('abc', 'abc', SUCCEED, 'found', 'abc'), ('abc', 'xbc', FAIL), ('abc', 'axc', FAIL), ('abc', 'abx', FAIL), ('abc', 'xabcy', SUCCEED, 'found', 'abc'), ('abc', 'ababc', SUCCEED, 'found', 'abc'), ('ab*c', 'abc', SUCCEED, 'found', 'abc'), ('ab*bc', 'abc', SUCCEED, 'found', 'abc'), ('ab*bc', 'abbc', SUCCEED, 'found', 'abbc'), ('ab*bc', 'abbbbc', SUCCEED, 'found', 'abbbbc'), ('ab+bc', 'abbc', SUCCEED, 'found', 'abbc'), ('ab+bc', 'abc', FAIL), ('ab+bc', 'abq', FAIL), ('ab+bc', 'abbbbc', SUCCEED, 'found', 'abbbbc'), ('ab?bc', 'abbc', SUCCEED, 'found', 'abbc'), ('ab?bc', 'abc', SUCCEED, 'found', 'abc'), ('ab?bc', 'abbbbc', FAIL), ('ab?c', 'abc', SUCCEED, 'found', 'abc'), ('^abc$', 'abc', SUCCEED, 'found', 'abc'), ('^abc$', 'abcc', FAIL), ('^abc', 'abcc', SUCCEED, 'found', 'abc'), ('^abc$', 'aabc', FAIL), ('abc$', 'aabc', SUCCEED, 'found', 'abc'), ('^', 'abc', SUCCEED, 'found+"-"', '-'), ('$', 'abc', SUCCEED, 'found+"-"', '-'), ('a.c', 'abc', SUCCEED, 'found', 'abc'), ('a.c', 'axc', SUCCEED, 'found', 'axc'), ('a.*c', 'axyzc', SUCCEED, 'found', 'axyzc'), ('a.*c', 'axyzd', FAIL), ('a[bc]d', 'abc', FAIL), ('a[bc]d', 'abd', SUCCEED, 'found', 'abd'), ('a[b-d]e', 'abd', FAIL), ('a[b-d]e', 'ace', SUCCEED, 'found', 'ace'), ('a[b-d]', 'aac', SUCCEED, 'found', 'ac'), ('a[-b]', 'a-', SUCCEED, 'found', 'a-'), ('a[\\-b]', 'a-', SUCCEED, 'found', 'a-'), # NOTE: not an error under PCRE/PRE: # ('a[b-]', 'a-', SYNTAX_ERROR), ('a[]b', '-', SYNTAX_ERROR), ('a[', '-', SYNTAX_ERROR), ('a\\', '-', SYNTAX_ERROR), ('abc)', '-', SYNTAX_ERROR), ('(abc', '-', SYNTAX_ERROR), ('a]', 'a]', SUCCEED, 'found', 'a]'), ('a[]]b', 'a]b', SUCCEED, 'found', 'a]b'), ('a[\\]]b', 'a]b', SUCCEED, 'found', 'a]b'), ('a[^bc]d', 'aed', SUCCEED, 'found', 'aed'), ('a[^bc]d', 'abd', FAIL), ('a[^-b]c', 'adc', SUCCEED, 'found', 'adc'), ('a[^-b]c', 'a-c', FAIL), ('a[^]b]c', 'a]c', FAIL), ('a[^]b]c', 'adc', SUCCEED, 'found', 'adc'), ('\\ba\\b', 'a-', SUCCEED, '"-"', '-'), ('\\ba\\b', '-a', SUCCEED, '"-"', '-'), ('\\ba\\b', '-a-', SUCCEED, '"-"', '-'), ('\\by\\b', 'xy', FAIL), ('\\by\\b', 'yz', FAIL), ('\\by\\b', 'xyz', FAIL), ('x\\b', 'xyz', FAIL), ('x\\B', 'xyz', SUCCEED, '"-"', '-'), ('\\Bz', 'xyz', SUCCEED, '"-"', '-'), ('z\\B', 'xyz', FAIL), ('\\Bx', 'xyz', FAIL), ('\\Ba\\B', 'a-', FAIL, '"-"', '-'), ('\\Ba\\B', '-a', FAIL, '"-"', '-'), ('\\Ba\\B', '-a-', FAIL, '"-"', '-'), ('\\By\\B', 'xy', FAIL), ('\\By\\B', 'yz', FAIL), ('\\By\\b', 'xy', SUCCEED, '"-"', '-'), ('\\by\\B', 'yz', SUCCEED, '"-"', '-'), ('\\By\\B', 'xyz', SUCCEED, '"-"', '-'), ('ab|cd', 'abc', SUCCEED, 'found', 'ab'), ('ab|cd', 'abcd', SUCCEED, 'found', 'ab'), ('()ef', 'def', SUCCEED, 'found+"-"+g1', 'ef-'), ('$b', 'b', FAIL), ('a\\(b', 'a(b', SUCCEED, 'found+"-"+g1', 'a(b-Error'), ('a\\(*b', 'ab', SUCCEED, 'found', 'ab'), ('a\\(*b', 'a((b', SUCCEED, 'found', 'a((b'), ('a\\\\b', 'a\\b', SUCCEED, 'found', 'a\\b'), ('((a))', 'abc', SUCCEED, 'found+"-"+g1+"-"+g2', 'a-a-a'), ('(a)b(c)', 'abc', SUCCEED, 'found+"-"+g1+"-"+g2', 'abc-a-c'), ('a+b+c', 'aabbabc', SUCCEED, 'found', 'abc'), ('(a+|b)*', 'ab', SUCCEED, 'found+"-"+g1', 'ab-b'), ('(a+|b)+', 'ab', SUCCEED, 'found+"-"+g1', 'ab-b'), ('(a+|b)?', 'ab', SUCCEED, 'found+"-"+g1', 'a-a'), (')(', '-', SYNTAX_ERROR), ('[^ab]*', 'cde', SUCCEED, 'found', 'cde'), ('abc', '', FAIL), ('a*', '', SUCCEED, 'found', ''), ('a|b|c|d|e', 'e', SUCCEED, 'found', 'e'), ('(a|b|c|d|e)f', 'ef', SUCCEED, 'found+"-"+g1', 'ef-e'), ('abcd*efg', 'abcdefg', SUCCEED, 'found', 'abcdefg'), ('ab*', 'xabyabbbz', SUCCEED, 'found', 'ab'), ('ab*', 'xayabbbz', SUCCEED, 'found', 'a'), ('(ab|cd)e', 'abcde', SUCCEED, 'found+"-"+g1', 'cde-cd'), ('[abhgefdc]ij', 'hij', SUCCEED, 'found', 'hij'), ('^(ab|cd)e', 'abcde', FAIL, 'xg1y', 'xy'), ('(abc|)ef', 'abcdef', SUCCEED, 'found+"-"+g1', 'ef-'), ('(a|b)c*d', 'abcd', SUCCEED, 'found+"-"+g1', 'bcd-b'), ('(ab|ab*)bc', 'abc', SUCCEED, 'found+"-"+g1', 'abc-a'), ('a([bc]*)c*', 'abc', SUCCEED, 'found+"-"+g1', 'abc-bc'), ('a([bc]*)(c*d)', 'abcd', SUCCEED, 'found+"-"+g1+"-"+g2', 'abcd-bc-d'), ('a([bc]+)(c*d)', 'abcd', SUCCEED, 'found+"-"+g1+"-"+g2', 'abcd-bc-d'), ('a([bc]*)(c+d)', 'abcd', SUCCEED, 'found+"-"+g1+"-"+g2', 'abcd-b-cd'), ('a[bcd]*dcdcde', 'adcdcde', SUCCEED, 'found', 'adcdcde'), ('a[bcd]+dcdcde', 'adcdcde', FAIL), ('(ab|a)b*c', 'abc', SUCCEED, 'found+"-"+g1', 'abc-ab'), ('((a)(b)c)(d)', 'abcd', SUCCEED, 'g1+"-"+g2+"-"+g3+"-"+g4', 'abc-a-b-d'), ('[a-zA-Z_][a-zA-Z0-9_]*', 'alpha', SUCCEED, 'found', 'alpha'), ('^a(bc+|b[eh])g|.h$', 'abh', SUCCEED, 'found+"-"+g1', 'bh-None'), ('(bc+d$|ef*g.|h?i(j|k))', 'effgz', SUCCEED, 'found+"-"+g1+"-"+g2', 'effgz-effgz-None'), ('(bc+d$|ef*g.|h?i(j|k))', 'ij', SUCCEED, 'found+"-"+g1+"-"+g2', 'ij-ij-j'), ('(bc+d$|ef*g.|h?i(j|k))', 'effg', FAIL), ('(bc+d$|ef*g.|h?i(j|k))', 'bcdd', FAIL), ('(bc+d$|ef*g.|h?i(j|k))', 'reffgz', SUCCEED, 'found+"-"+g1+"-"+g2', 'effgz-effgz-None'), ('(((((((((a)))))))))', 'a', SUCCEED, 'found', 'a'), ('multiple words of text', 'uh-uh', FAIL), ('multiple words', 'multiple words, yeah', SUCCEED, 'found', 'multiple words'), ('(.*)c(.*)', 'abcde', SUCCEED, 'found+"-"+g1+"-"+g2', 'abcde-ab-de'), ('\\((.*), (.*)\\)', '(a, b)', SUCCEED, 'g2+"-"+g1', 'b-a'), ('[k]', 'ab', FAIL), ('a[-]?c', 'ac', SUCCEED, 'found', 'ac'), ('(abc)\\1', 'abcabc', SUCCEED, 'g1', 'abc'), ('([a-c]*)\\1', 'abcabc', SUCCEED, 'g1', 'abc'), ('^(.+)?B', 'AB', SUCCEED, 'g1', 'A'), ('(a+).\\1$', 'aaaaa', SUCCEED, 'found+"-"+g1', 'aaaaa-aa'), ('^(a+).\\1$', 'aaaa', FAIL), ('(abc)\\1', 'abcabc', SUCCEED, 'found+"-"+g1', 'abcabc-abc'), ('([a-c]+)\\1', 'abcabc', SUCCEED, 'found+"-"+g1', 'abcabc-abc'), ('(a)\\1', 'aa', SUCCEED, 'found+"-"+g1', 'aa-a'), ('(a+)\\1', 'aa', SUCCEED, 'found+"-"+g1', 'aa-a'), ('(a+)+\\1', 'aa', SUCCEED, 'found+"-"+g1', 'aa-a'), ('(a).+\\1', 'aba', SUCCEED, 'found+"-"+g1', 'aba-a'), ('(a)ba*\\1', 'aba', SUCCEED, 'found+"-"+g1', 'aba-a'), ('(aa|a)a\\1$', 'aaa', SUCCEED, 'found+"-"+g1', 'aaa-a'), ('(a|aa)a\\1$', 'aaa', SUCCEED, 'found+"-"+g1', 'aaa-a'), ('(a+)a\\1$', 'aaa', SUCCEED, 'found+"-"+g1', 'aaa-a'), ('([abc]*)\\1', 'abcabc', SUCCEED, 'found+"-"+g1', 'abcabc-abc'), ('(a)(b)c|ab', 'ab', SUCCEED, 'found+"-"+g1+"-"+g2', 'ab-None-None'), ('(a)+x', 'aaax', SUCCEED, 'found+"-"+g1', 'aaax-a'), ('([ac])+x', 'aacx', SUCCEED, 'found+"-"+g1', 'aacx-c'), ('([^/]*/)*sub1/', 'd:msgs/tdir/sub1/trial/away.cpp', SUCCEED, 'found+"-"+g1', 'd:msgs/tdir/sub1/-tdir/'), ('([^.]*)\\.([^:]*):[T ]+(.*)', 'track1.title:TBlah blah blah', SUCCEED, 'found+"-"+g1+"-"+g2+"-"+g3', 'track1.title:TBlah blah blah-track1-title-Blah blah blah'), ('([^N]*N)+', 'abNNxyzN', SUCCEED, 'found+"-"+g1', 'abNNxyzN-xyzN'), ('([^N]*N)+', 'abNNxyz', SUCCEED, 'found+"-"+g1', 'abNN-N'), ('([abc]*)x', 'abcx', SUCCEED, 'found+"-"+g1', 'abcx-abc'), ('([abc]*)x', 'abc', FAIL), ('([xyz]*)x', 'abcx', SUCCEED, 'found+"-"+g1', 'x-'), ('(a)+b|aac', 'aac', SUCCEED, 'found+"-"+g1', 'aac-None'), # Test symbolic groups ('(?P<i d>aaa)a', 'aaaa', SYNTAX_ERROR), ('(?P<id>aaa)a', 'aaaa', SUCCEED, 'found+"-"+id', 'aaaa-aaa'), ('(?P<id>aa)(?P=id)', 'aaaa', SUCCEED, 'found+"-"+id', 'aaaa-aa'), ('(?P<id>aa)(?P=xd)', 'aaaa', SYNTAX_ERROR), # Test octal escapes/memory references ('\\1', 'a', SYNTAX_ERROR), # All tests from Perl ('ab{0,}bc', 'abbbbc', SUCCEED, 'found', 'abbbbc'), ('ab{1,}bc', 'abq', FAIL), ('ab{1,}bc', 'abbbbc', SUCCEED, 'found', 'abbbbc'), ('ab{1,3}bc', 'abbbbc', SUCCEED, 'found', 'abbbbc'), ('ab{3,4}bc', 'abbbbc', SUCCEED, 'found', 'abbbbc'), ('ab{4,5}bc', 'abbbbc', FAIL), ('ab{0,1}bc', 'abc', SUCCEED, 'found', 'abc'), ('ab{0,1}c', 'abc', SUCCEED, 'found', 'abc'), ('^', 'abc', SUCCEED, 'found', ''), ('$', 'abc', SUCCEED, 'found', ''), ('a[b-]', 'a-', SUCCEED, 'found', 'a-'), ('a[b-a]', '-', SYNTAX_ERROR), ('*a', '-', SYNTAX_ERROR), ('(*)b', '-', SYNTAX_ERROR), ('a{1,}b{1,}c', 'aabbabc', SUCCEED, 'found', 'abc'), ('a**', '-', SYNTAX_ERROR), ('a.+?c', 'abcabc', SUCCEED, 'found', 'abc'), ('(a+|b){0,}', 'ab', SUCCEED, 'found+"-"+g1', 'ab-b'), ('(a+|b){1,}', 'ab', SUCCEED, 'found+"-"+g1', 'ab-b'), ('(a+|b){0,1}', 'ab', SUCCEED, 'found+"-"+g1', 'a-a'), ('([abc])*d', 'abbbcd', SUCCEED, 'found+"-"+g1', 'abbbcd-c'), ('([abc])*bcd', 'abcd', SUCCEED, 'found+"-"+g1', 'abcd-a'), ('^(ab|cd)e', 'abcde', FAIL), ('((((((((((a))))))))))', 'a', SUCCEED, 'g10', 'a'), ('((((((((((a))))))))))\\10', 'aa', SUCCEED, 'found', 'aa'), # Python does not have the same rules for \\41 so this is a syntax error # ('((((((((((a))))))))))\\41', 'aa', FAIL), # ('((((((((((a))))))))))\\41', 'a!', SUCCEED, 'found', 'a!'), ('((((((((((a))))))))))\\41', '', SYNTAX_ERROR), ('(?i)((((((((((a))))))))))\\41', '', SYNTAX_ERROR), ('(?i)abc', 'ABC', SUCCEED, 'found', 'ABC'), ('(?i)abc', 'XBC', FAIL), ('(?i)abc', 'AXC', FAIL), ('(?i)abc', 'ABX', FAIL), ('(?i)abc', 'XABCY', SUCCEED, 'found', 'ABC'), ('(?i)abc', 'ABABC', SUCCEED, 'found', 'ABC'), ('(?i)ab*c', 'ABC', SUCCEED, 'found', 'ABC'), ('(?i)ab*bc', 'ABC', SUCCEED, 'found', 'ABC'), ('(?i)ab*bc', 'ABBC', SUCCEED, 'found', 'ABBC'), ('(?i)ab*?bc', 'ABBBBC', SUCCEED, 'found', 'ABBBBC'), ('(?i)ab{0,}?bc', 'ABBBBC', SUCCEED, 'found', 'ABBBBC'), ('(?i)ab+?bc', 'ABBC', SUCCEED, 'found', 'ABBC'), ('(?i)ab+bc', 'ABC', FAIL), ('(?i)ab+bc', 'ABQ', FAIL), ('(?i)ab{1,}bc', 'ABQ', FAIL), ('(?i)ab+bc', 'ABBBBC', SUCCEED, 'found', 'ABBBBC'), ('(?i)ab{1,}?bc', 'ABBBBC', SUCCEED, 'found', 'ABBBBC'), ('(?i)ab{1,3}?bc', 'ABBBBC', SUCCEED, 'found', 'ABBBBC'), ('(?i)ab{3,4}?bc', 'ABBBBC', SUCCEED, 'found', 'ABBBBC'), ('(?i)ab{4,5}?bc', 'ABBBBC', FAIL), ('(?i)ab??bc', 'ABBC', SUCCEED, 'found', 'ABBC'), ('(?i)ab??bc', 'ABC', SUCCEED, 'found', 'ABC'), ('(?i)ab{0,1}?bc', 'ABC', SUCCEED, 'found', 'ABC'), ('(?i)ab??bc', 'ABBBBC', FAIL), ('(?i)ab??c', 'ABC', SUCCEED, 'found', 'ABC'), ('(?i)ab{0,1}?c', 'ABC', SUCCEED, 'found', 'ABC'), ('(?i)^abc$', 'ABC', SUCCEED, 'found', 'ABC'), ('(?i)^abc$', 'ABCC', FAIL), ('(?i)^abc', 'ABCC', SUCCEED, 'found', 'ABC'), ('(?i)^abc$', 'AABC', FAIL), ('(?i)abc$', 'AABC', SUCCEED, 'found', 'ABC'), ('(?i)^', 'ABC', SUCCEED, 'found', ''), ('(?i)$', 'ABC', SUCCEED, 'found', ''), ('(?i)a.c', 'ABC', SUCCEED, 'found', 'ABC'), ('(?i)a.c', 'AXC', SUCCEED, 'found', 'AXC'), ('(?i)a.*?c', 'AXYZC', SUCCEED, 'found', 'AXYZC'), ('(?i)a.*c', 'AXYZD', FAIL), ('(?i)a[bc]d', 'ABC', FAIL), ('(?i)a[bc]d', 'ABD', SUCCEED, 'found', 'ABD'), ('(?i)a[b-d]e', 'ABD', FAIL), ('(?i)a[b-d]e', 'ACE', SUCCEED, 'found', 'ACE'), ('(?i)a[b-d]', 'AAC', SUCCEED, 'found', 'AC'), ('(?i)a[-b]', 'A-', SUCCEED, 'found', 'A-'), ('(?i)a[b-]', 'A-', SUCCEED, 'found', 'A-'), ('(?i)a[b-a]', '-', SYNTAX_ERROR), ('(?i)a[]b', '-', SYNTAX_ERROR), ('(?i)a[', '-', SYNTAX_ERROR), ('(?i)a]', 'A]', SUCCEED, 'found', 'A]'), ('(?i)a[]]b', 'A]B', SUCCEED, 'found', 'A]B'), ('(?i)a[^bc]d', 'AED', SUCCEED, 'found', 'AED'), ('(?i)a[^bc]d', 'ABD', FAIL), ('(?i)a[^-b]c', 'ADC', SUCCEED, 'found', 'ADC'), ('(?i)a[^-b]c', 'A-C', FAIL), ('(?i)a[^]b]c', 'A]C', FAIL), ('(?i)a[^]b]c', 'ADC', SUCCEED, 'found', 'ADC'), ('(?i)ab|cd', 'ABC', SUCCEED, 'found', 'AB'), ('(?i)ab|cd', 'ABCD', SUCCEED, 'found', 'AB'), ('(?i)()ef', 'DEF', SUCCEED, 'found+"-"+g1', 'EF-'), ('(?i)*a', '-', SYNTAX_ERROR), ('(?i)(*)b', '-', SYNTAX_ERROR), ('(?i)$b', 'B', FAIL), ('(?i)a\\', '-', SYNTAX_ERROR), ('(?i)a\\(b', 'A(B', SUCCEED, 'found+"-"+g1', 'A(B-Error'), ('(?i)a\\(*b', 'AB', SUCCEED, 'found', 'AB'), ('(?i)a\\(*b', 'A((B', SUCCEED, 'found', 'A((B'), ('(?i)a\\\\b', 'A\\B', SUCCEED, 'found', 'A\\B'), ('(?i)abc)', '-', SYNTAX_ERROR), ('(?i)(abc', '-', SYNTAX_ERROR), ('(?i)((a))', 'ABC', SUCCEED, 'found+"-"+g1+"-"+g2', 'A-A-A'), ('(?i)(a)b(c)', 'ABC', SUCCEED, 'found+"-"+g1+"-"+g2', 'ABC-A-C'), ('(?i)a+b+c', 'AABBABC', SUCCEED, 'found', 'ABC'), ('(?i)a{1,}b{1,}c', 'AABBABC', SUCCEED, 'found', 'ABC'), ('(?i)a**', '-', SYNTAX_ERROR), ('(?i)a.+?c', 'ABCABC', SUCCEED, 'found', 'ABC'), ('(?i)a.*?c', 'ABCABC', SUCCEED, 'found', 'ABC'), ('(?i)a.{0,5}?c', 'ABCABC', SUCCEED, 'found', 'ABC'), ('(?i)(a+|b)*', 'AB', SUCCEED, 'found+"-"+g1', 'AB-B'), ('(?i)(a+|b){0,}', 'AB', SUCCEED, 'found+"-"+g1', 'AB-B'), ('(?i)(a+|b)+', 'AB', SUCCEED, 'found+"-"+g1', 'AB-B'), ('(?i)(a+|b){1,}', 'AB', SUCCEED, 'found+"-"+g1', 'AB-B'), ('(?i)(a+|b)?', 'AB', SUCCEED, 'found+"-"+g1', 'A-A'), ('(?i)(a+|b){0,1}', 'AB', SUCCEED, 'found+"-"+g1', 'A-A'), ('(?i)(a+|b){0,1}?', 'AB', SUCCEED, 'found+"-"+g1', '-None'), ('(?i))(', '-', SYNTAX_ERROR), ('(?i)[^ab]*', 'CDE', SUCCEED, 'found', 'CDE'), ('(?i)abc', '', FAIL), ('(?i)a*', '', SUCCEED, 'found', ''), ('(?i)([abc])*d', 'ABBBCD', SUCCEED, 'found+"-"+g1', 'ABBBCD-C'), ('(?i)([abc])*bcd', 'ABCD', SUCCEED, 'found+"-"+g1', 'ABCD-A'), ('(?i)a|b|c|d|e', 'E', SUCCEED, 'found', 'E'), ('(?i)(a|b|c|d|e)f', 'EF', SUCCEED, 'found+"-"+g1', 'EF-E'), ('(?i)abcd*efg', 'ABCDEFG', SUCCEED, 'found', 'ABCDEFG'), ('(?i)ab*', 'XABYABBBZ', SUCCEED, 'found', 'AB'), ('(?i)ab*', 'XAYABBBZ', SUCCEED, 'found', 'A'), ('(?i)(ab|cd)e', 'ABCDE', SUCCEED, 'found+"-"+g1', 'CDE-CD'), ('(?i)[abhgefdc]ij', 'HIJ', SUCCEED, 'found', 'HIJ'), ('(?i)^(ab|cd)e', 'ABCDE', FAIL), ('(?i)(abc|)ef', 'ABCDEF', SUCCEED, 'found+"-"+g1', 'EF-'), ('(?i)(a|b)c*d', 'ABCD', SUCCEED, 'found+"-"+g1', 'BCD-B'), ('(?i)(ab|ab*)bc', 'ABC', SUCCEED, 'found+"-"+g1', 'ABC-A'), ('(?i)a([bc]*)c*', 'ABC', SUCCEED, 'found+"-"+g1', 'ABC-BC'), ('(?i)a([bc]*)(c*d)', 'ABCD', SUCCEED, 'found+"-"+g1+"-"+g2', 'ABCD-BC-D'), ('(?i)a([bc]+)(c*d)', 'ABCD', SUCCEED, 'found+"-"+g1+"-"+g2', 'ABCD-BC-D'), ('(?i)a([bc]*)(c+d)', 'ABCD', SUCCEED, 'found+"-"+g1+"-"+g2', 'ABCD-B-CD'), ('(?i)a[bcd]*dcdcde', 'ADCDCDE', SUCCEED, 'found', 'ADCDCDE'), ('(?i)a[bcd]+dcdcde', 'ADCDCDE', FAIL), ('(?i)(ab|a)b*c', 'ABC', SUCCEED, 'found+"-"+g1', 'ABC-AB'), ('(?i)((a)(b)c)(d)', 'ABCD', SUCCEED, 'g1+"-"+g2+"-"+g3+"-"+g4', 'ABC-A-B-D'), ('(?i)[a-zA-Z_][a-zA-Z0-9_]*', 'ALPHA', SUCCEED, 'found', 'ALPHA'), ('(?i)^a(bc+|b[eh])g|.h$', 'ABH', SUCCEED, 'found+"-"+g1', 'BH-None'), ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'EFFGZ', SUCCEED, 'found+"-"+g1+"-"+g2', 'EFFGZ-EFFGZ-None'), ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'IJ', SUCCEED, 'found+"-"+g1+"-"+g2', 'IJ-IJ-J'), ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'EFFG', FAIL), ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'BCDD', FAIL), ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'REFFGZ', SUCCEED, 'found+"-"+g1+"-"+g2', 'EFFGZ-EFFGZ-None'), ('(?i)((((((((((a))))))))))', 'A', SUCCEED, 'g10', 'A'), ('(?i)((((((((((a))))))))))\\10', 'AA', SUCCEED, 'found', 'AA'), #('(?i)((((((((((a))))))))))\\41', 'AA', FAIL), #('(?i)((((((((((a))))))))))\\41', 'A!', SUCCEED, 'found', 'A!'), ('(?i)(((((((((a)))))))))', 'A', SUCCEED, 'found', 'A'), ('(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))', 'A', SUCCEED, 'g1', 'A'), ('(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))', 'C', SUCCEED, 'g1', 'C'), ('(?i)multiple words of text', 'UH-UH', FAIL), ('(?i)multiple words', 'MULTIPLE WORDS, YEAH', SUCCEED, 'found', 'MULTIPLE WORDS'), ('(?i)(.*)c(.*)', 'ABCDE', SUCCEED, 'found+"-"+g1+"-"+g2', 'ABCDE-AB-DE'), ('(?i)\\((.*), (.*)\\)', '(A, B)', SUCCEED, 'g2+"-"+g1', 'B-A'), ('(?i)[k]', 'AB', FAIL), # ('(?i)abcd', 'ABCD', SUCCEED, 'found+"-"+\\found+"-"+\\\\found', 'ABCD-$&-\\ABCD'), # ('(?i)a(bc)d', 'ABCD', SUCCEED, 'g1+"-"+\\g1+"-"+\\\\g1', 'BC-$1-\\BC'), ('(?i)a[-]?c', 'AC', SUCCEED, 'found', 'AC'), ('(?i)(abc)\\1', 'ABCABC', SUCCEED, 'g1', 'ABC'), ('(?i)([a-c]*)\\1', 'ABCABC', SUCCEED, 'g1', 'ABC'), ('a(?!b).', 'abad', SUCCEED, 'found', 'ad'), ('a(?=d).', 'abad', SUCCEED, 'found', 'ad'), ('a(?=c|d).', 'abad', SUCCEED, 'found', 'ad'), ('a(?:b|c|d)(.)', 'ace', SUCCEED, 'g1', 'e'), ('a(?:b|c|d)*(.)', 'ace', SUCCEED, 'g1', 'e'), ('a(?:b|c|d)+?(.)', 'ace', SUCCEED, 'g1', 'e'), ('a(?:b|(c|e){1,2}?|d)+?(.)', 'ace', SUCCEED, 'g1 + g2', 'ce'), # lookbehind: split by : but not if it is escaped by -. ('(?<!-):(.*?)(?<!-):', 'a:bc-:de:f', SUCCEED, 'g1', 'bc-:de' ), # escaping with \ as we know it ('(?<!\\\\):(.*?)(?<!\\\\):', 'a:bc\\:de:f', SUCCEED, 'g1', 'bc\\:de' ), # terminating with ' and escaping with ? as in edifact ("(?<!\\?)'(.*?)(?<!\\?)'", "a'bc?'de'f", SUCCEED, 'g1', "bc?'de" ), # Comments using the (?#...) syntax ('w(?# comment', 'w', SYNTAX_ERROR), ('w(?# comment 1)xy(?# comment 2)z', 'wxyz', SUCCEED, 'found', 'wxyz'), # Check odd placement of embedded pattern modifiers # not an error under PCRE/PRE: ('(?i)w', 'W', SUCCEED, 'found', 'W'), # ('w(?i)', 'W', SYNTAX_ERROR), # Comments using the x embedded pattern modifier ("""(?x)w# comment 1 x y # comment 2 z""", 'wxyz', SUCCEED, 'found', 'wxyz'), # using the m embedded pattern modifier ('^abc', """jkl abc xyz""", FAIL), ('(?m)^abc', """jkl abc xyz""", SUCCEED, 'found', 'abc'), ('(?m)abc$', """jkl xyzabc 123""", SUCCEED, 'found', 'abc'), # test \w, etc. both inside and outside character classes ('\\w+', '--ab_cd0123--', SUCCEED, 'found', 'ab_cd0123'), ('[\\w]+', '--ab_cd0123--', SUCCEED, 'found', 'ab_cd0123'), ('\\D+', '1234abc5678', SUCCEED, 'found', 'abc'), ('[\\D]+', '1234abc5678', SUCCEED, 'found', 'abc'), ('[\\da-fA-F]+', '123abc', SUCCEED, 'found', '123abc'), # not an error under PCRE/PRE: # ('[\\d-x]', '-', SYNTAX_ERROR), (r'([\s]*)([\S]*)([\s]*)', ' testing!1972', SUCCEED, 'g3+g2+g1', 'testing!1972 '), (r'(\s*)(\S*)(\s*)', ' testing!1972', SUCCEED, 'g3+g2+g1', 'testing!1972 '), (r'\xff', '\377', SUCCEED, 'found', chr(255)), # new \x semantics (r'\x00ff', '\377', FAIL), # (r'\x00ff', '\377', SUCCEED, 'found', chr(255)), (r'\t\n\v\r\f\a', '\t\n\v\r\f\a', SUCCEED, 'found', '\t\n\v\r\f\a'), ('\t\n\v\r\f\a', '\t\n\v\r\f\a', SUCCEED, 'found', '\t\n\v\r\f\a'), (r'\t\n\v\r\f\a', '\t\n\v\r\f\a', SUCCEED, 'found', chr(9)+chr(10)+chr(11)+chr(13)+chr(12)+chr(7)), (r'[\t][\n][\v][\r][\f][\b]', '\t\n\v\r\f\b', SUCCEED, 'found', '\t\n\v\r\f\b'), # # post-1.5.2 additions # xmllib problem (r'(([a-z]+):)?([a-z]+)$', 'smil', SUCCEED, 'g1+"-"+g2+"-"+g3', 'None-None-smil'), # bug 110866: reference to undefined group (r'((.)\1+)', '', SYNTAX_ERROR), # bug 111869: search (PRE/PCRE fails on this one, SRE doesn't) (r'.*d', 'abc\nabd', SUCCEED, 'found', 'abd'), # bug 112468: various expected syntax errors (r'(', '', SYNTAX_ERROR), (r'[\41]', '!', SUCCEED, 'found', '!'), # bug 114033: nothing to repeat (r'(x?)?', 'x', SUCCEED, 'found', 'x'), # bug 115040: rescan if flags are modified inside pattern (r'(?x) foo ', 'foo', SUCCEED, 'found', 'foo'), # bug 115618: negative lookahead (r'(?<!abc)(d.f)', 'abcdefdof', SUCCEED, 'found', 'dof'), # bug 116251: character class bug (r'[\w-]+', 'laser_beam', SUCCEED, 'found', 'laser_beam'), # bug 123769+127259: non-greedy backtracking bug (r'.*?\S *:', 'xx:', SUCCEED, 'found', 'xx:'), (r'a[ ]*?\ (\d+).*', 'a 10', SUCCEED, 'found', 'a 10'), (r'a[ ]*?\ (\d+).*', 'a 10', SUCCEED, 'found', 'a 10'), # bug 127259: \Z shouldn't depend on multiline mode (r'(?ms).*?x\s*\Z(.*)','xx\nx\n', SUCCEED, 'g1', ''), # bug 128899: uppercase literals under the ignorecase flag (r'(?i)M+', 'MMM', SUCCEED, 'found', 'MMM'), (r'(?i)m+', 'MMM', SUCCEED, 'found', 'MMM'), (r'(?i)[M]+', 'MMM', SUCCEED, 'found', 'MMM'), (r'(?i)[m]+', 'MMM', SUCCEED, 'found', 'MMM'), # bug 130748: ^* should be an error (nothing to repeat) (r'^*', '', SYNTAX_ERROR), # bug 133283: minimizing repeat problem (r'"(?:\\"|[^"])*?"', r'"\""', SUCCEED, 'found', r'"\""'), # bug 477728: minimizing repeat problem (r'^.*?$', 'one\ntwo\nthree\n', FAIL), # bug 483789: minimizing repeat problem (r'a[^>]*?b', 'a>b', FAIL), # bug 490573: minimizing repeat problem (r'^a*?$', 'foo', FAIL), # bug 470582: nested groups problem (r'^((a)c)?(ab)$', 'ab', SUCCEED, 'g1+"-"+g2+"-"+g3', 'None-None-ab'), # another minimizing repeat problem (capturing groups in assertions) ('^([ab]*?)(?=(b)?)c', 'abc', SUCCEED, 'g1+"-"+g2', 'ab-None'), ('^([ab]*?)(?!(b))c', 'abc', SUCCEED, 'g1+"-"+g2', 'ab-None'), ('^([ab]*?)(?<!(a))c', 'abc', SUCCEED, 'g1+"-"+g2', 'ab-None'), ] u = '\N{LATIN CAPITAL LETTER A WITH DIAERESIS}' tests.extend([ # bug 410271: \b broken under locales (r'\b.\b', 'a', SUCCEED, 'found', 'a'), (r'(?u)\b.\b', u, SUCCEED, 'found', u), (r'(?u)\w', u, SUCCEED, 'found', u), ])
Close