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