script.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. set -ex
  2. . $(dirname $0)/env.sh
  3. build() {
  4. ${CARGO:-cargo} build --target $TARGET
  5. ${CARGO:-cargo} build --target $TARGET --release
  6. }
  7. inspect() {
  8. $PREFIX$NM -g --defined-only target/**/debug/*.rlib
  9. set +e
  10. $PREFIX$OBJDUMP -Cd target/**/debug/*.rlib
  11. $PREFIX$OBJDUMP -Cd target/**/release/*.rlib
  12. set -e
  13. }
  14. run_tests() {
  15. if [[ $QEMU_LD_PREFIX ]]; then
  16. export RUST_TEST_THREADS=1
  17. fi
  18. if [[ ${RUN_TESTS:-y} == "y" ]]; then
  19. cargo test --target $TARGET
  20. cargo test --target $TARGET --release
  21. fi
  22. }
  23. main() {
  24. if [[ $TRAVIS_OS_NAME == "linux" && ${IN_DOCKER_CONTAINER:-n} == "n" ]]; then
  25. local tag=2016-08-13
  26. docker run \
  27. --privileged \
  28. -e IN_DOCKER_CONTAINER=y \
  29. -e TARGET=$TARGET \
  30. -e TRAVIS_OS_NAME=$TRAVIS_OS_NAME \
  31. -v $(pwd):/mnt \
  32. japaric/rustc-builtins:$tag \
  33. sh -c 'set -ex;
  34. cd /mnt;
  35. export PATH="$PATH:/root/.cargo/bin";
  36. bash ci/install.sh;
  37. bash ci/script.sh'
  38. else
  39. build
  40. inspect
  41. run_tests
  42. fi
  43. }
  44. main