Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions scripts/runner.node.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -1784,6 +1784,7 @@ async function spawnBun(execPath, { args, cwd, timeout, gracefulTimeout, idleTim
FORCE_COLOR: "1",
BUN_FEATURE_FLAG_INTERNAL_FOR_TESTING: "1",
BUN_DEBUG_QUIET_LOGS: "1",
BUN_DISABLE_SLOW_FILESYSTEM_WARNING: "1",
BUN_GARBAGE_COLLECTOR_LEVEL: "1",
BUN_JSC_randomIntegrityAuditRate: "1.0",
BUN_RUNTIME_TRANSPILER_CACHE_PATH: "0",
Expand Down
2 changes: 2 additions & 0 deletions src/bun_core/env_var.rs
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,8 @@ pub mod feature_flag {
// Fall back to the scalar byte-at-a-time VLQ decode in
// bun_sourcemap::mapping::parse (skips the Highway-dispatched path).
new_feature_flag!(pub BUN_FEATURE_FLAG_DISABLE_SIMD_SOURCEMAP, "BUN_FEATURE_FLAG_DISABLE_SIMD_SOURCEMAP", {});
// Set by the test harness so stderr assertions don't flake on slow CI filesystems.
new_feature_flag!(pub BUN_DISABLE_SLOW_FILESYSTEM_WARNING, "BUN_DISABLE_SLOW_FILESYSTEM_WARNING", {});
new_feature_flag!(pub BUN_DISABLE_SLOW_LIFECYCLE_SCRIPT_LOGGING, "BUN_DISABLE_SLOW_LIFECYCLE_SCRIPT_LOGGING", {});
new_feature_flag!(pub BUN_DISABLE_SOURCE_CODE_PREVIEW, "BUN_DISABLE_SOURCE_CODE_PREVIEW", {});
new_feature_flag!(pub BUN_FEATURE_FLAG_DISABLE_SOURCE_MAPS, "BUN_FEATURE_FLAG_DISABLE_SOURCE_MAPS", {});
Expand Down
10 changes: 7 additions & 3 deletions src/install/PackageManager/PackageManagerDirectories.rs
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,11 @@ fn get_temporary_directory_run(manager: &mut PackageManager) -> TemporaryDirecto
let tmpname =
FileSystem::tmpname(b"hm", &mut tmpbuf, bun_core::fast_random()).expect("unreachable");

let mut timer = if manager.options.log_level != LogLevel::Silent {
let mut timer = if manager.options.log_level != LogLevel::Silent
&& !bun_core::env_var::feature_flag::BUN_DISABLE_SLOW_FILESYSTEM_WARNING
.get()
.unwrap_or(false)
{
Some(bun_core::time::Timer::start())
} else {
None
Expand Down Expand Up @@ -272,8 +276,8 @@ fn get_temporary_directory_run(manager: &mut PackageManager) -> TemporaryDirecto
break;
}

if manager.options.log_level != LogLevel::Silent {
let elapsed = timer.as_mut().unwrap().read();
if let Some(timer) = timer.as_mut() {
let elapsed = timer.read();
if elapsed > bun_core::time::NS_PER_MS * 100 {
let mut path_buf = PathBuffer::uninit();
let cache_dir_path: &[u8] = match sys::get_fd_path(cache_directory_fd, &mut path_buf) {
Expand Down
51 changes: 25 additions & 26 deletions test/cli/install/bun-install-lifecycle-scripts.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import {
isWindows,
readdirSorted,
runBunInstall,
stderrForInstall,
} from "harness";
import { join, sep } from "path";

Expand Down Expand Up @@ -1716,7 +1715,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -2025,7 +2024,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -2294,7 +2293,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3184,7 +3183,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3217,7 +3216,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).not.toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3253,7 +3252,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

const err = stderrForInstall(await stderr.text());
const err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3295,7 +3294,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3384,7 +3383,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3419,7 +3418,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).not.toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3459,7 +3458,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3506,7 +3505,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3553,7 +3552,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3602,7 +3601,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3650,7 +3649,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {

env.PATH = originalPath;

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("No packages! Deleted empty lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3691,7 +3690,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {

env.PATH = originalPath;

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("No packages! Deleted empty lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3723,7 +3722,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("error:");
expect(err).not.toContain("warn:");
Expand Down Expand Up @@ -3753,7 +3752,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).toContain("bun pm untrusted");
expect(err).not.toContain("error:");
expect(err).not.toContain("warn:");
Expand Down Expand Up @@ -3806,7 +3805,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3836,7 +3835,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).not.toContain("error:");
expect(err).not.toContain("warn:");
out = await stdout.text();
Expand All @@ -3863,7 +3862,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3891,7 +3890,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3926,7 +3925,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand Down Expand Up @@ -3954,7 +3953,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).not.toContain("error:");
expect(err).not.toContain("warn:");
out = await stdout.text();
Expand Down Expand Up @@ -4072,7 +4071,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

const err = stderrForInstall(await stderr.text());
const err = await stderr.text();
expect(err).not.toContain("error:");
expect(err).not.toContain("warn:");
expect(splitErrLines(err)).toEqual([
Expand Down Expand Up @@ -4127,7 +4126,7 @@ for (const forceWaiterThread of isLinux ? [false, true] : [false]) {
env: testEnv,
});

const err = stderrForInstall(await stderr.text());
const err = await stderr.text();
expect(err).not.toContain("error:");
expect(err).not.toContain("warn:");
expect(splitErrLines(err)).toEqual([
Expand Down
11 changes: 5 additions & 6 deletions test/cli/install/bun-install-registry.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import {
readdirSorted,
runBunInstall,
runBunUpdate,
stderrForInstall,
tempDir,
tls,
tmpdirSync,
Expand Down Expand Up @@ -212,7 +211,7 @@ describe("certificate authority", () => {
env,
});
let out = await stdout.text();
let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("DEPTH_ZERO_SELF_SIGNED_CERT");
expect(await exited).toBe(1);

Expand Down Expand Up @@ -6239,7 +6238,7 @@ describe("pm trust", async () => {
env,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).not.toContain("Saved lockfile");
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
Expand All @@ -6266,7 +6265,7 @@ describe("pm trust", async () => {
env,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).toContain("error: Lockfile not found");
let out = await stdout.text();
expect(out).toBeEmpty();
Expand All @@ -6292,7 +6291,7 @@ describe("pm trust", async () => {
env,
});

let err = stderrForInstall(await stderr.text());
let err = await stderr.text();
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
expect(err).not.toContain("warn:");
Expand All @@ -6319,7 +6318,7 @@ describe("pm trust", async () => {
env,
}));

err = stderrForInstall(await stderr.text());
err = await stderr.text();
expect(err).not.toContain("not found");
expect(err).not.toContain("error:");
expect(err).not.toContain("warn:");
Expand Down
Loading