From: Fletcher T. Penney Date: Fri, 27 Jan 2017 19:19:49 +0000 (-0500) Subject: CHANGED: Fix pathologic tests X-Git-Tag: 0.1.1a^2~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0231069d0f94751d3051e9190d7f4e16ce394c1c;p=multimarkdown CHANGED: Fix pathologic tests --- diff --git a/tools/pathological_tests.sh b/tools/pathological_tests.sh index 2eeecb7..015a196 100755 --- a/tools/pathological_tests.sh +++ b/tools/pathological_tests.sh @@ -1,7 +1,7 @@ #!/bin/bash X=65535 -#X=100 +#X=8000 Y=$((X-1)) @@ -20,35 +20,35 @@ echo "a a

" >> path1.html # Close unopened emph -seq -f "a_" $X > path2.text +seq -f "a_" $X > path2.text -echo -n "

" > path2.html -seq -f "a_" $Y >> path2.html -echo "a_

" >> path2.html +echo -n "

" > path2.html +seq -f "a_" $Y >> path2.html +echo "a_

" >> path2.html # Open unclosed emph -seq -f "_a" $X > path3.text +seq -f "_a" $X > path3.text -echo -n "

" > path3.html -seq -f "_a" $Y >> path3.html -echo "_a

" >> path3.html +echo -n "

" > path3.html +seq -f "_a" $Y >> path3.html +echo "_a

" >> path3.html # Close unopened links -seq -f "a]" $X > path4.text +seq -f "a]" $X > path4.text -echo -n "

" > path4.html -seq -f "a]" $Y >> path4.html -echo "a]

" >> path4.html +echo -n "

" > path4.html +seq -f "a]" $Y >> path4.html +echo "a]

" >> path4.html # Open unclosed links -seq -f "[a" $X > path5.text +seq -f "[a" $X > path5.text -echo -n "

" > path5.html -seq -f "[a" $Y >> path5.html -echo "[a

" >> path5.html +echo -n "

" > path5.html +seq -f "[a" $Y >> path5.html +echo "[a

" >> path5.html # Mismatched * and _ @@ -57,52 +57,51 @@ echo "[a

" >> path5.html # Could keep count of different token types on stack # To ensure there's even something to find. Which does # mean more overhead CPU time -seq -f "*a_" $X > path6.text +seq -f "*a_" $X > path6.text -echo -n "

" > path6.html -seq -f "*a_" $Y >> path6.html -echo "*a_

" >> path6.html +echo -n "

" > path6.html +seq -f "*a_" $Y >> path6.html +echo "*a_

" >> path6.html # Unclosed links and unopened emph -seq -f "[ a_" $X > path7.text +seq -f "[ a_" $X > path7.text -echo -n "

" > path7.html -seq -f "[ a_" $Y >> path7.html -echo "[ a_

" >> path7.html +echo -n "

" > path7.html +seq -f "[ a_" $Y >> path7.html +echo "[ a_

" >> path7.html # Complex case -seq -f "**x [*b**c*](d)" $X > path8.text +seq -f "**x [*b**c*](d)" $X > path8.text -echo -n "

" > path8.html -seq -f "**x abc" $Y >> path8.html -echo "**x abc

" >> path8.html +echo -n "

" > path8.html +seq -f "**x *b**c*" $Y >> path8.html +echo "**x *b**c*

" >> path8.html # Nested brackets # TODO: Performance hit between 1000 and 10,000 iterations # Checking each level to see if it's a valid link on the stack -seq -s " " -f "[" $X > path9.text -echo -n "a" >> path9.text -seq -s " " -f "]" $X >> path9.text +seq -s " " -f "[" $X > path9.text +echo -n "a" >> path9.text +seq -s " " -f "]" $X >> path9.text -echo -n "

" > path9.html -seq -s " " -f "[" $X >> path9.html -echo -n "a" >> path9.html -seq -s " " -f "]" $Y >> path9.html -echo "]

" >> path9.html +echo -n "

" > path9.html +seq -s " " -f "[" $X >> path9.html +echo -n "a" >> path9.html +seq -s " " -f "]" $Y >> path9.html +echo "]

" >> path9.html # Nested block quotes # TODO: Segfaults -- recursive parsing after ~~10k nests -seq -s " " -f ">" $X > path10.text -echo -n "a" >> path10.text - -echo -n "

" > path10.html -seq -f "

" $X >> path10.html -echo -n "a" >> path10.html -seq -f "
" $X >> path10.html -echo -n "

" >> path10.html +# Slower than cmark +seq -s " " -f ">" $X > path10.text +echo -n "a" >> path10.text + +seq -f "
" $X > path10.html +echo "

a

" >> path10.html +seq -f "
" $X >> path10.html