feat: add 17 non-crashing regression tests from wren-fuzz for issue #442

These test cases cover malformed class declarations, invalid string literals,
corrupted identifiers, and various edge cases that previously caused crashes
but now produce expected parse errors.
This commit is contained in:
Bob Nystrom
2017-10-08 17:15:15 +00:00
parent bd31425b5f
commit 2dd7578130
17 changed files with 59 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
System.print("Held!")
// expect error line 8
class Wren {
yTo(city) {
System.print("Fl0to %(bity)")
}
GGGGGGCGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG  ing GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG}
vach GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG}
vach {|word|èiberd(wryield(word) }
}
while (!ad
+4
View File
@@ -0,0 +1,4 @@
// expect error line 3
// expect error line 4
class 0""0
class@0c""c00000000000000000000000000000000000000000000000000ëëëìëëëë
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class]e00000000000000000000000000000000000«««««««
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class]e00000000000000000000000000000000000«««««««
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class{M00000000000000000000000000000000000«««««««
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class W00000000000000000000000000000000000«««««««
+6
View File
@@ -0,0 +1,6 @@
// expect error line 4
// expect error line 5
// expect error line 6
0.p(""0
classý0p("".0
0""class W00000000000000000000000000000000000«««««««
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class]e00000000000000000000000000000000000ÖÖÖÖÖÖÖ
+3
View File
@@ -0,0 +1,3 @@
// expect error line 2
class 0.r«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««0«0«0
class W00000000000000000000000000000000000ÖÖÖÖÖÖÖ
+5
View File
@@ -0,0 +1,5 @@
// expect error line 3
// expect error line 5
em.0(0Hel00)
class WVe00000000000000000000000000000000ÖÖÖÖÖÖÖ
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class W00000000000000000000000000000000000ÖÖÜëùëë
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class W00000000000000000000000000000000000ÖÖÖÖÖÖÖ
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
classW00000000000000000000000000000000000ÖÖÖÖÖÖÖ
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class W000 y0000000000000000000000000000000000000000000000000ÖÖÖÖÖÖ
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class W00000000000000000000000000000000000«««««««
+2
View File
@@ -0,0 +1,2 @@
// expect error line 2
class W00000000000000000000000000000000000«««««««
+4
View File
@@ -0,0 +1,4 @@
// expect error line 3
// expect error line 4
0.p(""0
class¾S00000000000000000000000000000000000ëëëëìëë