]>
Commit | Line | Data |
---|---|---|
0731742a XL |
1 | #!/usr/bin/env sh |
2 | ||
0531ce1d XL |
3 | # Small script to run tests for a target (or all targets) inside all the |
4 | # respective docker images. | |
5 | ||
6 | set -ex | |
7 | ||
8 | run() { | |
0731742a | 9 | target=$(echo "${1}" | sed 's/-emulated//') |
9fa01778 | 10 | echo "Building docker container for TARGET=${1}" |
416331ca | 11 | docker build -t stdarch -f "ci/docker/${1}/Dockerfile" ci/ |
c295e0f8 | 12 | mkdir -p target c_programs rust_programs |
0531ce1d | 13 | echo "Running docker" |
0731742a | 14 | # shellcheck disable=SC2016 |
0531ce1d | 15 | docker run \ |
0531ce1d | 16 | --rm \ |
416331ca XL |
17 | --user "$(id -u)":"$(id -g)" \ |
18 | --env CARGO_HOME=/cargo \ | |
19 | --env CARGO_TARGET_DIR=/checkout/target \ | |
0731742a | 20 | --env TARGET="${target}" \ |
416331ca XL |
21 | --env STDARCH_TEST_EVERYTHING \ |
22 | --env STDARCH_ASSERT_INSTR_IGNORE \ | |
23 | --env STDARCH_DISABLE_ASSERT_INSTR \ | |
0731742a XL |
24 | --env NOSTD \ |
25 | --env NORUN \ | |
26 | --env RUSTFLAGS \ | |
416331ca XL |
27 | --env STDARCH_TEST_NORUN \ |
28 | --volume "$(dirname "$(dirname "$(command -v cargo)")")":/cargo \ | |
29 | --volume "$(rustc --print sysroot)":/rust:ro \ | |
0731742a XL |
30 | --volume "$(pwd)":/checkout:ro \ |
31 | --volume "$(pwd)"/target:/checkout/target \ | |
c295e0f8 XL |
32 | --volume "$(pwd)"/c_programs:/checkout/c_programs \ |
33 | --volume "$(pwd)"/rust_programs:/checkout/rust_programs \ | |
416331ca | 34 | --init \ |
0531ce1d XL |
35 | --workdir /checkout \ |
36 | --privileged \ | |
416331ca XL |
37 | stdarch \ |
38 | sh -c "HOME=/tmp PATH=\$PATH:/rust/bin exec ci/run.sh ${1}" | |
0531ce1d XL |
39 | } |
40 | ||
41 | if [ -z "$1" ]; then | |
0731742a XL |
42 | for d in ci/docker/*; do |
43 | run "${d}" | |
0531ce1d XL |
44 | done |
45 | else | |
9fa01778 | 46 | run "${1}" |
0531ce1d | 47 | fi |