Alex Crichton
8e161a791a
Expand and refactor teting infrastructure
...
This commit moves over most of the testing infrastructure to in-tree docker
images that are all dispatched to from Travis (no other test configuration).
This allows versioning modifications to the test infrastructure as well as the
code itself. Additionally separate docker images allows for easy modification of
one without worrying about tampering of others as well as easy addition of new
targets by simply adding a new `Dockerfile`.
Additionally this commit bundles the master version of the `compiler-rt` source
repository from `llvm-mirror/compiler-rt` to test against. The compiler-rt
library itself is compiled as a `cdylib` which is then dynamically located at
runtime and we look for symbols in. There's a few hoops here, but they currently
get the job done.
All tests now execute against both gcc_s and compiler-rt, and this
testing strategy is now all hidden behind a macro as well (refactoring
all existing tests along the way).
2016-09-28 22:09:55 -07:00
Jorge Aparicio
b7fa7d3a59
put weak mem* symbols behind an opt-in Cargo feature
...
closes #64
cc #66
2016-09-22 18:02:25 -05:00
Jorge Aparicio
0404438809
test the thumbv7em-none-eabihf target
2016-09-22 06:15:05 -05:00
Jorge Aparicio
170a977587
tell cargo which linker to use
2016-08-29 21:35:53 -05:00
Jorge Aparicio
f0b6314737
install less stuff
...
it's already installed in the docker image
2016-08-29 21:25:23 -05:00
Jorge Aparicio
9b47cff39b
travis: use latest docker image
2016-08-29 21:21:59 -05:00
Jorge Aparicio
bc8f572c9f
pin xargo and gist versions
2016-08-29 20:37:41 -05:00
Jorge Aparicio
2f41babd74
fix typo
2016-08-29 20:36:52 -05:00
Jorge Aparicio
1ac627839d
travis: simplify ci scripts
2016-08-29 19:31:49 -05:00
Jorge Aparicio
948ada48b5
print rustup version
2016-08-27 12:34:39 -05:00
Jorge Aparicio
2a8b2c25a4
use newer docker image
...
it comes with ruby pre-installed
2016-08-23 21:19:18 -05:00
Jorge Aparicio
51aabf3c32
use the gist gem instead of the gist crate
...
hopefully this will work on osx and will make everything more
uniform (appveyor is already using the gem instead of the crate)
closes #51
2016-08-23 20:48:24 -05:00
Jorge Aparicio
316f5cb9ba
use the gist crate
...
but not on OSX because it doesn't work there
closes #53
cc #51
2016-08-22 21:22:16 -05:00
Matt Ickstadt
27cbb963a3
travis: Use wgetpaste to post disassemblies to gist
2016-08-22 17:49:39 -05:00
Jorge Aparicio
10fdc9b535
only show disassembly of optimized build
...
we can't really compare the disassembly of the debug build to
libcompiler-rt.a anyways
2016-08-21 11:09:32 -05:00
Jorge Aparicio
94ab3e09c5
adjust test: weak symbols are now in librlibc.rlib
2016-08-15 20:22:58 -05:00
Jorge Aparicio
5abf6b5d7c
check presence of weak symbols
2016-08-14 22:02:43 -05:00
Jorge Aparicio
95651f62a9
disable tests for ppc64le, drop logic around QEMU_ARCH
2016-08-13 19:56:34 -05:00
Jorge Aparicio
9bee966c00
add missing apt-get update
2016-08-13 19:30:30 -05:00
Jorge Aparicio
c34b356c44
try 32-bit qemu for ppc64le
2016-08-13 18:58:41 -05:00
Jorge Aparicio
b5b28c02ba
qemu-ppc64le still doesn't work
2016-08-13 18:33:40 -05:00
Jorge Aparicio
9c651118fe
enable tests for ppc64le
2016-08-13 18:00:49 -05:00
Jorge Aparicio
a2135c1a5c
no need to explicitly call qemu-$ARCH
2016-08-13 17:45:43 -05:00
Jorge Aparicio
480bbec3cd
don't call docker inside docker
2016-08-13 17:36:00 -05:00
Jorge Aparicio
aa9a282c61
actually enter docker
2016-08-13 17:27:18 -05:00
Jorge Aparicio
c277cc67be
fix bash syntax
2016-08-13 17:24:52 -05:00
Jorge Aparicio
0c2ef10160
CI: run all Linux targets inside docker
2016-08-13 17:22:12 -05:00
Jorge Aparicio
11cd95f25d
install libssh2
2016-08-13 12:58:44 -05:00
Jorge Aparicio
2f9c64a577
change Xargo installation path
2016-08-13 12:55:09 -05:00
Jorge Aparicio
164b21991c
binutils -> gcc
2016-08-13 12:47:59 -05:00
Jorge Aparicio
10ea089eb2
no rust-std for these targets
2016-08-13 12:45:37 -05:00
Jorge Aparicio
e7b10e53ac
install binutils manually
2016-08-13 12:41:50 -05:00
Jorge Aparicio
ba3bb2952f
CI: test ARM Cortex targets
...
closes #32
2016-08-13 12:12:37 -05:00
Jorge Aparicio
39ede7ee27
and libc6-dev
2016-08-11 00:26:16 -05:00
Jorge Aparicio
732f1e20af
some targets need gcc to be installed
2016-08-11 00:26:16 -05:00
Jorge Aparicio
c6f0124540
ppc64: test on 32-bit QEMU
2016-08-10 13:01:22 -05:00
Jorge Aparicio
67ed0e4553
mips: run test on 32-bit QEMU
...
cc #2
2016-08-10 11:50:41 -05:00
Jorge Aparicio
93d2342318
libgcc_s dev version
2016-08-09 16:17:06 -05:00
Jorge Aparicio
b409422782
32-bit version of libgcc
2016-08-09 15:55:25 -05:00
Jorge Aparicio
aeb057cc57
add libgcc
2016-08-09 15:46:57 -05:00
Jorge Aparicio
8c029ed1b4
use docker
2016-08-09 15:37:24 -05:00
Jorge Aparicio
ff334e9b89
fix bash syntax
2016-08-09 12:04:24 -05:00
Jorge Aparicio
d13ff6d710
fix armv7
2016-08-09 11:53:49 -05:00
Jorge Aparicio
09935e24eb
don't run tests on targets that have QEMU issues
...
cc #2
2016-08-09 11:49:55 -05:00
Jorge Aparicio
a4f06b9a8e
CI: test mipsel-unknown-linux-gnu
2016-08-08 23:26:13 -05:00
Jorge Aparicio
0c7f25bdbd
CI: test powerpc64-unknown-linux-gnu
2016-08-08 23:05:25 -05:00
Jorge Aparicio
ed068e6728
fix case syntax
2016-08-08 22:31:14 -05:00
Jorge Aparicio
edbde8c2ea
CI: test mips-unknown-linux-gnu
2016-08-08 22:03:44 -05:00
Jorge Aparicio
2485284910
fix target name in case
2016-08-08 21:49:31 -05:00
Jorge Aparicio
4b07c4bfb9
fix package name
2016-08-08 21:46:24 -05:00