From 361b46be24ae74f50a8e823c926c9e974c7c8602 Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Mon, 11 Sep 2006 04:32:57 +0000 Subject: Add a "crasher" taken from the sgml bug report referenced in the comment --- Lib/test/crashers/infinite_loop_re.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Lib/test/crashers/infinite_loop_re.py diff --git a/Lib/test/crashers/infinite_loop_re.py b/Lib/test/crashers/infinite_loop_re.py new file mode 100644 index 0000000..9aecc56 --- /dev/null +++ b/Lib/test/crashers/infinite_loop_re.py @@ -0,0 +1,16 @@ + +# This was taken from http://python.org/sf/1541697 +# It's not technically a crasher. It may not even truly be infinite, +# however, I haven't waited a long time to see the result. It takes +# 100% of CPU while running this and should be fixed. + +import re +starttag = re.compile(r'<[a-zA-Z][-_.:a-zA-Z0-9]*\s*(' + r'\s*([a-zA-Z_][-:.a-zA-Z_0-9]*)(\s*=\s*' + r'(\'[^\']*\'|"[^"]*"|[-a-zA-Z0-9./,:;+*%?!&$\(\)_#=~@]' + r'[][\-a-zA-Z0-9./,:;+*%?!&$\(\)_#=~\'"@]*(?=[\s>/<])))?' + r')*\s*/?\s*(?=[<>])') + +if __name__ == '__main__': + foo = '