Skip to content

Commit

Permalink
refactor: don't expose Deno[Deno.internal].core namespace (denoland#1…
Browse files Browse the repository at this point in the history
  • Loading branch information
bartlomieju committed Apr 26, 2023
1 parent 2df6db3 commit 14aaa73
Show file tree
Hide file tree
Showing 12 changed files with 96 additions and 62 deletions.
2 changes: 1 addition & 1 deletion cli/tests/integration/bench_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ fn recursive_permissions_pledge() {
let context = TestContext::default();
let output = context
.new_command()
.args("bench bench/recursive_permissions_pledge.js")
.args("bench --enable-testing-features-do-not-use bench/recursive_permissions_pledge.js")
.run();
output.assert_exit_code(1);
assert_contains!(
Expand Down
1 change: 1 addition & 0 deletions cli/tests/integration/inspector_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@ async fn inspector_break_on_first_line() {
let child = util::deno_cmd()
.arg("run")
.arg(inspect_flag_with_unique_port("--inspect-brk"))
.arg("--enable-testing-features-do-not-use")
.arg(script)
.stdout(std::process::Stdio::piped())
.stderr(std::process::Stdio::piped())
Expand Down
1 change: 1 addition & 0 deletions cli/tests/integration/js_unit_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ fn js_unit_tests() {
.arg("--unstable")
.arg("--location=https://js-unit-tests/foo/bar")
.arg("--no-prompt")
.arg("--enable-testing-features-do-not-use")
.arg("-A")
.arg(util::tests_path().join("unit"))
.spawn()
Expand Down
2 changes: 1 addition & 1 deletion cli/tests/integration/npm_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ itest!(dual_cjs_esm {
});

itest!(child_process_fork_test {
args: "run -A --quiet npm/child_process_fork_test/main.ts",
args: "run -A --quiet --enable-testing-features-do-not-use npm/child_process_fork_test/main.ts",
output: "npm/child_process_fork_test/main.out",
envs: env_vars_for_npm_tests(),
http_server: true,
Expand Down
97 changes: 50 additions & 47 deletions cli/tests/integration/run_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ itest!(_038_checkjs {
});

itest!(_042_dyn_import_evalcontext {
args: "run --quiet --allow-read --reload run/042_dyn_import_evalcontext.ts",
args: "run --quiet --allow-read --reload --enable-testing-features-do-not-use run/042_dyn_import_evalcontext.ts",
output: "run/042_dyn_import_evalcontext.ts.out",
});

Expand Down Expand Up @@ -1161,25 +1161,25 @@ itest!(exit_error42 {
});

itest!(set_exit_code_0 {
args: "run --no-check --unstable run/set_exit_code_0.ts",
args: "run --no-check --unstable --enable-testing-features-do-not-use run/set_exit_code_0.ts",
output_str: Some(""),
exit_code: 0,
});

itest!(set_exit_code_1 {
args: "run --no-check --unstable run/set_exit_code_1.ts",
args: "run --no-check --unstable --enable-testing-features-do-not-use run/set_exit_code_1.ts",
output_str: Some(""),
exit_code: 42,
});

itest!(set_exit_code_2 {
args: "run --no-check --unstable run/set_exit_code_2.ts",
args: "run --no-check --unstable --enable-testing-features-do-not-use run/set_exit_code_2.ts",
output_str: Some(""),
exit_code: 42,
});

itest!(op_exit_op_set_exit_code_in_worker {
args: "run --no-check --unstable --allow-read run/op_exit_op_set_exit_code_in_worker.ts",
args: "run --no-check --unstable --allow-read --enable-testing-features-do-not-use run/op_exit_op_set_exit_code_in_worker.ts",
exit_code: 21,
output_str: Some(""),
});
Expand All @@ -1197,7 +1197,7 @@ itest!(heapstats {

itest!(finalization_registry {
args:
"run --quiet --unstable --v8-flags=--expose-gc run/finalization_registry.js",
"run --quiet --unstable --enable-testing-features-do-not-use --v8-flags=--expose-gc run/finalization_registry.js",
output: "run/finalization_registry.js.out",
});

Expand Down Expand Up @@ -2755,7 +2755,7 @@ itest!(long_data_url_formatting {
});

itest!(eval_context_throw_dom_exception {
args: "run run/eval_context_throw_dom_exception.js",
args: "run --enable-testing-features-do-not-use run/eval_context_throw_dom_exception.js",
output: "run/eval_context_throw_dom_exception.js.out",
});

Expand Down Expand Up @@ -3117,115 +3117,115 @@ itest!(fetch_async_error_stack {
});

itest!(unstable_ffi_1 {
args: "run run/ffi/unstable_ffi_1.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_1.js",
output: "run/ffi/unstable_ffi_1.js.out",
exit_code: 70,
});

itest!(unstable_ffi_2 {
args: "run run/ffi/unstable_ffi_2.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_2.js",
output: "run/ffi/unstable_ffi_2.js.out",
exit_code: 70,
});

itest!(unstable_ffi_3 {
args: "run run/ffi/unstable_ffi_3.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_3.js",
output: "run/ffi/unstable_ffi_3.js.out",
exit_code: 70,
});

itest!(unstable_ffi_4 {
args: "run run/ffi/unstable_ffi_4.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_4.js",
output: "run/ffi/unstable_ffi_4.js.out",
exit_code: 70,
});

itest!(unstable_ffi_5 {
args: "run run/ffi/unstable_ffi_5.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_5.js",
output: "run/ffi/unstable_ffi_5.js.out",
exit_code: 70,
});

itest!(unstable_ffi_6 {
args: "run run/ffi/unstable_ffi_6.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_6.js",
output: "run/ffi/unstable_ffi_6.js.out",
exit_code: 70,
});

itest!(unstable_ffi_7 {
args: "run run/ffi/unstable_ffi_7.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_7.js",
output: "run/ffi/unstable_ffi_7.js.out",
exit_code: 70,
});

itest!(unstable_ffi_8 {
args: "run run/ffi/unstable_ffi_8.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_8.js",
output: "run/ffi/unstable_ffi_8.js.out",
exit_code: 70,
});

itest!(unstable_ffi_9 {
args: "run run/ffi/unstable_ffi_9.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_9.js",
output: "run/ffi/unstable_ffi_9.js.out",
exit_code: 70,
});

itest!(unstable_ffi_10 {
args: "run run/ffi/unstable_ffi_10.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_10.js",
output: "run/ffi/unstable_ffi_10.js.out",
exit_code: 70,
});

itest!(unstable_ffi_11 {
args: "run run/ffi/unstable_ffi_11.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_11.js",
output: "run/ffi/unstable_ffi_11.js.out",
exit_code: 70,
});

itest!(unstable_ffi_12 {
args: "run run/ffi/unstable_ffi_12.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_12.js",
output: "run/ffi/unstable_ffi_12.js.out",
exit_code: 70,
});

itest!(unstable_ffi_13 {
args: "run run/ffi/unstable_ffi_13.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_13.js",
output: "run/ffi/unstable_ffi_13.js.out",
exit_code: 70,
});

itest!(unstable_ffi_14 {
args: "run run/ffi/unstable_ffi_14.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_14.js",
output: "run/ffi/unstable_ffi_14.js.out",
exit_code: 70,
});

itest!(unstable_ffi_15 {
args: "run run/ffi/unstable_ffi_15.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_15.js",
output: "run/ffi/unstable_ffi_15.js.out",
exit_code: 70,
});

itest!(unstable_ffi_16 {
args: "run run/ffi/unstable_ffi_16.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_16.js",
output: "run/ffi/unstable_ffi_16.js.out",
exit_code: 70,
});

itest!(unstable_ffi_17 {
args: "run run/ffi/unstable_ffi_17.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_17.js",
output: "run/ffi/unstable_ffi_17.js.out",
exit_code: 70,
});

itest!(unstable_ffi_18 {
args: "run run/ffi/unstable_ffi_18.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_18.js",
output: "run/ffi/unstable_ffi_18.js.out",
exit_code: 70,
});

itest!(unstable_ffi_19 {
args: "run run/ffi/unstable_ffi_19.js",
args: "run --enable-testing-features-do-not-use run/ffi/unstable_ffi_19.js",
output: "run/ffi/unstable_ffi_19.js.out",
exit_code: 70,
});
Expand All @@ -3248,15 +3248,15 @@ itest!(event_listener_error_handled {

// https://github.com/denoland/deno/pull/14159#issuecomment-1092285446
itest!(event_listener_error_immediate_exit {
args: "run --quiet run/event_listener_error_immediate_exit.ts",
args: "run --quiet --enable-testing-features-do-not-use run/event_listener_error_immediate_exit.ts",
output: "run/event_listener_error_immediate_exit.ts.out",
exit_code: 1,
});

// https://github.com/denoland/deno/pull/14159#issuecomment-1092285446
itest!(event_listener_error_immediate_exit_worker {
args:
"run --quiet --unstable -A run/event_listener_error_immediate_exit_worker.ts",
"run --quiet --unstable -A --enable-testing-features-do-not-use run/event_listener_error_immediate_exit_worker.ts",
output: "run/event_listener_error_immediate_exit_worker.ts.out",
exit_code: 1,
});
Expand Down Expand Up @@ -4363,22 +4363,24 @@ fn permission_prompt_strips_ansi_codes_and_control_chars() {
)
});

util::with_pty(&["repl"], |mut console| {
console.write_line_raw(r#"const boldANSI = "\u001b[1m";"#);
console.expect("undefined");
console.write_line_raw(r#"const unboldANSI = "\u001b[22m";"#);
console.expect("undefined");
console.write_line_raw(r#"const prompt = `┌ ⚠️ ${boldANSI}Deno requests run access to "echo"${unboldANSI}\n ├ Requested by \`Deno.Command().output()`"#);
console.expect("undefined");
console.write_line_raw(r#"const moveANSIUp = "\u001b[1A";"#);
console.expect("undefined");
console.write_line_raw(r#"const clearANSI = "\u001b[2K";"#);
console.expect("undefined");
console.write_line_raw(r#"const moveANSIStart = "\u001b[1000D";"#);
console.expect("undefined");

console.write_line_raw(
r#"Deno[Deno.internal].core.ops.op_spawn_child({
util::with_pty(
&["repl", "--enable-testing-features-do-not-use"],
|mut console| {
console.write_line_raw(r#"const boldANSI = "\u001b[1m";"#);
console.expect("undefined");
console.write_line_raw(r#"const unboldANSI = "\u001b[22m";"#);
console.expect("undefined");
console.write_line_raw(r#"const prompt = `┌ ⚠️ ${boldANSI}Deno requests run access to "echo"${unboldANSI}\n ├ Requested by \`Deno.Command().output()`"#);
console.expect("undefined");
console.write_line_raw(r#"const moveANSIUp = "\u001b[1A";"#);
console.expect("undefined");
console.write_line_raw(r#"const clearANSI = "\u001b[2K";"#);
console.expect("undefined");
console.write_line_raw(r#"const moveANSIStart = "\u001b[1000D";"#);
console.expect("undefined");

console.write_line_raw(
r#"Deno[Deno.internal].core.ops.op_spawn_child({
cmd: "cat",
args: ["file.txt"],
clearEnv: false,
Expand All @@ -4392,10 +4394,11 @@ fn permission_prompt_strips_ansi_codes_and_control_chars() {
signal: undefined,
windowsRawArguments: false,
}, moveANSIUp + clearANSI + moveANSIStart + prompt)"#,
);
);

console.expect(r#"┌ ⚠️ Deno requests run access to "cat""#);
});
console.expect(r#"┌ ⚠️ Deno requests run access to "cat""#);
},
);
}

itest!(node_builtin_modules_ts {
Expand Down
4 changes: 2 additions & 2 deletions cli/tests/integration/test_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ itest!(ops_sanitizer_timeout_failure {
});

itest!(ops_sanitizer_multiple_timeout_tests {
args: "test --trace-ops test/ops_sanitizer_multiple_timeout_tests.ts",
args: "test --trace-ops --enable-testing-features-do-not-use test/ops_sanitizer_multiple_timeout_tests.ts",
exit_code: 1,
output: "test/ops_sanitizer_multiple_timeout_tests.out",
});
Expand Down Expand Up @@ -390,7 +390,7 @@ fn recursive_permissions_pledge() {
let context = TestContext::default();
let output = context
.new_command()
.args("test test/recursive_permissions_pledge.js")
.args("test --enable-testing-features-do-not-use test/recursive_permissions_pledge.js")
.run();
output.assert_exit_code(1);
assert_contains!(
Expand Down
2 changes: 1 addition & 1 deletion cli/tools/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -954,7 +954,7 @@ pub async fn test_specifier(
if ps.options.trace_ops() {
worker.js_runtime.execute_script_static(
located_script_name!(),
"Deno[Deno.internal].core.enableOpCallTracing();",
"Deno[Deno.internal].enableOpCallTracing();",
)?;
}
worker.dispatch_load_event(located_script_name!())?;
Expand Down
8 changes: 5 additions & 3 deletions core/01_core.js
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,6 @@
BadResourcePrototype,
Interrupted,
InterruptedPrototype,
enableOpCallTracing,
isOpCallTracingEnabled,
opCallTraces,
refOp,
Expand Down Expand Up @@ -507,8 +506,11 @@
});

ObjectAssign(globalThis.__bootstrap, { core });
const internals = {};
ObjectAssign(globalThis.__bootstrap, { internals });
ObjectAssign(globalThis.__bootstrap, {
internals: {
enableOpCallTracing,
},
});
ObjectAssign(globalThis.Deno, { core });

// Direct bindings on `globalThis`
Expand Down
20 changes: 20 additions & 0 deletions core/runtime.rs
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,26 @@ impl JsRuntime {
}
}
}
// Cache bust plain JS (non-ES modules as well)
#[cfg(feature = "include_js_files_for_snapshotting")]
if snapshot_options != snapshot_util::SnapshotOptions::None {
let js_sources = options
.extensions
.iter()
.flat_map(|ext| match ext.get_js_sources() {
Some(s) => s.to_owned(),
None => vec![],
})
.collect::<Vec<ExtensionFileSource>>();
for source in js_sources {
use crate::ExtensionFileSourceCode;
if let ExtensionFileSourceCode::LoadedFromFsDuringSnapshot(path) =
&source.code
{
println!("cargo:rerun-if-changed={}", path.display())
}
}
}

Rc::new(crate::modules::ExtModuleLoader::new(
options.module_loader,
Expand Down
Loading

0 comments on commit 14aaa73

Please sign in to comment.