0
0
Fork 0
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:
Nayeem Rahman 2024-12-10 09:31:52 +00:00
parent 78de1fb248
commit 1af0cdee0a
5 changed files with 60 additions and 30 deletions

View file

@ -1172,6 +1172,14 @@ impl Flags {
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!(

View file

@ -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 {
match self.sub_command() {
DenoSubcommand::Compile(CompileFlags {

View file

@ -1,6 +1,7 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
use crate::args::BenchFlags;
use crate::args::BenchOptions;
use crate::args::Flags;
use crate::colors;
use crate::display::write_json_to_stdout;
@ -552,11 +553,20 @@ pub async fn run_benchmarks(
)?;
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() {
cli_options
.resolve_bench_options_for_members(&bench_flags)?
.into_iter()
.map(|(d, o)| (Arc::new(d), o.files))
.collect();
.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(
workspace_dirs_with_files,
&factory,

View file

@ -20,7 +20,6 @@ use regex::Regex;
use crate::args::check_warn_tsconfig;
use crate::args::CheckFlags;
use crate::args::CliOptions;
use crate::args::ConfigFlag;
use crate::args::FileFlags;
use crate::args::Flags;
use crate::args::TsConfig;
@ -49,14 +48,9 @@ pub async fn check(
flags: Arc<Flags>,
check_flags: CheckFlags,
) -> 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 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
.resolve_file_flags_for_members(&FileFlags {
ignore: Default::default(),

View file

@ -3,6 +3,7 @@
use crate::args::CliOptions;
use crate::args::Flags;
use crate::args::TestFlags;
use crate::args::TestOptions;
use crate::args::TestReporterConfig;
use crate::colors;
use crate::display;
@ -1499,11 +1500,20 @@ pub async fn run_tests(
)?;
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() {
cli_options
.resolve_test_options_for_members(&test_flags)?
.into_iter()
.map(|(d, o)| (Arc::new(d), o.files))
.collect();
.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(
workspace_dirs_with_files,
&factory,
@ -1605,24 +1615,28 @@ pub async fn run_tests_with_watch(
)?;
let log_level = cli_options.log_level();
let members_with_test_options =
cli_options.resolve_test_options_for_members(&test_flags)?;
let watch_paths = members_with_test_options
.iter()
.filter_map(|(_, test_options)| {
test_options
let workspace_dirs_with_files = if cli_options.is_discovered_config() {
cli_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
.include
.as_ref()
.map(|set| set.base_paths())
.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()
.filter_map(|(_, files)| {
files.include.as_ref().map(|set| set.base_paths())
})
.flatten()
.collect::<Vec<_>>();
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 =
WorkspaceFileContainer::from_workspace_dirs_with_files(
workspace_dirs_with_files,