script.sh 1.0 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 ]]; then
  30. docker run \
  31. -e TARGET=$TARGET \
  32. -e TRAVIS_OS_NAME=$TRAVIS_OS_NAME \
  33. -v $(pwd):/mnt \
  34. ubuntu:16.04 \
  35. sh -c "cd /mnt; bash ci/install.sh; bash ci/script.sh"
  36. else
  37. build
  38. run_tests
  39. inspect
  40. fi
  41. }
  42. main