Skip to content

Commit

Permalink
lint and tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mtb0x1 committed Dec 30, 2024
1 parent b85075f commit a663593
Show file tree
Hide file tree
Showing 5 changed files with 106 additions and 11 deletions.
23 changes: 12 additions & 11 deletions src/support/json.h
Original file line number Diff line number Diff line change
Expand Up @@ -257,17 +257,18 @@ struct Value {
while (*curr && is_json_space(*curr)) \
curr++; \
}
#define skip_escaped_characters(ptr)\
while (*ptr && *ptr != '"') {\
if (*ptr == '\\' && *(ptr + 1)) {\
ptr++;\
}\
ptr++;\
}
#define RUNTIME_ASSERT(condition)\
if (!(condition)) {\
std::cerr << "Assertion failed: " #condition << " at " << __FILE__ << ":" << __LINE__ << "\n";\
std::terminate();\
#define skip_escaped_characters(ptr) \
while (*ptr && *ptr != '"') { \
if (*ptr == '\\' && *(ptr + 1)) { \
ptr++; \
} \
ptr++; \
}
#define RUNTIME_ASSERT(condition) \
if (!(condition)) { \
std::cerr << "Assertion failed: " #condition << " at " << __FILE__ << ":" \
<< __LINE__ << "\n"; \
std::terminate(); \
}
skip();
if (*curr == '"') {
Expand Down
34 changes: 34 additions & 0 deletions test/lit/metadce/functions_with_names_need_escape.wat
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
;; RUN: wasm-metadce %s --graph-file %s.json -S -o - | filecheck %s --check-prefix=TXT
;; RUN: wasm-as %s -o %t.wasm --source-map %t.map
;; RUN: wasm-metadce %t.wasm --input-source-map %t.map --graph-file %s.json -o %t.out.wasm --output-source-map %t.out.map
;; RUN: wasm-dis %t.out.wasm --source-map %t.out.map -o - | filecheck %s --check-prefix=BIN

;; Test that sourcemap information is preserved

(module
;;@ a:1:2
;; TXT: (type $0 (func))

;; TXT: (export "f~!@#$%^&*()_+`-={}|[]\\:\";'<>?,./" (func $f))

;; TXT: (func $f
;; TXT-NEXT: ;;@ a:7:8:someSymbol
;; TXT-NEXT: (nop)
;; TXT-NEXT: ;;@ a:9:10
;; TXT-NEXT: )
(func $f (export "f~!@#$%^&*()_+`-={}|[]\\:\";'<>?,./")
;;@ a:7:8:someSymbol
(nop)
;;@ a:9:10
)
)
;; BIN: (type $0 (func))

;; BIN: (export "f" (func $0))

;; BIN: (func $0
;; BIN-NEXT: ;;@ a:7:8:someSymbol
;; BIN-NEXT: (nop)
;; BIN-NEXT: ;;@ a:9:10
;; BIN-NEXT: )
13 changes: 13 additions & 0 deletions test/lit/metadce/functions_with_names_need_escape.wat.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[
{
"name": "root",
"reaches": [
"f~!@#$%^&*()_+`-={}|[]\\:\";'<>?,./"
],
"root": true
},
{
"name": "f~!@#$%^&*()_+`-={}|[]\\:\";'<>?,./",
"export": "f~!@#$%^&*()_+`-={}|[]\\:\";'<>?,./"
}
]
34 changes: 34 additions & 0 deletions test/lit/metadce/keys_quoted_unquoted.wat
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
;; RUN: wasm-metadce %s --graph-file %s.json -S -o - | filecheck %s --check-prefix=TXT
;; RUN: wasm-as %s -o %t.wasm --source-map %t.map
;; RUN: wasm-metadce %t.wasm --input-source-map %t.map --graph-file %s.json -o %t.out.wasm --output-source-map %t.out.map
;; RUN: wasm-dis %t.out.wasm --source-map %t.out.map -o - | filecheck %s --check-prefix=BIN

;; Test that sourcemap information is preserved

(module
;;@ a:1:2
;; TXT: (type $0 (func))

;; TXT: (export "f" (func $f))

;; TXT: (func $f
;; TXT-NEXT: ;;@ a:7:8:someSymbol
;; TXT-NEXT: (nop)
;; TXT-NEXT: ;;@ a:9:10
;; TXT-NEXT: )
(func $f (export "f")
;;@ a:7:8:someSymbol
(nop)
;;@ a:9:10
)
)
;; BIN: (type $0 (func))

;; BIN: (export "f" (func $0))

;; BIN: (func $0
;; BIN-NEXT: ;;@ a:7:8:someSymbol
;; BIN-NEXT: (nop)
;; BIN-NEXT: ;;@ a:9:10
;; BIN-NEXT: )
13 changes: 13 additions & 0 deletions test/lit/metadce/keys_quoted_unquoted.wat.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[
{
name: "root",
reaches: [
"f"
],
root: true
},
{
"name": "f",
"export": "f"
}
]

0 comments on commit a663593

Please sign in to comment.