Files
bun.sh/test/js/bun/spawn/exit-code.test.ts
Jarred Sumner 1bd5b245b8 Align process.nextTick execution order with Node (#4409)
* Align `process.nextTick` execution order with Node

* some tests

* formatting

* fixups

* fix the test failures

* simplify the logic here

* push it up

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: dave caruso <me@paperdave.net>
2023-09-05 17:52:57 -07:00

29 lines
992 B
TypeScript

import { describe, expect, it, test } from "bun:test";
import { bunExe } from "harness";
import { spawnSync } from "bun";
it("process.exit(1) works", () => {
const { exitCode } = spawnSync([bunExe(), import.meta.dir + "/exit-code-1.js"]);
expect(exitCode).toBe(1);
});
it("await on a thrown value reports exit code 1", () => {
const { exitCode } = spawnSync([bunExe(), import.meta.dir + "/exit-code-await-throw-1.js"]);
expect(exitCode).toBe(1);
});
it("unhandled promise rejection reports exit code 1", () => {
const { exitCode } = spawnSync([bunExe(), import.meta.dir + "/exit-code-unhandled-throw.js"]);
expect(exitCode).toBe(1);
});
it("handled promise rejection reports exit code 0", () => {
const { exitCode } = spawnSync([bunExe(), import.meta.dir + "/exit-code-handled-throw.js"]);
expect(exitCode).toBe(1);
});
it("process.exit(0) works", () => {
const { exitCode } = spawnSync([bunExe(), import.meta.dir + "/exit-code-0.js"]);
expect(exitCode).toBe(0);
});