Commit Graph

125 Commits

Author SHA1 Message Date
Alex Crichton 2a13475197 Simplify how testing is done
All tests are moved to a separate crate in this repository to enable features by
default. Additionally the test generation is moved to a seprate build script and
simplified to reduce the amount of boilerplate needed per test.

Overall this should still be testing everything, just in a different location!
2018-01-31 11:32:20 -08:00
Alex Crichton cc9a70f61c Work around japaric/xargo#186 temporarily 2017-12-26 12:20:17 -08:00
Alex Crichton a076c9aaa7 Disable incremental + LTO
This causes errors in more recent versions of rustc
2017-12-26 10:14:11 -08:00
Alex Crichton 46fbf3a565 Work around OSX on Travis 2017-11-02 11:14:05 -07:00
Jorge Aparicio 2446cc468f drop binfmt_misc dependency
Instead use the Cargo runner feature. The binfmt_misc approach requires running a privileged
container for setup. Not all docker setups support privileged containers so the test suite should be
more accessible with this change as no privileged container is needed.
2017-10-07 22:19:37 +02:00
Alex Crichton 91eaa85902 Don't mangle probes all the time 2017-07-07 20:35:14 -07:00
Jorge Aparicio f3350c5499 enable tests now that #150 has been fixed 2017-06-27 22:48:57 -05:00
Alex Crichton 0ebbcaede4 Enable the `intrinsics` program on thumb 2017-06-25 10:09:50 -07:00
Alex Crichton c193113721 Don't test mangled names on thumb
We are both the "real compiler-rt" and the "to be tested one".
2017-06-24 12:54:35 -07:00
Alex Crichton acaa2f071a Don't check for references to panics with debug assertions 2017-06-24 11:44:50 -07:00
Alex Crichton 91b1291dc5 Don't try to work with `cargo test` 2017-06-24 10:22:49 -07:00
Alex Crichton 5d6d3fde6a Add a FIXME for Windows 2017-06-24 10:12:17 -07:00
Alex Crichton 734ec3d31c Tweak testing and such:
* Don't run `intrinsics` tests on thumb
* Disable `compiler_builtins` attribute on `feature = "gen-tests"`
* Disable mangling on `feature = "gen-tests"` instead of `cfg(test)`
2017-06-24 10:10:04 -07:00
Alex Crichton 5e28b7e2b1 Try to fix run.sh on AppVeyor 2017-06-23 21:36:36 -07:00
Alex Crichton a2bdb4b379 Use the same CI script on AppVeyor 2017-06-23 21:23:52 -07:00
Alex Crichton 7de57cd4f9 Handle aeabi aliasing
Objects in compiler-rt may have two symbols, so this makes sure that we don't
bring in those objects by accident by defining the aliases ourselves.
2017-06-23 15:55:11 -07:00
Alex Crichton a16ebb0dcb Use `nm` to weed out panics 2017-06-23 11:52:22 -07:00
Alex Crichton 560018cc83 Less verbose output on symbol check 2017-06-23 10:44:29 -07:00
Alex Crichton 696b821bb7 Enable `mem` for intrinsics on linux 2017-06-23 09:59:49 -07:00
Alex Crichton 0be8b20cb7 Fix features needed for the intrinsics example 2017-06-23 08:35:24 -07:00
Alex Crichton 4540bd4314 Fix travis intrinsics builds 2017-06-23 08:19:11 -07:00
Alex Crichton f0e58591b3 Build the intrinsics example separately 2017-06-23 07:01:18 -07:00
Alex Crichton a1377878c6 Test with the 'c' feature enabled on CI 2017-06-22 14:32:16 -07:00
Jorge Aparicio 19b2efdf36 move intrinsics test from src/bin to examples
with this change the libc crate is not required when calling `cargo build -p
compiler-builtins`
2017-04-11 17:09:05 -05:00
Jorge Aparicio 55294baf7a put test generation behind a Cargo feature
to reduce build time for the most common case of not running tests
2017-04-10 17:27:25 -05:00
Jorge Aparicio 3f723d1141 modify the CI setup to run tests on the thumb targets 2017-04-10 17:16:13 -05:00
Jorge Aparicio 3992ed1e7a CI: use a recent nightly
- add #[no_mangle] to the panic_fmt lang item to adjust to changes in
the visibility algorithm

- adjust to changes in the layout of Cargo's target directory

- use a newer Xargo to reduce the build time of the sysroot (only core
is compiled as part of the sysroot now)
2016-12-31 10:04:40 -05:00
bors 70009a311c Auto merge of #124 - japaric:rustbuild, r=alexcrichton
by default, mark this crate as the #![compiler_builtins] crate

as this is how most users will want to use this crate

r? @alexcrichton
2016-12-13 00:02:56 +00:00
Jorge Aparicio 3484b2b68e by default, mark this crate as the #![compiler_builtins] crate
as this is how most users will want to use this crate
2016-12-11 16:18:43 -05:00
Jorge Aparicio c1ef69f2a0 fix the test suite for the thumb targets 2016-12-11 11:18:48 -05:00
Jorge Aparicio 5c0e0f2070 CI: use Xargo 0.2.x
this version uses the rust-src component that rustup installs instead
of fetching the source tarball from static.r-l.o, which sometimes went
wrong due to the fallible logic that Xargo 0.1.x used
2016-11-23 12:47:42 -05:00
Jorge Aparicio e2fc5a0771 merge apt-get commands 2016-11-12 17:36:59 -05:00
Matt Ickstadt 2a8cca03d8 Fix apt 404s in Docker
`apt update` and `apt install` should be in the same Docker RUN statement, otherwise `apt update` will be cached and `apt install` will 404 if a package no longer exists.
2016-11-12 16:08:13 -06:00
Jorge Aparicio 86e3b955cd test the mips64 targets 2016-10-14 20:26:59 -05:00
Jorge Aparicio 5d164a4eda fix the powerpc64le target
by selecting a CPU that's compatible with the instructions that `rustc`
generates
2016-10-14 09:59:21 -05:00
Jorge Aparicio e441058be7 ci/run.sh: remove debug stuff 2016-10-10 20:53:21 -05:00
Jorge Aparicio e05caa1227 fix warnings 2016-10-10 19:45:34 -05:00
Jorge Aparicio 96ddd4ed8d use test::black_box instead of ptr::*_volatile
both prevent LLVM from optimizing away the intrinsics but the former
doesn't produce an `intrinsics` binary that segfaults
2016-10-07 18:26:21 -05:00
Jorge Aparicio c82403551d fix unsafe warnings 2016-10-07 18:19:40 -05:00
Jorge Aparicio fd69beba29 get profile.dev (-debug-assertions) + LTO working 2016-10-07 18:19:40 -05:00
Jorge Aparicio a2ffc799d0 check that we don't have any call to panic in our implementations 2016-10-07 18:19:40 -05:00
Jorge Aparicio 24c2a15f3d fix path to .rlib on OSX 2016-10-07 15:03:22 -05:00
Jorge Aparicio 213d929f86 drop the target files 2016-10-06 23:20:09 -05:00
Jorge Aparicio 8a32bd3424 fix duplicate symbol test 2016-10-03 20:20:23 -05:00
Jorge Aparicio 0827f8c7f1 hide the thumbv* target files
due to how Cargo works, the rustc-cfg in build.rs was picking our target
specifications rather than the one the user meant to use. Placing our
target files in any place other than the root of the Cargo project
avoids the issue.
2016-10-02 19:23:54 -05:00
Jorge Aparicio 89ebc46f37 pick target during Xargo installation 2016-09-30 20:41:59 -05:00
Jorge Aparicio d0a57cb871 give Xargo a $HOME 2016-09-30 20:21:15 -05:00
Jorge Aparicio fb5cb0e4c1 fix Xargo installation 2016-09-30 20:20:15 -05:00
Jorge Aparicio 36a437a445 fix nm call
the prefix was missing a '-', i.e. arm-linux-gnueabinm was being called.
This also sets -e in run.sh to catch this sort of errors.
2016-09-30 19:04:48 -05:00
Jorge Aparicio b60d2515ff use `docker run --user` instead of manually creating a user 2016-09-30 18:37:41 -05:00