summaryrefslogtreecommitdiff
path: root/cli/tools/test.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/test.rs')
-rw-r--r--cli/tools/test.rs32
1 files changed, 23 insertions, 9 deletions
diff --git a/cli/tools/test.rs b/cli/tools/test.rs
index c660d6043..7db50a807 100644
--- a/cli/tools/test.rs
+++ b/cli/tools/test.rs
@@ -9,10 +9,12 @@ use crate::emit;
use crate::file_fetcher::File;
use crate::file_watcher;
use crate::file_watcher::ResolutionResult;
+use crate::flags::CheckFlag;
use crate::flags::Flags;
use crate::fs_util::collect_specifiers;
use crate::fs_util::is_supported_test_ext;
use crate::fs_util::is_supported_test_path;
+use crate::graph_util::graph_valid;
use crate::located_script_name;
use crate::lockfile;
use crate::ops;
@@ -1080,6 +1082,7 @@ pub async fn run_tests_with_watch(
let include = include.unwrap_or_else(|| vec![".".to_string()]);
let paths_to_watch: Vec<_> = include.iter().map(PathBuf::from).collect();
+ let no_check = ps.flags.check == CheckFlag::None;
let resolver = |changed: Option<Vec<PathBuf>>| {
let mut cache = cache::FetchCacher::new(
@@ -1149,7 +1152,7 @@ pub async fn run_tests_with_watch(
None,
)
.await;
- graph.valid()?;
+ graph_valid(&graph, !no_check)?;
// TODO(@kitsonk) - This should be totally derivable from the graph.
for specifier in test_modules {
@@ -1159,21 +1162,32 @@ pub async fn run_tests_with_watch(
// This needs to be accessible to skip getting dependencies if they're already there,
// otherwise this will cause a stack overflow with circular dependencies
output: &mut HashSet<&'a ModuleSpecifier>,
+ no_check: bool,
) {
if let Some(Module::Es(module)) = maybe_module {
for dep in module.dependencies.values() {
if let Some(specifier) = &dep.get_code() {
if !output.contains(specifier) {
output.insert(specifier);
-
- get_dependencies(graph, graph.get(specifier), output);
+ get_dependencies(
+ graph,
+ graph.get(specifier),
+ output,
+ no_check,
+ );
}
}
- if let Some(specifier) = &dep.get_type() {
- if !output.contains(specifier) {
- output.insert(specifier);
-
- get_dependencies(graph, graph.get(specifier), output);
+ if !no_check {
+ if let Some(specifier) = &dep.get_type() {
+ if !output.contains(specifier) {
+ output.insert(specifier);
+ get_dependencies(
+ graph,
+ graph.get(specifier),
+ output,
+ no_check,
+ );
+ }
}
}
}
@@ -1183,7 +1197,7 @@ pub async fn run_tests_with_watch(
// This test module and all it's dependencies
let mut modules = HashSet::new();
modules.insert(&specifier);
- get_dependencies(&graph, graph.get(&specifier), &mut modules);
+ get_dependencies(&graph, graph.get(&specifier), &mut modules, no_check);
paths_to_watch.extend(
modules