File tree Expand file tree Collapse file tree 7 files changed +33
-32
lines changed Expand file tree Collapse file tree 7 files changed +33
-32
lines changed Original file line number Diff line number Diff line change 1- extern crate exported_symbol;
2-
31/// Doc-test test
42/// ```rust
53/// assert!(cargo_miri_test::make_true());
6- /// // Repeat calls to make sure the `Instance` cache is not broken.
7- /// for _ in 0..3 {
8- /// extern "Rust" {
9- /// fn exported_symbol() -> i32;
10- /// fn make_true() -> bool;
11- /// }
12- /// assert_eq!(unsafe { exported_symbol() }, 123456);
13- /// assert!(unsafe { make_true() });
14- /// }
15- /// ```
16- /// ```compile_fail
17- /// // Make sure `exported_symbol_dep` is not a direct dependency for doctests.
18- /// use exported_symbol_dep;
194/// ```
205/// ```rust,no_run
216/// assert!(!cargo_miri_test::make_true());
Original file line number Diff line number Diff line change @@ -57,4 +57,20 @@ mod test {
5757 assert_ne ! ( x as usize , y) ;
5858 assert_ne ! ( y as u128 , z) ;
5959 }
60+
61+ #[ test]
62+ fn exported_symbol ( ) {
63+ extern crate cargo_miri_test;
64+ extern crate exported_symbol;
65+ // Test calling exported symbols in (transitive) dependencies.
66+ // Repeat calls to make sure the `Instance` cache is not broken.
67+ for _ in 0 ..3 {
68+ extern "Rust" {
69+ fn exported_symbol ( ) -> i32 ;
70+ fn make_true ( ) -> bool ;
71+ }
72+ assert_eq ! ( unsafe { exported_symbol( ) } , 123456 ) ;
73+ assert ! ( unsafe { make_true( ) } ) ;
74+ }
75+ }
6076}
Original file line number Diff line number Diff line change 11
2- running 1 test
2+ running 2 tests
3+ test test::exported_symbol ... ok
34test test::rng ... ok
45
5- test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
6+ test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
67
Original file line number Diff line number Diff line change 11
2- running 1 test
3- .
4- test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
2+ running 2 tests
3+ ..
4+ test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
55
66imported main
77
Original file line number Diff line number Diff line change 11
2- running 1 test
3- .
4- test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
2+ running 2 tests
3+ ..
4+ test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
55
66imported main
77
@@ -10,11 +10,10 @@ running 7 tests
1010test result: ok. 6 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
1111
1212
13- running 4 tests
14- test src/lib.rs - make_true (line 16) ... ok
15- test src/lib.rs - make_true (line 20) ... ok
16- test src/lib.rs - make_true (line 23) ... ok
17- test src/lib.rs - make_true (line 4) ... ok
13+ running 3 tests
14+ test src/lib.rs - make_true (line 2) ... ok
15+ test src/lib.rs - make_true (line 5) ... ok
16+ test src/lib.rs - make_true (line 8) ... ok
1817
19- test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in $TIME
18+ test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in $TIME
2019
Original file line number Diff line number Diff line change 11
22running 0 tests
33
4- test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out
4+ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out
55
66imported main
77
Original file line number Diff line number Diff line change 11
22running 0 tests
33
4- test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out
4+ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out
55
66imported main
77
@@ -13,5 +13,5 @@ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 6 filtered out
1313
1414running 0 tests
1515
16- test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in $TIME
16+ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in $TIME
1717
You can’t perform that action at this time.
0 commit comments