script.sh 1.1 KB

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