summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lit/exec/strings.wast195
1 files changed, 195 insertions, 0 deletions
diff --git a/test/lit/exec/strings.wast b/test/lit/exec/strings.wast
index 2852337c8..6aa9d7b8a 100644
--- a/test/lit/exec/strings.wast
+++ b/test/lit/exec/strings.wast
@@ -26,11 +26,206 @@
(func "const" (result stringref)
(string.const "world")
)
+
+ ;; CHECK: [fuzz-exec] calling eq.1
+ ;; CHECK-NEXT: [fuzz-exec] note result: eq.1 => 0
+ (func "eq.1" (result i32)
+ (string.eq
+ (string.const "hello")
+ (string.const "world")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling eq.2
+ ;; CHECK-NEXT: [fuzz-exec] note result: eq.2 => 1
+ (func "eq.2" (result i32)
+ (string.eq
+ (string.const "hello")
+ (string.const "hello")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling eq.3
+ ;; CHECK-NEXT: [fuzz-exec] note result: eq.3 => 0
+ (func "eq.3" (result i32)
+ (string.eq
+ (string.const "hello")
+ (ref.null string)
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling eq.4
+ ;; CHECK-NEXT: [fuzz-exec] note result: eq.4 => 0
+ (func "eq.4" (result i32)
+ (string.eq
+ (ref.null string)
+ (string.const "world")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling eq.5
+ ;; CHECK-NEXT: [fuzz-exec] note result: eq.5 => 1
+ (func "eq.5" (result i32)
+ (string.eq
+ (ref.null string)
+ (ref.null string)
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.1
+ ;; CHECK-NEXT: [trap null ref]
+ (func "compare.1" (result i32)
+ (string.compare
+ (string.const "hello")
+ (ref.null string)
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.2
+ ;; CHECK-NEXT: [trap null ref]
+ (func "compare.2" (result i32)
+ (string.compare
+ (ref.null string)
+ (string.const "world")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.3
+ ;; CHECK-NEXT: [trap null ref]
+ (func "compare.3" (result i32)
+ (string.compare
+ (ref.null string)
+ (ref.null string)
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.4
+ ;; CHECK-NEXT: [fuzz-exec] note result: compare.4 => 0
+ (func "compare.4" (result i32)
+ (string.compare
+ (string.const "hello")
+ (string.const "hello")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.5
+ ;; CHECK-NEXT: [fuzz-exec] note result: compare.5 => -1
+ (func "compare.5" (result i32)
+ (string.compare
+ (string.const "hello")
+ (string.const "hezlo")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.6
+ ;; CHECK-NEXT: [fuzz-exec] note result: compare.6 => 1
+ (func "compare.6" (result i32)
+ (string.compare
+ (string.const "hezlo")
+ (string.const "hello")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.7
+ ;; CHECK-NEXT: [fuzz-exec] note result: compare.7 => -1
+ (func "compare.7" (result i32)
+ (string.compare
+ (string.const "he")
+ (string.const "hello")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.8
+ ;; CHECK-NEXT: [fuzz-exec] note result: compare.8 => 1
+ (func "compare.8" (result i32)
+ (string.compare
+ (string.const "hello")
+ (string.const "he")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.9
+ ;; CHECK-NEXT: [fuzz-exec] note result: compare.9 => 1
+ (func "compare.9" (result i32)
+ (string.compare
+ (string.const "hf")
+ (string.const "hello")
+ )
+ )
+
+ ;; CHECK: [fuzz-exec] calling compare.10
+ ;; CHECK-NEXT: [fuzz-exec] note result: compare.10 => -1
+ (func "compare.10" (result i32)
+ (string.compare
+ (string.const "hello")
+ (string.const "hf")
+ )
+ )
)
;; CHECK: [fuzz-exec] calling new_wtf16_array
;; CHECK-NEXT: [fuzz-exec] note result: new_wtf16_array => string("ello")
;; CHECK: [fuzz-exec] calling const
;; CHECK-NEXT: [fuzz-exec] note result: const => string("world")
+
+;; CHECK: [fuzz-exec] calling eq.1
+;; CHECK-NEXT: [fuzz-exec] note result: eq.1 => 0
+
+;; CHECK: [fuzz-exec] calling eq.2
+;; CHECK-NEXT: [fuzz-exec] note result: eq.2 => 1
+
+;; CHECK: [fuzz-exec] calling eq.3
+;; CHECK-NEXT: [fuzz-exec] note result: eq.3 => 0
+
+;; CHECK: [fuzz-exec] calling eq.4
+;; CHECK-NEXT: [fuzz-exec] note result: eq.4 => 0
+
+;; CHECK: [fuzz-exec] calling eq.5
+;; CHECK-NEXT: [fuzz-exec] note result: eq.5 => 1
+
+;; CHECK: [fuzz-exec] calling compare.1
+;; CHECK-NEXT: [trap null ref]
+
+;; CHECK: [fuzz-exec] calling compare.2
+;; CHECK-NEXT: [trap null ref]
+
+;; CHECK: [fuzz-exec] calling compare.3
+;; CHECK-NEXT: [trap null ref]
+
+;; CHECK: [fuzz-exec] calling compare.4
+;; CHECK-NEXT: [fuzz-exec] note result: compare.4 => 0
+
+;; CHECK: [fuzz-exec] calling compare.5
+;; CHECK-NEXT: [fuzz-exec] note result: compare.5 => -1
+
+;; CHECK: [fuzz-exec] calling compare.6
+;; CHECK-NEXT: [fuzz-exec] note result: compare.6 => 1
+
+;; CHECK: [fuzz-exec] calling compare.7
+;; CHECK-NEXT: [fuzz-exec] note result: compare.7 => -1
+
+;; CHECK: [fuzz-exec] calling compare.8
+;; CHECK-NEXT: [fuzz-exec] note result: compare.8 => 1
+
+;; CHECK: [fuzz-exec] calling compare.9
+;; CHECK-NEXT: [fuzz-exec] note result: compare.9 => 1
+
+;; CHECK: [fuzz-exec] calling compare.10
+;; CHECK-NEXT: [fuzz-exec] note result: compare.10 => -1
+;; CHECK-NEXT: [fuzz-exec] comparing compare.1
+;; CHECK-NEXT: [fuzz-exec] comparing compare.10
+;; CHECK-NEXT: [fuzz-exec] comparing compare.2
+;; CHECK-NEXT: [fuzz-exec] comparing compare.3
+;; CHECK-NEXT: [fuzz-exec] comparing compare.4
+;; CHECK-NEXT: [fuzz-exec] comparing compare.5
+;; CHECK-NEXT: [fuzz-exec] comparing compare.6
+;; CHECK-NEXT: [fuzz-exec] comparing compare.7
+;; CHECK-NEXT: [fuzz-exec] comparing compare.8
+;; CHECK-NEXT: [fuzz-exec] comparing compare.9
;; CHECK-NEXT: [fuzz-exec] comparing const
+;; CHECK-NEXT: [fuzz-exec] comparing eq.1
+;; CHECK-NEXT: [fuzz-exec] comparing eq.2
+;; CHECK-NEXT: [fuzz-exec] comparing eq.3
+;; CHECK-NEXT: [fuzz-exec] comparing eq.4
+;; CHECK-NEXT: [fuzz-exec] comparing eq.5
;; CHECK-NEXT: [fuzz-exec] comparing new_wtf16_array