conformance_test_runner.sh 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/bin/bash
  2. set -x
  3. echo $@
  4. set -euo pipefail
  5. # --- begin runfiles.bash initialization ---
  6. if [[ ! -d "${RUNFILES_DIR:-/dev/null}" && ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
  7. if [[ -f "$0.runfiles_manifest" ]]; then
  8. export RUNFILES_MANIFEST_FILE="$0.runfiles_manifest"
  9. elif [[ -f "$0.runfiles/MANIFEST" ]]; then
  10. export RUNFILES_MANIFEST_FILE="$0.runfiles/MANIFEST"
  11. elif [[ -f "$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
  12. export RUNFILES_DIR="$0.runfiles"
  13. fi
  14. fi
  15. if [[ -f "${RUNFILES_DIR:-/dev/null}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
  16. source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash"
  17. elif [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
  18. source "$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \
  19. "$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
  20. else
  21. echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
  22. exit 1
  23. fi
  24. # --- end runfiles.bash initialization ---
  25. TESTEE=unset
  26. FAILURE_LIST=unset
  27. TEXT_FORMAT_FAILURE_LIST=unset
  28. while [[ -n "$@" ]]; do
  29. arg="$1"; shift
  30. val="$1"; shift
  31. case "$arg" in
  32. "--testee") TESTEE="$val" ;;
  33. "--failure_list") FAILURE_LIST="$val" ;;
  34. "--text_format_failure_list") TEXT_FORMAT_FAILURE_LIST="$val" ;;
  35. *) echo "Flag $arg is not recognized." && exit 1 ;;
  36. esac
  37. done
  38. conformance_test_runner=$(rlocation com_google_protobuf/conformance_test_runner)
  39. conformance_testee=$(rlocation $TESTEE)
  40. args=(--enforce_recommended)
  41. failure_list=$(rlocation $FAILURE_LIST)
  42. if [ "$failure_list" != "1" ] ; then
  43. args+=(--failure_list $failure_list)
  44. fi
  45. text_format_failure_list=$(rlocation $TEXT_FORMAT_FAILURE_LIST)
  46. if [ "$text_format_failure_list" != "1" ]; then
  47. args+=(--text_format_failure_list $text_format_failure_list)
  48. fi
  49. $conformance_test_runner "${args[@]}" $conformance_testee