diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-08-19 12:41:11 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-19 16:41:11 +0000 |
commit | c9edb15f151774ba593bec162a5696989e1c40be (patch) | |
tree | bfb36b90ffae34e23200a40ba0bd239284818099 /tests/specs | |
parent | a20418e2e8c4753e9e479ad0c0cc2a2087f374d6 (diff) |
fix(compile): make output more deterministic (#25092)
Closes https://github.com/denoland/deno/issues/25084
Diffstat (limited to 'tests/specs')
-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"; |