Skip to content

Commit bcbfa85

Browse files
committed
Leverage Cargo's target runner support to execute tests
1 parent ce27617 commit bcbfa85

File tree

13 files changed

+87
-128
lines changed

13 files changed

+87
-128
lines changed

.travis.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,14 @@ matrix:
5050
- env: TARGET=aarch64-unknown-linux-gnu
5151
- os: osx
5252
osx_image: xcode8.2
53-
env: TARGET=i386-apple-ios
53+
env: TARGET=i386-apple-ios CARGO_TARGET_I386_APPLE_IOS_RUNNER=$HOME/runtest
54+
before_install:
55+
rustc ./ci/ios/deploy_and_run_on_ios_simulator.rs -o $HOME/runtest
5456
- os: osx
5557
osx_image: xcode8.2
56-
env: TARGET=x86_64-apple-ios
58+
env: TARGET=x86_64-apple-ios CARGO_TARGET_X86_64_APPLE_IOS_RUNNER=$HOME/runtest
59+
before_install:
60+
rustc ./ci/ios/deploy_and_run_on_ios_simulator.rs -o $HOME/runtest
5761
- env: TARGET=x86_64-rumprun-netbsd
5862
- env: TARGET=powerpc-unknown-linux-gnu
5963
- env: TARGET=powerpc64-unknown-linux-gnu
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM ubuntu:17.10
2-
RUN apt-get update
3-
RUN apt-get install -y --no-install-recommends \
2+
RUN apt-get update && apt-get install -y --no-install-recommends \
43
gcc libc6-dev ca-certificates \
54
gcc-aarch64-linux-gnu libc6-dev-arm64-cross qemu-user
65
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
6+
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -L /usr/aarch64-linux-gnu" \
77
PATH=$PATH:/rust/bin
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM ubuntu:17.10
2-
RUN apt-get update
3-
RUN apt-get install -y --no-install-recommends \
2+
RUN apt-get update && apt-get install -y --no-install-recommends \
43
gcc libc6-dev ca-certificates \
54
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user
65
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
6+
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \
77
PATH=$PATH:/rust/bin
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
FROM ubuntu:17.10
22

3-
RUN apt-get update
4-
RUN apt-get install -y --no-install-recommends \
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
54
gcc libc6-dev qemu-user ca-certificates \
65
gcc-mips-linux-gnu libc6-dev-mips-cross \
76
qemu-system-mips
87

98
ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc \
9+
CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER="qemu-mips -L /usr/mips-linux-gnu" \
1010
PATH=$PATH:/rust/bin

ci/docker/mips-unknown-linux-musl/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
FROM ubuntu:17.10
22

3-
RUN apt-get update
4-
RUN apt-get install -y --no-install-recommends \
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
54
gcc libc6-dev qemu-user ca-certificates qemu-system-mips curl \
65
bzip2
76

@@ -14,4 +13,5 @@ RUN curl -L https://s3.amazonaws.com/rust-lang-ci/libc/OpenWrt-SDK-ar71xx-generi
1413

1514
ENV PATH=$PATH:/rust/bin:/toolchain/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.15/bin \
1615
CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \
17-
CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_LINKER=mips-openwrt-linux-gcc
16+
CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_LINKER=mips-openwrt-linux-gcc \
17+
CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_RUNNER="qemu-mips -L /toolchain/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.15"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
FROM ubuntu:17.10
22

3-
RUN apt-get update
4-
RUN apt-get install -y --no-install-recommends \
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
54
gcc libc6-dev qemu-user ca-certificates \
65
gcc-mips64-linux-gnuabi64 libc6-dev-mips64-cross \
76
qemu-system-mips64
87

98
ENV CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_LINKER=mips64-linux-gnuabi64-gcc \
9+
CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_RUNNER="qemu-mips64 -L /usr/mips64-linux-gnuabi64" \
1010
CC_mips64_unknown_linux_gnuabi64=mips64-linux-gnuabi64-gcc \
1111
PATH=$PATH:/rust/bin

ci/docker/mipsel-unknown-linux-musl/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
FROM ubuntu:17.10
22

3-
RUN apt-get update
4-
RUN apt-get install -y --no-install-recommends \
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
54
gcc libc6-dev qemu-user ca-certificates qemu-system-mips curl \
65
bzip2
76

@@ -14,4 +13,5 @@ RUN curl -L https://s3.amazonaws.com/rust-lang-ci/libc/OpenWrt-Toolchain-malta-l
1413

1514
ENV PATH=$PATH:/rust/bin:/toolchain/bin \
1615
CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
17-
CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_LINKER=mipsel-openwrt-linux-gcc
16+
CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_LINKER=mipsel-openwrt-linux-gcc \
17+
CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_RUNNER="qemu-mipsel -L /toolchain"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
FROM ubuntu:17.10
22

3-
RUN apt-get update
4-
RUN apt-get install -y --no-install-recommends \
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
54
gcc libc6-dev qemu-user ca-certificates \
65
gcc-powerpc-linux-gnu libc6-dev-powerpc-cross \
76
qemu-system-ppc
87

98
ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc \
9+
CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc -L /usr/powerpc-linux-gnu" \
1010
PATH=$PATH:/rust/bin
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
FROM ubuntu:17.10
22

3-
RUN apt-get update
4-
RUN apt-get install -y --no-install-recommends \
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
54
gcc libc6-dev qemu-user ca-certificates \
65
gcc-powerpc64-linux-gnu libc6-dev-ppc64-cross \
76
qemu-system-ppc
87

98
ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc \
9+
CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64 -L /usr/powerpc64-linux-gnu" \
1010
CC=powerpc64-linux-gnu-gcc \
1111
PATH=$PATH:/rust/bin

ci/docker/s390x-unknown-linux-gnu/Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
55
gcc-s390x-linux-gnu libc6-dev-s390x-cross
66

77
ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
8+
# TODO: in theory we should execute this, but qemu segfaults immediately :(
9+
# CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="qemu-s390x -L /usr/s390x-linux-gnu" \
10+
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER=true \
811
CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc \
912
PATH=$PATH:/rust/bin

0 commit comments

Comments
 (0)