diff options
author | Jo-Philipp Wich <jo@mein.io> | 2021-04-29 00:31:06 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2021-04-29 00:31:06 +0200 |
commit | f73e20158641a96882565852d0e2a6bf1540d950 (patch) | |
tree | 800d1fbdfe4f068f897e794d7b114e3545099067 /tests | |
parent | 86b4863837edbd9aaac1aeea3f0101076ef55f09 (diff) |
lexer: fix infinite loop when parsing regexp literal at EOF
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/custom/03_bugs/16_hang_on_regexp_at_eof | 9 | ||||
-rwxr-xr-x | tests/custom/run_tests.sh | 5 |
2 files changed, 14 insertions, 0 deletions
diff --git a/tests/custom/03_bugs/16_hang_on_regexp_at_eof b/tests/custom/03_bugs/16_hang_on_regexp_at_eof new file mode 100644 index 0000000..d8702ca --- /dev/null +++ b/tests/custom/03_bugs/16_hang_on_regexp_at_eof @@ -0,0 +1,9 @@ +When parsing a regexp literal at the end of the source buffer, the lexer +ended up in an infinite loop watining for a non-flag character. + +-- Expect stdout -- +-- End -- + +-- Testcase -- +{% /a/ +-- End (no-eol) -- diff --git a/tests/custom/run_tests.sh b/tests/custom/run_tests.sh index 61b116f..db64021 100755 --- a/tests/custom/run_tests.sh +++ b/tests/custom/run_tests.sh @@ -28,6 +28,11 @@ extract_sections() { outfile=$(printf "%s/%03d.%s" "$dir" $count "$tag") printf "" > "$outfile" ;; + "-- End (no-eol) --") + truncate -s -1 "$outfile" + tag="" + outfile="" + ;; "-- End --") tag="" outfile="" |