diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/lit/exec/strings.wast | 195 |
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 |