]> granicus.if.org Git - multimarkdown/commitdiff
CHANGED: Fix pathologic tests
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Fri, 27 Jan 2017 19:19:49 +0000 (14:19 -0500)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Fri, 27 Jan 2017 19:19:49 +0000 (14:19 -0500)
tools/pathological_tests.sh

index 2eeecb78fa9b71651b136b25511aa6b7523aa8a6..015a196a3cea8ea9ed14ed0227ae2b25616ebee7 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 X=65535
-#X=100
+#X=8000
 
 Y=$((X-1))
 
@@ -20,35 +20,35 @@ echo "a</strong> a</em></p>" >>             path1.html
 
 
 # Close unopened emph
-seq -f "a_" $X >       path2.text
+seq -f "a_" $X >                                       path2.text
 
-echo -n "<p>" >                path2.html
-seq -f "a_" $Y >>      path2.html
-echo "a_</p>" >>       path2.html
+echo -n "<p>" >                                                path2.html
+seq -f "a_" $Y >>                                      path2.html
+echo "a_</p>" >>                                       path2.html
 
 
 # Open unclosed emph
-seq -f "_a" $X >       path3.text
+seq -f "_a" $X >                                       path3.text
 
-echo -n "<p>" >                path3.html
-seq -f "_a" $Y >>      path3.html
-echo "_a</p>" >>       path3.html
+echo -n "<p>" >                                                path3.html
+seq -f "_a" $Y >>                                      path3.html
+echo "_a</p>" >>                                       path3.html
 
 
 # Close unopened links
-seq -f "a]" $X >       path4.text
+seq -f "a]" $X >                                       path4.text
 
-echo -n "<p>" >                path4.html
-seq -f "a]" $Y >>      path4.html
-echo "a]</p>" >>       path4.html
+echo -n "<p>" >                                                path4.html
+seq -f "a]" $Y >>                                      path4.html
+echo "a]</p>" >>                                       path4.html
 
 
 # Open unclosed links
-seq -f "[a" $X >       path5.text
+seq -f "[a" $X >                                       path5.text
 
-echo -n "<p>" >                path5.html
-seq -f "[a" $Y >>      path5.html
-echo "[a</p>" >>       path5.html
+echo -n "<p>" >                                                path5.html
+seq -f "[a" $Y >>                                      path5.html
+echo "[a</p>" >>                                       path5.html
 
 
 # Mismatched * and _
@@ -57,52 +57,51 @@ echo "[a</p>" >>    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 "<p>" >                path6.html
-seq -f "*a_" $Y >>     path6.html
-echo "*a_</p>" >>      path6.html
+echo -n "<p>" >                                                path6.html
+seq -f "*a_" $Y >>                                     path6.html
+echo "*a_</p>" >>                                      path6.html
 
 
 # Unclosed links and unopened emph
-seq -f "[ a_" $X >     path7.text
+seq -f "[ a_" $X >                                     path7.text
 
-echo -n "<p>" >                path7.html
-seq -f "[ a_" $Y >>    path7.html
-echo "[ a_</p>" >>     path7.html
+echo -n "<p>" >                                                path7.html
+seq -f "[ a_" $Y >>                                    path7.html
+echo "[ a_</p>" >>                                     path7.html
 
 
 # Complex case
-seq -f "**x [*b**c*](d)" $X >                                                          path8.text
+seq -f "**x [*b**c*](d)" $X >                          path8.text
 
-echo -n "<p>" >                                                                                                path8.html
-seq -f "**x <a href=\"d\">a<em>b</em><em>c</em><a>" $Y >>      path8.html
-echo "**x <a href=\"d\">a<em>b</em><em>c</em><a></p>" >>       path8.html
+echo -n "<p>" >                                                                path8.html
+seq -f "**x <a href=\"d\">*b**c*</a>" $Y >>    path8.html
+echo "**x <a href=\"d\">*b**c*</a></p>" >>     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 "<p>" >                        path9.html
-seq -s " " -f "[" $X >>        path9.html
-echo -n "a" >>                         path9.html
-seq -s " " -f "]" $Y >>        path9.html
-echo "]</p>" >>                        path9.html
+echo -n "<p>" >                                                path9.html
+seq -s " " -f "[" $X >>                                path9.html
+echo -n "a" >>                                                 path9.html
+seq -s " " -f "]" $Y >>                                path9.html
+echo "]</p>" >>                                                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 "<p>" >                                        path10.html
-seq -f "<blockquote>" $X >>            path10.html
-echo -n "a" >>                                         path10.html
-seq -f "</blockquote>" $X >>   path10.html
-echo -n "</p>" >>                              path10.html
+# Slower than cmark 
+seq -s " " -f ">" $X >                         path10.text
+echo -n "a" >>                                                 path10.text
+
+seq -f "<blockquote>" $X >                     path10.html
+echo "<p>a</p>" >>                                     path10.html
+seq -f "</blockquote>" $X >>           path10.html