mirror of
https://github.com/denoland/deno.git
synced 2025-02-01 12:16:11 -05:00
use single workspace dir for test -c and bench -c
This commit is contained in:
parent
78de1fb248
commit
1af0cdee0a
5 changed files with 60 additions and 30 deletions
|
@ -1172,6 +1172,14 @@ impl Flags {
|
||||||
Ok(PathOrPatternSet::default())
|
Ok(PathOrPatternSet::default())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_discovered_config(&self) -> bool {
|
||||||
|
match self.config_flag {
|
||||||
|
ConfigFlag::Discover => true,
|
||||||
|
ConfigFlag::Path(_) => false,
|
||||||
|
ConfigFlag::Disabled => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static ENV_VARIABLES_HELP: &str = cstr!(
|
static ENV_VARIABLES_HELP: &str = cstr!(
|
||||||
|
|
|
@ -1011,6 +1011,10 @@ impl CliOptions {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_discovered_config(&self) -> bool {
|
||||||
|
self.flags.is_discovered_config()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn npm_system_info(&self) -> NpmSystemInfo {
|
pub fn npm_system_info(&self) -> NpmSystemInfo {
|
||||||
match self.sub_command() {
|
match self.sub_command() {
|
||||||
DenoSubcommand::Compile(CompileFlags {
|
DenoSubcommand::Compile(CompileFlags {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
||||||
|
|
||||||
use crate::args::BenchFlags;
|
use crate::args::BenchFlags;
|
||||||
|
use crate::args::BenchOptions;
|
||||||
use crate::args::Flags;
|
use crate::args::Flags;
|
||||||
use crate::colors;
|
use crate::colors;
|
||||||
use crate::display::write_json_to_stdout;
|
use crate::display::write_json_to_stdout;
|
||||||
|
@ -552,11 +553,20 @@ pub async fn run_benchmarks(
|
||||||
)?;
|
)?;
|
||||||
let log_level = cli_options.log_level();
|
let log_level = cli_options.log_level();
|
||||||
|
|
||||||
let workspace_dirs_with_files = cli_options
|
let workspace_dirs_with_files = if cli_options.is_discovered_config() {
|
||||||
.resolve_bench_options_for_members(&bench_flags)?
|
cli_options
|
||||||
.into_iter()
|
.resolve_bench_options_for_members(&bench_flags)?
|
||||||
.map(|(d, o)| (Arc::new(d), o.files))
|
.into_iter()
|
||||||
.collect();
|
.map(|(d, o)| (Arc::new(d), o.files))
|
||||||
|
.collect()
|
||||||
|
} else {
|
||||||
|
let patterns = bench_flags
|
||||||
|
.files
|
||||||
|
.as_file_patterns(cli_options.initial_cwd())?;
|
||||||
|
let config = cli_options.start_dir.to_bench_config(patterns)?;
|
||||||
|
let options = BenchOptions::resolve(config, &bench_flags);
|
||||||
|
vec![(cli_options.start_dir.clone(), options.files)]
|
||||||
|
};
|
||||||
let file_container = WorkspaceFileContainer::from_workspace_dirs_with_files(
|
let file_container = WorkspaceFileContainer::from_workspace_dirs_with_files(
|
||||||
workspace_dirs_with_files,
|
workspace_dirs_with_files,
|
||||||
&factory,
|
&factory,
|
||||||
|
|
|
@ -20,7 +20,6 @@ use regex::Regex;
|
||||||
use crate::args::check_warn_tsconfig;
|
use crate::args::check_warn_tsconfig;
|
||||||
use crate::args::CheckFlags;
|
use crate::args::CheckFlags;
|
||||||
use crate::args::CliOptions;
|
use crate::args::CliOptions;
|
||||||
use crate::args::ConfigFlag;
|
|
||||||
use crate::args::FileFlags;
|
use crate::args::FileFlags;
|
||||||
use crate::args::Flags;
|
use crate::args::Flags;
|
||||||
use crate::args::TsConfig;
|
use crate::args::TsConfig;
|
||||||
|
@ -49,14 +48,9 @@ pub async fn check(
|
||||||
flags: Arc<Flags>,
|
flags: Arc<Flags>,
|
||||||
check_flags: CheckFlags,
|
check_flags: CheckFlags,
|
||||||
) -> Result<(), AnyError> {
|
) -> Result<(), AnyError> {
|
||||||
let is_discovered_config = match flags.config_flag {
|
|
||||||
ConfigFlag::Discover => true,
|
|
||||||
ConfigFlag::Path(_) => false,
|
|
||||||
ConfigFlag::Disabled => false,
|
|
||||||
};
|
|
||||||
let factory = CliFactory::from_flags(flags);
|
let factory = CliFactory::from_flags(flags);
|
||||||
let cli_options = factory.cli_options()?;
|
let cli_options = factory.cli_options()?;
|
||||||
let workspace_dirs_with_files = if is_discovered_config {
|
let workspace_dirs_with_files = if cli_options.is_discovered_config() {
|
||||||
cli_options
|
cli_options
|
||||||
.resolve_file_flags_for_members(&FileFlags {
|
.resolve_file_flags_for_members(&FileFlags {
|
||||||
ignore: Default::default(),
|
ignore: Default::default(),
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
use crate::args::CliOptions;
|
use crate::args::CliOptions;
|
||||||
use crate::args::Flags;
|
use crate::args::Flags;
|
||||||
use crate::args::TestFlags;
|
use crate::args::TestFlags;
|
||||||
|
use crate::args::TestOptions;
|
||||||
use crate::args::TestReporterConfig;
|
use crate::args::TestReporterConfig;
|
||||||
use crate::colors;
|
use crate::colors;
|
||||||
use crate::display;
|
use crate::display;
|
||||||
|
@ -1499,11 +1500,20 @@ pub async fn run_tests(
|
||||||
)?;
|
)?;
|
||||||
let log_level = cli_options.log_level();
|
let log_level = cli_options.log_level();
|
||||||
|
|
||||||
let workspace_dirs_with_files = cli_options
|
let workspace_dirs_with_files = if cli_options.is_discovered_config() {
|
||||||
.resolve_test_options_for_members(&test_flags)?
|
cli_options
|
||||||
.into_iter()
|
.resolve_test_options_for_members(&test_flags)?
|
||||||
.map(|(d, o)| (Arc::new(d), o.files))
|
.into_iter()
|
||||||
.collect();
|
.map(|(d, o)| (Arc::new(d), o.files))
|
||||||
|
.collect()
|
||||||
|
} else {
|
||||||
|
let patterns = test_flags
|
||||||
|
.files
|
||||||
|
.as_file_patterns(cli_options.initial_cwd())?;
|
||||||
|
let config = cli_options.start_dir.to_test_config(patterns)?;
|
||||||
|
let options = TestOptions::resolve(config, &test_flags);
|
||||||
|
vec![(cli_options.start_dir.clone(), options.files)]
|
||||||
|
};
|
||||||
let file_container = WorkspaceFileContainer::from_workspace_dirs_with_files(
|
let file_container = WorkspaceFileContainer::from_workspace_dirs_with_files(
|
||||||
workspace_dirs_with_files,
|
workspace_dirs_with_files,
|
||||||
&factory,
|
&factory,
|
||||||
|
@ -1605,24 +1615,28 @@ pub async fn run_tests_with_watch(
|
||||||
)?;
|
)?;
|
||||||
let log_level = cli_options.log_level();
|
let log_level = cli_options.log_level();
|
||||||
|
|
||||||
let members_with_test_options =
|
let workspace_dirs_with_files = if cli_options.is_discovered_config() {
|
||||||
cli_options.resolve_test_options_for_members(&test_flags)?;
|
cli_options
|
||||||
let watch_paths = members_with_test_options
|
.resolve_test_options_for_members(&test_flags)?
|
||||||
|
.into_iter()
|
||||||
|
.map(|(d, o)| (Arc::new(d), o.files))
|
||||||
|
.collect()
|
||||||
|
} else {
|
||||||
|
let patterns = test_flags
|
||||||
|
.files
|
||||||
|
.as_file_patterns(cli_options.initial_cwd())?;
|
||||||
|
let config = cli_options.start_dir.to_test_config(patterns)?;
|
||||||
|
let options = TestOptions::resolve(config, &test_flags);
|
||||||
|
vec![(cli_options.start_dir.clone(), options.files)]
|
||||||
|
};
|
||||||
|
let watch_paths = workspace_dirs_with_files
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(|(_, test_options)| {
|
.filter_map(|(_, files)| {
|
||||||
test_options
|
files.include.as_ref().map(|set| set.base_paths())
|
||||||
.files
|
|
||||||
.include
|
|
||||||
.as_ref()
|
|
||||||
.map(|set| set.base_paths())
|
|
||||||
})
|
})
|
||||||
.flatten()
|
.flatten()
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
let _ = watcher_communicator.watch_paths(watch_paths);
|
let _ = watcher_communicator.watch_paths(watch_paths);
|
||||||
let workspace_dirs_with_files = members_with_test_options
|
|
||||||
.into_iter()
|
|
||||||
.map(|(d, o)| (Arc::new(d), o.files))
|
|
||||||
.collect();
|
|
||||||
let file_container =
|
let file_container =
|
||||||
WorkspaceFileContainer::from_workspace_dirs_with_files(
|
WorkspaceFileContainer::from_workspace_dirs_with_files(
|
||||||
workspace_dirs_with_files,
|
workspace_dirs_with_files,
|
||||||
|
|
Loading…
Add table
Reference in a new issue