blob: 906ae8efb6109eb10251967fb0288f8adef4a955 [file] [log] [blame] [edit]
(module
(func $test (param i32) (result i32)
;;@ waka:100:1
(i32.const 42)
)
)
;; 1. Generate a binary with a source map and url.
;;
;; RUN: wasm-opt %s -g -o %t.wasm -osm %t.wasm.map -osu=one
;; RUN: wasm-dis %t.wasm | filecheck %s --check-prefix=ONE
;; ONE: ;; custom section "sourceMappingURL", size 4
;; 2. Round-trip that binary, again using -osu. This should not end up with two
;; sourceMappingURL sections (one could arrive from the flag, and one from the
;; existing custom section, if we copy it). Note the length increases, from
;; "one\0" (4) to "swap\0" (5), as we swap the URL.
;;
;; RUN: wasm-opt %t.wasm -o %t.wasm2 -ism %t.wasm.map -osm %t.wasm.map2 -osu=swap
;; RUN: wasm-dis %t.wasm2 | filecheck %s --check-prefix=SWAP
;; Look for a wrong section both before and after the correct one.
;; SWAP-NOT: ;; custom section "sourceMappingURL", size 4
;; SWAP: ;; custom section "sourceMappingURL", size 5
;; SWAP-NOT: ;; custom section "sourceMappingURL"
;; 3. Round-trip without -osu. Now we just copy the old URL.
;;
;; RUN: wasm-opt %t.wasm2 -o %t.wasm3 -ism %t.wasm.map2 -osm %t.wasm.map3
;; RUN: wasm-dis %t.wasm3 | filecheck %s --check-prefix=ROUND
;; ROUND: ;; custom section "sourceMappingURL", size 5