Modify integration tests to fail on panic

This commit is contained in:
Chris Pearce 2019-04-07 17:49:34 +01:00
parent fbd0ccbd5b
commit 3d11d7685b
8 changed files with 51 additions and 7 deletions

View File

@ -0,0 +1,3 @@
fn main() {
let
}

View File

@ -0,0 +1,7 @@
[[exercises]]
path = "compFailure.rs"
mode = "compile"
[[exercises]]
path = "testFailure.rs"
mode = "test"

View File

@ -0,0 +1,4 @@
#[test]
fn passing() {
asset!(true);
}

View File

@ -13,7 +13,7 @@ fn fails_when_in_wrong_dir() {
.unwrap() .unwrap()
.current_dir("tests/") .current_dir("tests/")
.assert() .assert()
.failure(); .code(1);
} }
#[test] #[test]
@ -21,31 +21,61 @@ fn verify_all_success() {
Command::cargo_bin("rustlings") Command::cargo_bin("rustlings")
.unwrap() .unwrap()
.arg("v") .arg("v")
.current_dir("tests/fixture/") .current_dir("tests/fixture/success")
.assert() .assert()
.success(); .success();
} }
#[test]
fn verify_all_failure() {
Command::cargo_bin("rustlings")
.unwrap()
.arg("v")
.current_dir("tests/fixture/failure")
.assert()
.code(1);
}
#[test] #[test]
fn run_single_compile_success() { fn run_single_compile_success() {
Command::cargo_bin("rustlings") Command::cargo_bin("rustlings")
.unwrap() .unwrap()
.args(&["r", "compSuccess.rs"]) .args(&["r", "compSuccess.rs"])
.current_dir("tests/fixture/") .current_dir("tests/fixture/success/")
.assert() .assert()
.success(); .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] #[test]
fn run_single_test_success() { fn run_single_test_success() {
Command::cargo_bin("rustlings") Command::cargo_bin("rustlings")
.unwrap() .unwrap()
.args(&["r", "testSuccess.rs"]) .args(&["r", "testSuccess.rs"])
.current_dir("tests/fixture/") .current_dir("tests/fixture/success/")
.assert() .assert()
.success(); .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] #[test]
fn run_single_test_no_filename() { fn run_single_test_no_filename() {
Command::cargo_bin("rustlings") Command::cargo_bin("rustlings")
@ -53,7 +83,7 @@ fn run_single_test_no_filename() {
.arg("r") .arg("r")
.current_dir("tests/fixture/") .current_dir("tests/fixture/")
.assert() .assert()
.failure(); .code(1);
} }
#[test] #[test]
@ -61,7 +91,7 @@ fn run_single_test_no_exercise() {
Command::cargo_bin("rustlings") Command::cargo_bin("rustlings")
.unwrap() .unwrap()
.args(&["r", "compNoExercise.rs"]) .args(&["r", "compNoExercise.rs"])
.current_dir("tests/fixture/") .current_dir("tests/fixture/failure")
.assert() .assert()
.failure(); .code(1);
} }