summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChris Pearce <christopher.james.pearce@gmail.com>2019-04-07 17:49:34 +0100
committerChris Pearce <christopher.james.pearce@gmail.com>2019-04-07 20:13:04 +0100
commit3d11d7685b2c3478c35a09fbb7543c03f5043bbe (patch)
tree31a7169226cba7c027653ad184e7bd57ea34e9dd /tests
parentfbd0ccbd5b7c86846e2488bf4d8dce0b1b90b04e (diff)
Modify integration tests to fail on panic
Diffstat (limited to 'tests')
-rw-r--r--tests/fixture/failure/compFailure.rs3
-rw-r--r--tests/fixture/failure/compNoExercise.rs (renamed from tests/fixture/compNoExercise.rs)0
-rw-r--r--tests/fixture/failure/info.toml7
-rw-r--r--tests/fixture/failure/testFailure.rs4
-rw-r--r--tests/fixture/success/compSuccess.rs (renamed from tests/fixture/compSuccess.rs)0
-rw-r--r--tests/fixture/success/info.toml (renamed from tests/fixture/info.toml)0
-rw-r--r--tests/fixture/success/testSuccess.rs (renamed from tests/fixture/testSuccess.rs)0
-rw-r--r--tests/integration_tests.rs44
8 files changed, 51 insertions, 7 deletions
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/compNoExercise.rs b/tests/fixture/failure/compNoExercise.rs
index f79c691..f79c691 100644
--- a/tests/fixture/compNoExercise.rs
+++ b/tests/fixture/failure/compNoExercise.rs
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/compSuccess.rs b/tests/fixture/success/compSuccess.rs
index f79c691..f79c691 100644
--- a/tests/fixture/compSuccess.rs
+++ b/tests/fixture/success/compSuccess.rs
diff --git a/tests/fixture/info.toml b/tests/fixture/success/info.toml
index e255db9..e255db9 100644
--- a/tests/fixture/info.toml
+++ b/tests/fixture/success/info.toml
diff --git a/tests/fixture/testSuccess.rs b/tests/fixture/success/testSuccess.rs
index 589057c..589057c 100644
--- a/tests/fixture/testSuccess.rs
+++ b/tests/fixture/success/testSuccess.rs
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,39 +21,69 @@ 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")
.unwrap()
.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);
}