From 3d11d7685b2c3478c35a09fbb7543c03f5043bbe Mon Sep 17 00:00:00 2001 From: Chris Pearce Date: Sun, 7 Apr 2019 17:49:34 +0100 Subject: Modify integration tests to fail on panic --- tests/fixture/compNoExercise.rs | 2 -- tests/fixture/compSuccess.rs | 2 -- tests/fixture/failure/compFailure.rs | 3 +++ tests/fixture/failure/compNoExercise.rs | 2 ++ tests/fixture/failure/info.toml | 7 ++++++ tests/fixture/failure/testFailure.rs | 4 +++ tests/fixture/info.toml | 7 ------ tests/fixture/success/compSuccess.rs | 2 ++ tests/fixture/success/info.toml | 7 ++++++ tests/fixture/success/testSuccess.rs | 4 +++ tests/fixture/testSuccess.rs | 4 --- tests/integration_tests.rs | 44 +++++++++++++++++++++++++++------ 12 files changed, 66 insertions(+), 22 deletions(-) delete mode 100644 tests/fixture/compNoExercise.rs delete mode 100644 tests/fixture/compSuccess.rs create mode 100644 tests/fixture/failure/compFailure.rs create mode 100644 tests/fixture/failure/compNoExercise.rs create mode 100644 tests/fixture/failure/info.toml create mode 100644 tests/fixture/failure/testFailure.rs delete mode 100644 tests/fixture/info.toml create mode 100644 tests/fixture/success/compSuccess.rs create mode 100644 tests/fixture/success/info.toml create mode 100644 tests/fixture/success/testSuccess.rs delete mode 100644 tests/fixture/testSuccess.rs diff --git a/tests/fixture/compNoExercise.rs b/tests/fixture/compNoExercise.rs deleted file mode 100644 index f79c691..0000000 --- a/tests/fixture/compNoExercise.rs +++ /dev/null @@ -1,2 +0,0 @@ -fn main() { -} diff --git a/tests/fixture/compSuccess.rs b/tests/fixture/compSuccess.rs deleted file mode 100644 index f79c691..0000000 --- a/tests/fixture/compSuccess.rs +++ /dev/null @@ -1,2 +0,0 @@ -fn main() { -} diff --git a/tests/fixture/failure/compFailure.rs b/tests/fixture/failure/compFailure.rs new file mode 100644 index 0000000..566856a --- /dev/null +++ b/tests/fixture/failure/compFailure.rs @@ -0,0 +1,3 @@ +fn main() { + let +} \ No newline at end of file diff --git a/tests/fixture/failure/compNoExercise.rs b/tests/fixture/failure/compNoExercise.rs new file mode 100644 index 0000000..f79c691 --- /dev/null +++ b/tests/fixture/failure/compNoExercise.rs @@ -0,0 +1,2 @@ +fn main() { +} diff --git a/tests/fixture/failure/info.toml b/tests/fixture/failure/info.toml new file mode 100644 index 0000000..f4e7c0c --- /dev/null +++ b/tests/fixture/failure/info.toml @@ -0,0 +1,7 @@ +[[exercises]] +path = "compFailure.rs" +mode = "compile" + +[[exercises]] +path = "testFailure.rs" +mode = "test" \ No newline at end of file diff --git a/tests/fixture/failure/testFailure.rs b/tests/fixture/failure/testFailure.rs new file mode 100644 index 0000000..b33a5d2 --- /dev/null +++ b/tests/fixture/failure/testFailure.rs @@ -0,0 +1,4 @@ +#[test] +fn passing() { + asset!(true); +} diff --git a/tests/fixture/info.toml b/tests/fixture/info.toml deleted file mode 100644 index e255db9..0000000 --- a/tests/fixture/info.toml +++ /dev/null @@ -1,7 +0,0 @@ -[[exercises]] -path = "compSuccess.rs" -mode = "compile" - -[[exercises]] -path = "testSuccess.rs" -mode = "test" \ No newline at end of file diff --git a/tests/fixture/success/compSuccess.rs b/tests/fixture/success/compSuccess.rs new file mode 100644 index 0000000..f79c691 --- /dev/null +++ b/tests/fixture/success/compSuccess.rs @@ -0,0 +1,2 @@ +fn main() { +} diff --git a/tests/fixture/success/info.toml b/tests/fixture/success/info.toml new file mode 100644 index 0000000..e255db9 --- /dev/null +++ b/tests/fixture/success/info.toml @@ -0,0 +1,7 @@ +[[exercises]] +path = "compSuccess.rs" +mode = "compile" + +[[exercises]] +path = "testSuccess.rs" +mode = "test" \ No newline at end of file diff --git a/tests/fixture/success/testSuccess.rs b/tests/fixture/success/testSuccess.rs new file mode 100644 index 0000000..589057c --- /dev/null +++ b/tests/fixture/success/testSuccess.rs @@ -0,0 +1,4 @@ +#[test] +fn passing() { + assert!(true); +} diff --git a/tests/fixture/testSuccess.rs b/tests/fixture/testSuccess.rs deleted file mode 100644 index 589057c..0000000 --- a/tests/fixture/testSuccess.rs +++ /dev/null @@ -1,4 +0,0 @@ -#[test] -fn passing() { - assert!(true); -} diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 01c4744..a077918 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -13,7 +13,7 @@ fn fails_when_in_wrong_dir() { .unwrap() .current_dir("tests/") .assert() - .failure(); + .code(1); } #[test] @@ -21,31 +21,61 @@ fn verify_all_success() { Command::cargo_bin("rustlings") .unwrap() .arg("v") - .current_dir("tests/fixture/") + .current_dir("tests/fixture/success") .assert() .success(); } +#[test] +fn verify_all_failure() { + Command::cargo_bin("rustlings") + .unwrap() + .arg("v") + .current_dir("tests/fixture/failure") + .assert() + .code(1); +} + #[test] fn run_single_compile_success() { Command::cargo_bin("rustlings") .unwrap() .args(&["r", "compSuccess.rs"]) - .current_dir("tests/fixture/") + .current_dir("tests/fixture/success/") .assert() .success(); } +#[test] +fn run_single_compile_failure() { + Command::cargo_bin("rustlings") + .unwrap() + .args(&["r", "compFailure.rs"]) + .current_dir("tests/fixture/failure/") + .assert() + .code(1); +} + #[test] fn run_single_test_success() { Command::cargo_bin("rustlings") .unwrap() .args(&["r", "testSuccess.rs"]) - .current_dir("tests/fixture/") + .current_dir("tests/fixture/success/") .assert() .success(); } +#[test] +fn run_single_test_failure() { + Command::cargo_bin("rustlings") + .unwrap() + .args(&["r", "testFailure.rs"]) + .current_dir("tests/fixture/failure/") + .assert() + .code(1); +} + #[test] fn run_single_test_no_filename() { Command::cargo_bin("rustlings") @@ -53,7 +83,7 @@ fn run_single_test_no_filename() { .arg("r") .current_dir("tests/fixture/") .assert() - .failure(); + .code(1); } #[test] @@ -61,7 +91,7 @@ fn run_single_test_no_exercise() { Command::cargo_bin("rustlings") .unwrap() .args(&["r", "compNoExercise.rs"]) - .current_dir("tests/fixture/") + .current_dir("tests/fixture/failure") .assert() - .failure(); + .code(1); } -- cgit v1.2.3