diff options
Diffstat (limited to 'src/test/stdtest')
| -rw-r--r-- | src/test/stdtest/char.rs | 12 | ||||
| -rw-r--r-- | src/test/stdtest/int.rs | 24 | ||||
| -rw-r--r-- | src/test/stdtest/test.rs | 27 | ||||
| -rw-r--r-- | src/test/stdtest/uint.rs | 24 |
4 files changed, 82 insertions, 5 deletions
diff --git a/src/test/stdtest/char.rs b/src/test/stdtest/char.rs index b2724ca325d..79b803dc6c8 100644 --- a/src/test/stdtest/char.rs +++ b/src/test/stdtest/char.rs @@ -26,3 +26,15 @@ fn test_to_digit() { assert (char::to_digit('z') == 35u8); assert (char::to_digit('Z') == 35u8); } + +#[test] +#[should_fail] +fn test_to_digit_fail_1() { + char::to_digit(' '); +} + +#[test] +#[should_fail] +fn test_to_digit_fail_2() { + char::to_digit('$'); +} diff --git a/src/test/stdtest/int.rs b/src/test/stdtest/int.rs index 1bd67d5c45e..28b9b94c2ff 100644 --- a/src/test/stdtest/int.rs +++ b/src/test/stdtest/int.rs @@ -20,6 +20,18 @@ fn test_from_str() { } #[test] +#[should_fail] +fn test_from_str_fail_1() { + int::from_str(" "); +} + +#[test] +#[should_fail] +fn test_from_str_fail_2() { + int::from_str("x"); +} + +#[test] fn test_parse_buf() { assert (int::parse_buf(bytes("123"), 10u) == 123); assert (int::parse_buf(bytes("1001"), 2u) == 9); @@ -41,6 +53,18 @@ fn test_parse_buf() { } #[test] +#[should_fail] +fn test_parse_buf_fail_1() { + int::parse_buf(bytes("Z"), 35u); +} + +#[test] +#[should_fail] +fn test_parse_buf_fail_2() { + int::parse_buf(bytes("-9"), 2u); +} + +#[test] fn test_to_str() { assert (eq(int::to_str(0, 10u), "0")); assert (eq(int::to_str(1, 10u), "1")); diff --git a/src/test/stdtest/test.rs b/src/test/stdtest/test.rs index ad833949ee7..48c28243c92 100644 --- a/src/test/stdtest/test.rs +++ b/src/test/stdtest/test.rs @@ -7,7 +7,7 @@ import std::vec; #[test] fn do_not_run_ignored_tests() { fn f() { fail; } - let desc = {name: "whatever", fn: f, ignore: true}; + let desc = {name: "whatever", fn: f, ignore: true, should_fail: false}; let future = test::run_test(desc, test::default_test_to_task); let result = future.wait(); assert result != test::tr_ok; @@ -16,12 +16,28 @@ fn do_not_run_ignored_tests() { #[test] fn ignored_tests_result_in_ignored() { fn f() { } - let desc = {name: "whatever", fn: f, ignore: true}; + let desc = {name: "whatever", fn: f, ignore: true, should_fail: false}; let res = test::run_test(desc, test::default_test_to_task).wait(); assert (res == test::tr_ignored); } #[test] +fn test_should_fail() { + fn f() { fail; } + let desc = {name: "whatever", fn: f, ignore: false, should_fail: true}; + let res = test::run_test(desc, test::default_test_to_task).wait(); + assert res == test::tr_ok; +} + +#[test] +fn test_should_fail_but_succeeds() { + fn f() { } + let desc = {name: "whatever", fn: f, ignore: false, should_fail: true}; + let res = test::run_test(desc, test::default_test_to_task).wait(); + assert res == test::tr_failed; +} + +#[test] fn first_free_arg_should_be_a_filter() { let args = ["progname", "filter"]; check (vec::is_not_empty(args)); @@ -44,8 +60,8 @@ fn filter_for_ignored_option() { let opts = {filter: option::none, run_ignored: true}; let tests = - [{name: "1", fn: fn () { }, ignore: true}, - {name: "2", fn: fn () { }, ignore: false}]; + [{name: "1", fn: fn () { }, ignore: true, should_fail: false}, + {name: "2", fn: fn () { }, ignore: false, should_fail: false}]; let filtered = test::filter_tests(opts, tests); assert (vec::len(filtered) == 1u); @@ -69,7 +85,8 @@ fn sort_tests() { let testfn = fn () { }; let tests = []; for name: str in names { - let test = {name: name, fn: testfn, ignore: false}; + let test = {name: name, fn: testfn, ignore: false, + should_fail: false}; tests += [test]; } tests diff --git a/src/test/stdtest/uint.rs b/src/test/stdtest/uint.rs index 35bd65c0c05..6a2b5bdbd3a 100644 --- a/src/test/stdtest/uint.rs +++ b/src/test/stdtest/uint.rs @@ -15,6 +15,18 @@ fn test_from_str() { } #[test] +#[should_fail] +fn test_from_str_fail_1() { + uint::from_str(" "); +} + +#[test] +#[should_fail] +fn test_from_str_fail_2() { + uint::from_str("x"); +} + +#[test] fn test_parse_buf() { assert (uint::parse_buf(bytes("123"), 10u) == 123u); assert (uint::parse_buf(bytes("1001"), 2u) == 9u); @@ -25,6 +37,18 @@ fn test_parse_buf() { } #[test] +#[should_fail] +fn test_parse_buf_fail_1() { + uint::parse_buf(bytes("Z"), 10u); +} + +#[test] +#[should_fail] +fn test_parse_buf_fail_2() { + uint::parse_buf(bytes("_"), 2u); +} + +#[test] fn test_next_power_of_two() { assert (uint::next_power_of_two(0u) == 0u); assert (uint::next_power_of_two(1u) == 1u); |
