diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/specs/compile/determinism/__test__.jsonc | 28 | ||||
-rw-r--r-- | tests/specs/compile/determinism/assert_equal.ts | 15 | ||||
-rw-r--r-- | tests/specs/compile/determinism/main.ts | 4 |
3 files changed, 47 insertions, 0 deletions
diff --git a/tests/specs/compile/determinism/__test__.jsonc b/tests/specs/compile/determinism/__test__.jsonc new file mode 100644 index 000000000..97045744f --- /dev/null +++ b/tests/specs/compile/determinism/__test__.jsonc @@ -0,0 +1,28 @@ +{ + "tempDir": true, + "steps": [{ + "if": "unix", + "args": "compile --output main1 main.ts", + "output": "[WILDCARD]" + }, { + "if": "unix", + "args": "compile --output main2 main.ts", + "output": "[WILDCARD]" + }, { + "if": "unix", + "args": "run --allow-read=. assert_equal.ts main1 main2", + "output": "Same\n" + }, { + "if": "windows", + "args": "compile --output main1.exe main.ts", + "output": "[WILDCARD]" + }, { + "if": "windows", + "args": "compile --output main2.exe main.ts", + "output": "[WILDCARD]" + }, { + "if": "windows", + "args": "run --allow-read=. assert_equal.ts main1.exe main2.exe", + "output": "Same\n" + }] +} diff --git a/tests/specs/compile/determinism/assert_equal.ts b/tests/specs/compile/determinism/assert_equal.ts new file mode 100644 index 000000000..c99bdf16c --- /dev/null +++ b/tests/specs/compile/determinism/assert_equal.ts @@ -0,0 +1,15 @@ +const file1 = Deno.readFileSync(Deno.args[0]); +const file2 = Deno.readFileSync(Deno.args[1]); + +if (file1.length !== file2.length) { + console.error("File lengths are different"); + Deno.exit(1); +} +for (let i = 0; i < file1.length; i++) { + if (file1[i] !== file2[i]) { + console.error("Files are different"); + Deno.exit(1); + } +} + +console.error("Same"); diff --git a/tests/specs/compile/determinism/main.ts b/tests/specs/compile/determinism/main.ts new file mode 100644 index 000000000..602388bb7 --- /dev/null +++ b/tests/specs/compile/determinism/main.ts @@ -0,0 +1,4 @@ +import "npm:@denotest/esm-basic"; +import "npm:@denotest/add"; +import "npm:@denotest/subtract"; +import "npm:preact"; |