From 542df8e3630f774e676661ae2d28ba64bf688c54 Mon Sep 17 00:00:00 2001 From: Karol Sewilo Date: Wed, 4 Dec 2024 12:45:12 +0100 Subject: [PATCH] Add tests commit-id:f6098cdc --- .../tests/data/coverage_ignore/Scarb.toml | 22 +++++++++++++++++++ .../tests/data/coverage_ignore/src/lib.cairo | 2 ++ .../data/coverage_ignore/src/multiply.cairo | 13 +++++++++++ .../data/coverage_ignore/src/simple.cairo | 2 ++ .../data/coverage_ignore/src/simple/add.cairo | 15 +++++++++++++ .../coverage_ignore/src/simple/subtract.cairo | 14 ++++++++++++ crates/cairo-coverage/tests/e2e/general.rs | 16 ++++++++++++++ .../expected_output/coverage_ignore_dir.lcov | 10 +++++++++ .../expected_output/coverage_ignore_file.lcov | 10 +++++++++ 9 files changed, 104 insertions(+) create mode 100644 crates/cairo-coverage/tests/data/coverage_ignore/Scarb.toml create mode 100644 crates/cairo-coverage/tests/data/coverage_ignore/src/lib.cairo create mode 100644 crates/cairo-coverage/tests/data/coverage_ignore/src/multiply.cairo create mode 100644 crates/cairo-coverage/tests/data/coverage_ignore/src/simple.cairo create mode 100644 crates/cairo-coverage/tests/data/coverage_ignore/src/simple/add.cairo create mode 100644 crates/cairo-coverage/tests/data/coverage_ignore/src/simple/subtract.cairo create mode 100644 crates/cairo-coverage/tests/expected_output/coverage_ignore_dir.lcov create mode 100644 crates/cairo-coverage/tests/expected_output/coverage_ignore_file.lcov diff --git a/crates/cairo-coverage/tests/data/coverage_ignore/Scarb.toml b/crates/cairo-coverage/tests/data/coverage_ignore/Scarb.toml new file mode 100644 index 0000000..ce9c4ce --- /dev/null +++ b/crates/cairo-coverage/tests/data/coverage_ignore/Scarb.toml @@ -0,0 +1,22 @@ +[package] +name = "coverage_ignore" +version = "0.1.0" +edition = "2024_07" + +# See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html +[dependencies] +starknet = ">=2.8.0" + +[dev-dependencies] +snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.29.0" } + +[[target.starknet-contract]] +sierra = true + +[scripts] +test = "snforge test" + +[profile.dev.cairo] +unstable-add-statements-functions-debug-info = true +unstable-add-statements-code-locations-debug-info = true +inlining-strategy= "avoid" diff --git a/crates/cairo-coverage/tests/data/coverage_ignore/src/lib.cairo b/crates/cairo-coverage/tests/data/coverage_ignore/src/lib.cairo new file mode 100644 index 0000000..fcfe9e7 --- /dev/null +++ b/crates/cairo-coverage/tests/data/coverage_ignore/src/lib.cairo @@ -0,0 +1,2 @@ +mod simple; +mod multiply; \ No newline at end of file diff --git a/crates/cairo-coverage/tests/data/coverage_ignore/src/multiply.cairo b/crates/cairo-coverage/tests/data/coverage_ignore/src/multiply.cairo new file mode 100644 index 0000000..5563a72 --- /dev/null +++ b/crates/cairo-coverage/tests/data/coverage_ignore/src/multiply.cairo @@ -0,0 +1,13 @@ +pub fn multiply(a: i32, b: i32) -> i32 { + a * b +} + +#[cfg(test)] +mod tests { + use super::multiply; + + #[test] + fn it_works() { + assert(multiply(2, 1) == 2, ''); + } +} \ No newline at end of file diff --git a/crates/cairo-coverage/tests/data/coverage_ignore/src/simple.cairo b/crates/cairo-coverage/tests/data/coverage_ignore/src/simple.cairo new file mode 100644 index 0000000..a7f0f7c --- /dev/null +++ b/crates/cairo-coverage/tests/data/coverage_ignore/src/simple.cairo @@ -0,0 +1,2 @@ +mod add; +mod subtract; \ No newline at end of file diff --git a/crates/cairo-coverage/tests/data/coverage_ignore/src/simple/add.cairo b/crates/cairo-coverage/tests/data/coverage_ignore/src/simple/add.cairo new file mode 100644 index 0000000..8d1c2ea --- /dev/null +++ b/crates/cairo-coverage/tests/data/coverage_ignore/src/simple/add.cairo @@ -0,0 +1,15 @@ +pub fn add(a: i32, b: i32) -> i32 { + a + b +} + + +#[cfg(test)] +mod tests { + use super::add; + + #[test] + fn it_works() { + assert(add(1, 2) == 3, ''); + } +} + diff --git a/crates/cairo-coverage/tests/data/coverage_ignore/src/simple/subtract.cairo b/crates/cairo-coverage/tests/data/coverage_ignore/src/simple/subtract.cairo new file mode 100644 index 0000000..5e3be62 --- /dev/null +++ b/crates/cairo-coverage/tests/data/coverage_ignore/src/simple/subtract.cairo @@ -0,0 +1,14 @@ +pub fn subtract(a: i32, b: i32) -> i32 { + a - b +} + + +#[cfg(test)] +mod tests { + use super::subtract; + + #[test] + fn it_works() { + assert(subtract(2, 1) == 1, ''); + } +} \ No newline at end of file diff --git a/crates/cairo-coverage/tests/e2e/general.rs b/crates/cairo-coverage/tests/e2e/general.rs index cea6704..9b0d08d 100644 --- a/crates/cairo-coverage/tests/e2e/general.rs +++ b/crates/cairo-coverage/tests/e2e/general.rs @@ -70,3 +70,19 @@ fn snforge_template() { .run() .output_same_as_in_file("snforge_template.lcov"); } + +#[test] +fn coverage_ignore_dir() { + TestProject::new("coverage_ignore") + .create_cairo_coverage_ignore("*/simple/*") + .run() + .output_same_as_in_file("coverage_ignore_dir.lcov"); +} + +#[test] +fn coverage_ignore_files() { + TestProject::new("coverage_ignore") + .create_cairo_coverage_ignore("multiply.cairo\nadd.cairo") + .run() + .output_same_as_in_file("coverage_ignore_file.lcov"); +} diff --git a/crates/cairo-coverage/tests/expected_output/coverage_ignore_dir.lcov b/crates/cairo-coverage/tests/expected_output/coverage_ignore_dir.lcov new file mode 100644 index 0000000..34bce5b --- /dev/null +++ b/crates/cairo-coverage/tests/expected_output/coverage_ignore_dir.lcov @@ -0,0 +1,10 @@ +TN: +SF:{dir}/src/multiply.cairo +FN:2,coverage_ignore::multiply::multiply +FNDA:1,coverage_ignore::multiply::multiply +FNF:1 +FNH:1 +DA:2,1 +LF:1 +LH:1 +end_of_record diff --git a/crates/cairo-coverage/tests/expected_output/coverage_ignore_file.lcov b/crates/cairo-coverage/tests/expected_output/coverage_ignore_file.lcov new file mode 100644 index 0000000..32d7472 --- /dev/null +++ b/crates/cairo-coverage/tests/expected_output/coverage_ignore_file.lcov @@ -0,0 +1,10 @@ +TN: +SF:{dir}/src/simple/subtract.cairo +FN:2,coverage_ignore::simple::subtract::subtract +FNDA:1,coverage_ignore::simple::subtract::subtract +FNF:1 +FNH:1 +DA:2,1 +LF:1 +LH:1 +end_of_record