parent
7ac5155ba6
commit
ba3bb2952f
29
.travis.yml
29
.travis.yml
|
@ -3,6 +3,25 @@ sudo: false
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
- env: TARGET=thumbv6m-none-eabi
|
||||||
|
os: linux
|
||||||
|
dist: trusty
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages: &cortex
|
||||||
|
- binutils-arm-none-eabi
|
||||||
|
- env: TARGET=thumbv7m-none-eabi
|
||||||
|
os: linux
|
||||||
|
dist: trusty
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages: *cortex
|
||||||
|
- env: TARGET=thumbv7em-none-eabi
|
||||||
|
os: linux
|
||||||
|
dist: trusty
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages: *cortex
|
||||||
- env: TARGET=i586-unknown-linux-gnu
|
- env: TARGET=i586-unknown-linux-gnu
|
||||||
os: linux
|
os: linux
|
||||||
services: docker
|
services: docker
|
||||||
|
@ -84,6 +103,16 @@ matrix:
|
||||||
os: osx
|
os: osx
|
||||||
- env: TARGET=x86_64-unknown-linux-gnu
|
- env: TARGET=x86_64-unknown-linux-gnu
|
||||||
os: linux
|
os: linux
|
||||||
|
allow_failures:
|
||||||
|
# Issue #2. Flaky test
|
||||||
|
- env: TARGET=arm-unknown-linux-gnueabi
|
||||||
|
os: linux
|
||||||
|
# Issue #2. Flaky test
|
||||||
|
- env: TARGET=arm-unknown-linux-gnueabihf
|
||||||
|
os: linux
|
||||||
|
# Issue #2. Flaky test
|
||||||
|
- env: TARGET=armv7-unknown-linux-gnueabihf
|
||||||
|
os: linux
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- export PATH="$PATH:$HOME/.cargo/bin"
|
- export PATH="$PATH:$HOME/.cargo/bin"
|
||||||
|
|
12
ci/env.sh
12
ci/env.sh
|
@ -25,8 +25,6 @@ case $TARGET in
|
||||||
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf
|
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf
|
||||||
;;
|
;;
|
||||||
armv7-unknown-linux-gnueabihf)
|
armv7-unknown-linux-gnueabihf)
|
||||||
# See #2
|
|
||||||
export DONT_RUN_TESTS=y
|
|
||||||
export PREFIX=arm-linux-gnueabihf-
|
export PREFIX=arm-linux-gnueabihf-
|
||||||
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf
|
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf
|
||||||
;;
|
;;
|
||||||
|
@ -65,13 +63,19 @@ case $TARGET in
|
||||||
export QEMU_LD_PREFIX=/usr/powerpc64-linux-gnu
|
export QEMU_LD_PREFIX=/usr/powerpc64-linux-gnu
|
||||||
;;
|
;;
|
||||||
powerpc64le-unknown-linux-gnu)
|
powerpc64le-unknown-linux-gnu)
|
||||||
# See #2
|
|
||||||
export DONT_RUN_TESTS=y
|
|
||||||
if [[ -z $DOCKER ]]; then
|
if [[ -z $DOCKER ]]; then
|
||||||
export DOCKER=y
|
export DOCKER=y
|
||||||
fi
|
fi
|
||||||
export PREFIX=powerpc64le-linux-gnu-
|
export PREFIX=powerpc64le-linux-gnu-
|
||||||
export QEMU=qemu-ppc64le
|
export QEMU=qemu-ppc64le
|
||||||
export QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu
|
export QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu
|
||||||
|
# Issue #2. QEMU doesn't work
|
||||||
|
export RUN_TESTS=n
|
||||||
|
;;
|
||||||
|
thumbv*-none-eabi)
|
||||||
|
export CARGO=xargo
|
||||||
|
export PREFIX=arm-none-eabi-
|
||||||
|
# Bare metal targets. No `std` or `test` crates for these targets.
|
||||||
|
export RUN_TESTS=n
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -32,8 +32,6 @@ install_binutils() {
|
||||||
osx)
|
osx)
|
||||||
brew install binutils
|
brew install binutils
|
||||||
;;
|
;;
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,6 +77,12 @@ add_rustup_target() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
install_xargo() {
|
||||||
|
if [[ $CARGO == "xargo" ]]; then
|
||||||
|
curl -sf "https://raw.githubusercontent.com/japaric/rust-everywhere/master/install.sh" | bash -s -- --from japaric/xargo
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
configure_cargo() {
|
configure_cargo() {
|
||||||
if [[ $PREFIX ]]; then
|
if [[ $PREFIX ]]; then
|
||||||
${PREFIX}gcc -v
|
${PREFIX}gcc -v
|
||||||
|
@ -99,6 +103,7 @@ main() {
|
||||||
install_c_toolchain
|
install_c_toolchain
|
||||||
install_rust
|
install_rust
|
||||||
add_rustup_target
|
add_rustup_target
|
||||||
|
install_xargo
|
||||||
configure_cargo
|
configure_cargo
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
12
ci/script.sh
12
ci/script.sh
|
@ -3,8 +3,8 @@ set -ex
|
||||||
. $(dirname $0)/env.sh
|
. $(dirname $0)/env.sh
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cargo build --target $TARGET
|
${CARGO:-cargo} build --target $TARGET
|
||||||
cargo build --target $TARGET --release
|
${CARGO:-cargo} build --target $TARGET --release
|
||||||
}
|
}
|
||||||
|
|
||||||
run_tests() {
|
run_tests() {
|
||||||
|
@ -14,14 +14,14 @@ run_tests() {
|
||||||
|
|
||||||
if [[ $QEMU ]]; then
|
if [[ $QEMU ]]; then
|
||||||
cargo test --target $TARGET --no-run
|
cargo test --target $TARGET --no-run
|
||||||
if [[ -z $DONT_RUN_TESTS ]]; then
|
if [[ ${RUN_TESTS:-y} == "y" ]]; then
|
||||||
$QEMU target/**/debug/rustc_builtins-*
|
$QEMU target/**/debug/rustc_builtins-*
|
||||||
fi
|
fi
|
||||||
cargo test --target $TARGET --release --no-run
|
cargo test --target $TARGET --release --no-run
|
||||||
if [[ -z $DONT_RUN_TESTS ]]; then
|
if [[ ${RUN_TESTS:-y} == "y" ]]; then
|
||||||
$QEMU target/**/release/rustc_builtins-*
|
$QEMU target/**/release/rustc_builtins-*
|
||||||
fi
|
fi
|
||||||
elif [[ -z $DONT_RUN_TESTS ]]; then
|
elif [[ ${RUN_TESTS:-y} == "y" ]]; then
|
||||||
cargo test --target $TARGET
|
cargo test --target $TARGET
|
||||||
cargo test --target $TARGET --release
|
cargo test --target $TARGET --release
|
||||||
fi
|
fi
|
||||||
|
@ -50,8 +50,8 @@ main() {
|
||||||
bash ci/script.sh'
|
bash ci/script.sh'
|
||||||
else
|
else
|
||||||
build
|
build
|
||||||
run_tests
|
|
||||||
inspect
|
inspect
|
||||||
|
run_tests
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"arch": "arm",
|
||||||
|
"data-layout": "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64",
|
||||||
|
"features": "+strict-align",
|
||||||
|
"llvm-target": "thumbv6m-none-eabi",
|
||||||
|
"max-atomic-width": 0,
|
||||||
|
"os": "none",
|
||||||
|
"target-endian": "little",
|
||||||
|
"target-pointer-width": "32"
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"arch": "arm",
|
||||||
|
"data-layout": "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64",
|
||||||
|
"llvm-target": "thumbv7em-none-eabi",
|
||||||
|
"os": "none",
|
||||||
|
"target-endian": "little",
|
||||||
|
"target-pointer-width": "32"
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"arch": "arm",
|
||||||
|
"data-layout": "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64",
|
||||||
|
"llvm-target": "thumbv7m-none-eabi",
|
||||||
|
"os": "none",
|
||||||
|
"target-endian": "little",
|
||||||
|
"target-pointer-width": "32"
|
||||||
|
}
|
Loading…
Reference in New Issue