summaryrefslogtreecommitdiff
path: root/tests/util
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-05-02 20:43:12 -0400
committerGitHub <noreply@github.com>2024-05-03 00:43:12 +0000
commitb7945a218ee193f6730b4b459e5ab28d13b1f040 (patch)
tree690bc84008a60f3cd13d4dee11df39a8f66c85c7 /tests/util
parentcf0579c7d4b69fcb205fb0d5320e0a00012720ee (diff)
chore: move cert itests to spec tests (#23607)
Diffstat (limited to 'tests/util')
-rw-r--r--tests/util/server/src/builders.rs50
-rw-r--r--tests/util/server/src/macros.rs39
2 files changed, 30 insertions, 59 deletions
diff --git a/tests/util/server/src/builders.rs b/tests/util/server/src/builders.rs
index b41c684be..bf5de64dc 100644
--- a/tests/util/server/src/builders.rs
+++ b/tests/util/server/src/builders.rs
@@ -546,9 +546,10 @@ impl TestCommandBuilder {
return;
}
- let args = self.build_args();
+ let cwd = self.build_cwd();
+ let args = self.build_args(&cwd);
let args = args.iter().map(|s| s.as_str()).collect::<Vec<_>>();
- let mut envs = self.build_envs();
+ let mut envs = self.build_envs(&cwd);
if !envs.contains_key("NO_COLOR") {
// set this by default for pty tests
envs.insert("NO_COLOR".to_string(), "1".to_string());
@@ -562,11 +563,6 @@ impl TestCommandBuilder {
}
}
- let cwd = self
- .cwd
- .as_ref()
- .map(PathBuf::from)
- .unwrap_or_else(|| std::env::current_dir().unwrap());
let command_path = self.build_command_path();
self.diagnostic_logger.writeln(format!(
@@ -699,19 +695,18 @@ impl TestCommandBuilder {
fn build_command(&self) -> Command {
let command_path = self.build_command_path();
- let args = self.build_args();
+ let cwd = self.build_cwd();
+ let args = self.build_args(&cwd);
self.diagnostic_logger.writeln(format!(
"command {} {}",
command_path,
args.join(" ")
));
let mut command = Command::new(command_path);
- if let Some(cwd) = &self.cwd {
- self
- .diagnostic_logger
- .writeln(format!("command cwd {}", cwd));
- command.current_dir(cwd);
- }
+ self
+ .diagnostic_logger
+ .writeln(format!("command cwd {}", cwd.display()));
+ command.current_dir(&cwd);
if let Some(stdin) = &self.stdin {
command.stdin(stdin.take());
}
@@ -726,7 +721,7 @@ impl TestCommandBuilder {
if self.env_clear {
command.env_clear();
}
- let envs = self.build_envs();
+ let envs = self.build_envs(&cwd);
command.envs(envs);
command.stdin(Stdio::piped());
command
@@ -747,7 +742,7 @@ impl TestCommandBuilder {
}
}
- fn build_args(&self) -> Vec<String> {
+ fn build_args(&self, cwd: &Path) -> Vec<String> {
if self.args_vec.is_empty() {
std::borrow::Cow::Owned(
self
@@ -764,11 +759,19 @@ impl TestCommandBuilder {
std::borrow::Cow::Borrowed(&self.args_vec)
}
.iter()
- .map(|arg| arg.replace("$TESTDATA", &testdata_path().to_string_lossy()))
+ .map(|arg| self.replace_vars(arg, cwd))
.collect::<Vec<_>>()
}
- fn build_envs(&self) -> HashMap<String, String> {
+ fn build_cwd(&self) -> PathBuf {
+ self
+ .cwd
+ .as_ref()
+ .map(PathBuf::from)
+ .unwrap_or_else(|| std::env::current_dir().unwrap())
+ }
+
+ fn build_envs(&self, cwd: &Path) -> HashMap<String, String> {
let mut envs = self.envs.clone();
if !envs.contains_key("DENO_DIR") {
envs.insert("DENO_DIR".to_string(), self.deno_dir.path().to_string());
@@ -788,12 +791,19 @@ impl TestCommandBuilder {
// update any test variables in the env value
for value in envs.values_mut() {
- *value =
- value.replace("$DENO_DIR", &self.deno_dir.path().to_string_lossy());
+ *value = self.replace_vars(value, cwd);
}
envs
}
+
+ fn replace_vars(&self, text: &str, cwd: &Path) -> String {
+ // todo(dsherret): use monch to extract out the vars
+ text
+ .replace("$DENO_DIR", &self.deno_dir.path().to_string_lossy())
+ .replace("$TESTDATA", &testdata_path().to_string_lossy())
+ .replace("$PWD", &cwd.to_string_lossy())
+ }
}
pub struct DenoChild {
diff --git a/tests/util/server/src/macros.rs b/tests/util/server/src/macros.rs
index 542214d20..fdbb977e9 100644
--- a/tests/util/server/src/macros.rs
+++ b/tests/util/server/src/macros.rs
@@ -66,30 +66,6 @@ macro_rules! itest(
);
#[macro_export]
-macro_rules! itest_flaky(
-($name:ident {$( $key:ident: $value:expr,)*}) => {
- #[flaky_test::flaky_test]
- fn $name() {
- $crate::timeout!();
- let test = $crate::CheckOutputIntegrationTest {
- $(
- $key: $value,
- )*
- .. Default::default()
- };
- let output = test.output();
- output.assert_exit_code(test.exit_code);
- if !test.output.is_empty() {
- assert!(test.output_str.is_none());
- output.assert_matches_file(test.output);
- } else {
- output.assert_matches_text(test.output_str.unwrap_or(""));
- }
- }
-}
-);
-
-#[macro_export]
macro_rules! context(
({$( $key:ident: $value:expr,)*}) => {
$crate::TestContext::create($crate::TestContextOptions {
@@ -102,21 +78,6 @@ macro_rules! context(
);
#[macro_export]
-macro_rules! itest_steps(
-($name:ident {$( $key:ident: $value:expr,)*}) => {
- #[test]
- fn $name() {
- ($crate::CheckOutputIntegrationTestSteps {
- $(
- $key: $value,
- )*
- .. Default::default()
- }).run()
- }
-}
-);
-
-#[macro_export]
macro_rules! command_step(
({$( $key:ident: $value:expr,)*}) => {
$crate::CheckOutputIntegrationTestCommandStep {