Macro fungus::assert_setup[][src]

macro_rules! assert_setup {
    () => { ... };
    ($func:expr) => { ... };
    ($root:expr, $func:expr) => { ... };
}

Call the setup function created by create_test_setup_func! with default root and func_name or optionally override those values. root will default to TEST_TEMP_DIR and func_name defaults to the function name using function!. However since doc tests always have a default function name of rust_out::main its useful to override the function name in those cases.

Examples

use fungus::assert::*;
create_test_setup_func!();

// Defaults
fn assert_setup_default() {
    let tmpdir = assert_setup!();
    assert_dir!(&tmpdir);
    assert_eq!(&tmpdir, &PathBuf::from(TEST_TEMP_DIR).mash("assert_setup_default"));
    assert_remove_all!(&tmpdir);
}
assert_setup_default();

// Alternate function name
let func_name = "assert_setup_func";
let tmpdir = assert_setup!(&func_name);
assert_dir!(&tmpdir);
assert_eq!(&tmpdir, &PathBuf::from(TEST_TEMP_DIR).mash(&func_name));
assert_remove_all!(&tmpdir);

// Alternate root and function name
let root = "tests/temp/assert_setup_root";
let func_name = "assert_setup_func";
let tmpdir = assert_setup!(&root, &func_name);
assert_dir!(&tmpdir);
assert_eq!(&tmpdir, &PathBuf::from(&root).mash(&func_name));
assert_remove_all!(&root);