8521530f49
This commit fixes a bug accidentally introduced in #285 where some lingering references remained to `#[cfg(thumbv6m)]` but this, since the historical revert, was renamed to `#[cfg(thumb_1)]`. This caused on the thumbv6m platform for the intrinsics to be accidentally omitted because the build script didn't actually compile them but the Rust code thought the C code was in use. After correcting the `#[cfg]` statements the CI configuration for the `thumb*` family of targets was all updated. The support for xargo testing was removed from `run.sh` since it had long since bitrotted, and the script was updated to simply build the intrinsics example to attempt to link for each of these targets. This in turn exposed the bug locally and allowed to confirm a fix once the `#[cfg]` statements were corrected. cc rust-lang/rust#60782
38 lines
882 B
Bash
Executable File
38 lines
882 B
Bash
Executable File
# Small script to run tests for a target (or all targets) inside all the
|
|
# respective docker images.
|
|
|
|
set -ex
|
|
|
|
run() {
|
|
local target=$1
|
|
|
|
echo $target
|
|
|
|
# This directory needs to exist before calling docker, otherwise docker will create it but it
|
|
# will be owned by root
|
|
mkdir -p target
|
|
|
|
docker build -t $target ci/docker/$target
|
|
docker run \
|
|
--rm \
|
|
--user $(id -u):$(id -g) \
|
|
-e CARGO_HOME=/cargo \
|
|
-e CARGO_TARGET_DIR=/target \
|
|
-v $HOME/.cargo:/cargo \
|
|
-v `pwd`/target:/target \
|
|
-v `pwd`:/checkout:ro \
|
|
-v `rustc --print sysroot`:/rust:ro \
|
|
-w /checkout \
|
|
--init \
|
|
$target \
|
|
sh -c "HOME=/tmp PATH=\$PATH:/rust/bin ci/run.sh $target"
|
|
}
|
|
|
|
if [ -z "$1" ]; then
|
|
for d in `ls ci/docker/`; do
|
|
run $d
|
|
done
|
|
else
|
|
run $1
|
|
fi
|