diff options
author | Matt Mastracci <matthew@mastracci.com> | 2024-02-12 17:13:14 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-12 17:13:14 -0700 |
commit | 3d2e52ae7ecdecadad6830f7991fee79185a9ffe (patch) | |
tree | 88a9ad7f3a52d4ab56c79170816fa48139e7e36d /test_util/src/macros.rs | |
parent | 49d82e609f7da97f793900528e800019d502a2ff (diff) |
chore: continue tests/ re-org (#22396)
Split `node_compat_tests` into its own top-level test so its stdout
doesn't stomp on the remainder of the tests.
Diffstat (limited to 'test_util/src/macros.rs')
-rw-r--r-- | test_util/src/macros.rs | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/test_util/src/macros.rs b/test_util/src/macros.rs new file mode 100644 index 000000000..7cfedcc7e --- /dev/null +++ b/test_util/src/macros.rs @@ -0,0 +1,86 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +#[macro_export] +macro_rules! itest( +($name:ident {$( $key:ident: $value:expr,)*}) => { + #[test] + fn $name() { + 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! itest_flaky( +($name:ident {$( $key:ident: $value:expr,)*}) => { + #[flaky_test::flaky_test] + fn $name() { + 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 { + $( + $key: $value, + )* + .. Default::default() + }) +} +); + +#[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 { + $( + $key: $value, + )* + .. Default::default() + } +} +); |