test_results/macros.rs
1/// Save the value as test results
2///
3/// Example:
4///
5/// ```ignore
6/// let png_data: &[u8] = some_rendering_logic().encode_to_png();
7/// test_results::save!("output.png", png_data);
8/// ```
9///
10/// The file will be saved in the `test_results` folder in the same directory as the source files.
11///
12/// ```text
13/// ├─ test.rs
14/// └─ test_results
15/// └─ output.txt
16/// ```
17#[macro_export]
18macro_rules! save {
19 ($name: expr, $value:expr) => {
20 $crate::_macro_support::save(
21 $name.into(),
22 &$value,
23 file!(),
24 env!("CARGO_MANIFEST_DIR")
25 )
26 };
27}
28
29/// Save a test results folder
30///
31/// Example:
32///
33/// ```ignore
34/// let output_dir: PathBuf = test_results::save_dir!("test-output");
35/// ```
36///
37/// The folder will be saved in the `test_results` folder in the same directory as the source files.
38///
39/// ```text
40/// ├─ test.rs
41/// └─ test_results
42/// └─ test-output
43/// ```
44#[macro_export]
45macro_rules! save_dir {
46 ($name: expr) => {
47 $crate::_macro_support::save_dir(
48 $name.into(),
49 file!(),
50 env!("CARGO_MANIFEST_DIR")
51 )
52 };
53}