diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2022-08-29 14:24:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-29 14:24:10 -0400 |
commit | c3e48cba184f2f8aaf3d30196b674c8a7dd8449b (patch) | |
tree | 4001dc9a30abbcf370971931891c0cf59aba4a2d /cli/tests/integration | |
parent | b62ef4d37bc1207abb2daed5e2568eb581f07aa2 (diff) |
fix(compile): panic when running with a populated dep analysis cache (#15672)
Closes #15612
Diffstat (limited to 'cli/tests/integration')
-rw-r--r-- | cli/tests/integration/bundle_tests.rs | 36 | ||||
-rw-r--r-- | cli/tests/integration/compile_tests.rs | 45 |
2 files changed, 44 insertions, 37 deletions
diff --git a/cli/tests/integration/bundle_tests.rs b/cli/tests/integration/bundle_tests.rs index dd83f0a95..a2e529000 100644 --- a/cli/tests/integration/bundle_tests.rs +++ b/cli/tests/integration/bundle_tests.rs @@ -93,25 +93,29 @@ fn bundle_exports_no_check() { #[test] fn bundle_circular() { // First we have to generate a bundle of some module that has exports. - let circular1 = util::testdata_path().join("subdir/circular1.ts"); - assert!(circular1.is_file()); + let circular1_path = util::testdata_path().join("subdir/circular1.ts"); + assert!(circular1_path.is_file()); let t = TempDir::new(); - let bundle = t.path().join("circular1.bundle.js"); - let mut deno = util::deno_cmd() - .current_dir(util::testdata_path()) - .arg("bundle") - .arg(circular1) - .arg(&bundle) - .spawn() - .unwrap(); - let status = deno.wait().unwrap(); - assert!(status.success()); - assert!(bundle.is_file()); - - let output = util::deno_cmd() + let bundle_path = t.path().join("circular1.bundle.js"); + + // run this twice to ensure it works even when cached + for _ in 0..2 { + let mut deno = util::deno_cmd_with_deno_dir(&t) + .current_dir(util::testdata_path()) + .arg("bundle") + .arg(&circular1_path) + .arg(&bundle_path) + .spawn() + .unwrap(); + let status = deno.wait().unwrap(); + assert!(status.success()); + assert!(bundle_path.is_file()); + } + + let output = util::deno_cmd_with_deno_dir(&t) .current_dir(util::testdata_path()) .arg("run") - .arg(&bundle) + .arg(&bundle_path) .output() .unwrap(); // check the output of the the bundle program. diff --git a/cli/tests/integration/compile_tests.rs b/cli/tests/integration/compile_tests.rs index a3f2e8697..5c9a7f074 100644 --- a/cli/tests/integration/compile_tests.rs +++ b/cli/tests/integration/compile_tests.rs @@ -13,27 +13,30 @@ fn compile() { } else { dir.path().join("welcome") }; - let output = util::deno_cmd() - .current_dir(util::root_path()) - .arg("compile") - .arg("--unstable") - .arg("--output") - .arg(&exe) - .arg("./test_util/std/examples/welcome.ts") - .stdout(std::process::Stdio::piped()) - .spawn() - .unwrap() - .wait_with_output() - .unwrap(); - assert!(output.status.success()); - let output = Command::new(exe) - .stdout(std::process::Stdio::piped()) - .spawn() - .unwrap() - .wait_with_output() - .unwrap(); - assert!(output.status.success()); - assert_eq!(output.stdout, "Welcome to Deno!\n".as_bytes()); + // try this twice to ensure it works with the cache + for _ in 0..2 { + let output = util::deno_cmd_with_deno_dir(&dir) + .current_dir(util::root_path()) + .arg("compile") + .arg("--unstable") + .arg("--output") + .arg(&exe) + .arg("./test_util/std/examples/welcome.ts") + .stdout(std::process::Stdio::piped()) + .spawn() + .unwrap() + .wait_with_output() + .unwrap(); + assert!(output.status.success()); + let output = Command::new(&exe) + .stdout(std::process::Stdio::piped()) + .spawn() + .unwrap() + .wait_with_output() + .unwrap(); + assert!(output.status.success()); + assert_eq!(output.stdout, "Welcome to Deno!\n".as_bytes()); + } } #[test] |