rust-lang/rust, revision 1.0.0-alpha.2-1771-gd528aa9
Crust runs only on 64-bit Linux.
After compiling the version of Rust indicated above:
Also, add a symlink to the Rust source code in
ln -s /path/to/rust/src /path/to/crust/stdlib_tests/src
stdlib_tests/patches/eval_panic_fix.patch to the Rust source
code. This patch simplifies the
panic!() macro to avoid using language
features that Crust doesn't support.
make at the top level.
mkdir stdlib_tests_build cd stdlib_tests_build mkdir lib ir driver test # Generate test drivers: ../stdlib_tests/bin/driver.mk test/eval_vec.c # Run tests: ../stdlib_tests/bin/run_tests.sh test/eval_vec.c # Report failed tests: ../stdlib_tests/bin/collect_failing.sh
Replace the name
eval_vec with the basename of one of the files from
crust/stdlib_tests/filters to change which tests are run.
Adding new tests
To test other code from the Rust standard library, create a new
.filter file in
stdlib_tests/filters, following the format of
stdlib_tests/filters/eval_vec.filter. Edit the
lines to reflect the mangled names of the functions you want to test (library
set) and functions for constructing the data types of interest (construction
set). In general, the mangled name used by Crust is the fully qualified name
of the function (as in
collections::vec::Vec::<T>::new), with each
After creating the filter, follow the instructions above for running tests,
eval_vec with the name of the new filter (minus