grpc_run_bazel_isolated_tests.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/env bash
  2. # Copyright 2019 The gRPC Authors
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. set -ex
  16. # avoid slow finalization after the script has exited.
  17. source $(dirname $0)/../../../tools/internal_ci/helper_scripts/move_src_tree_and_respawn_itself_rc
  18. # change to grpc repo root
  19. cd $(dirname $0)/../../..
  20. ./tools/run_tests/start_port_server.py
  21. # run cfstream_test separately because it messes with the network
  22. # The "local" execution strategy is required because the test runs sudo and that doesn't work in a sandboxed environment (the default on mac)
  23. tools/bazel test $RUN_TESTS_FLAGS --genrule_strategy=local --test_output=all --copt="-DGRPC_CFSTREAM=1" //test/cpp/end2end:cfstream_test
  24. # Missing the /var/db/ntp-kod file may breaks the ntp synchronization.
  25. # Create the file and change the ownership to root before NTP sync.
  26. # TODO(yulin-liang): investigate how to run time_jump_test without needing to mess with the system time directly.
  27. # See b/166245303
  28. sudo touch /var/db/ntp-kod
  29. sudo chown root:wheel /var/db/ntp-kod
  30. # Make sure time is in sync before running time_jump_test because the test does
  31. # NTP sync before exiting. Bazel gets confused if test end time < start time.
  32. sudo sntp -sS pool.ntp.org
  33. # run time_jump_test separately because it changes system time
  34. # The "local" execution strategy is required because the test runs sudo and that doesn't work in a sandboxed environment (the default on mac)
  35. tools/bazel test $RUN_TESTS_FLAGS --genrule_strategy=local --test_output=all //test/cpp/common:time_jump_test
  36. # kill port_server.py to prevent the build from freezing
  37. ps aux | grep port_server\\.py | awk '{print $2}' | xargs kill -9