|  | #!/bin/bash | 
|  | # This is an internal file that should only be called from Bazel rules.  For | 
|  | # custom conformance tests outside of Bazel use CMAKE with | 
|  | # -Dprotobuf_BUILD_CONFORMANCE=ON to build the test runner. | 
|  |  | 
|  | set -x | 
|  | echo $@ | 
|  |  | 
|  | set -euo pipefail | 
|  | # --- begin runfiles.bash initialization --- | 
|  | if [[ ! -d "${RUNFILES_DIR:-/dev/null}" && ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then | 
|  | if [[ -f "$0.runfiles_manifest" ]]; then | 
|  | export RUNFILES_MANIFEST_FILE="$0.runfiles_manifest" | 
|  | elif [[ -f "$0.runfiles/MANIFEST" ]]; then | 
|  | export RUNFILES_MANIFEST_FILE="$0.runfiles/MANIFEST" | 
|  | elif [[ -f "$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then | 
|  | export RUNFILES_DIR="$0.runfiles" | 
|  | fi | 
|  | fi | 
|  | if [[ -f "${RUNFILES_DIR:-/dev/null}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then | 
|  | source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash" | 
|  | elif [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then | 
|  | source "$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \ | 
|  | "$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)" | 
|  | else | 
|  | echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash" | 
|  | exit 1 | 
|  | fi | 
|  | # --- end runfiles.bash initialization --- | 
|  |  | 
|  | TESTEE= | 
|  | FAILURE_LIST= | 
|  | TEXT_FORMAT_FAILURE_LIST= | 
|  | MAXIMUM_EDITION= | 
|  |  | 
|  | while [[ -n "$@" ]]; do | 
|  | arg="$1"; shift | 
|  | val="$1"; shift | 
|  | case "$arg" in | 
|  | "--testee") TESTEE="$val" ;; | 
|  | "--failure_list") FAILURE_LIST="$val" ;; | 
|  | "--text_format_failure_list") TEXT_FORMAT_FAILURE_LIST="$val" ;; | 
|  | "--maximum_edition") MAXIMUM_EDITION="$val" ;; | 
|  | *) echo "Flag $arg is not recognized." && exit 1 ;; | 
|  | esac | 
|  | done | 
|  |  | 
|  | conformance_test_runner=$(rlocation com_google_protobuf/conformance/conformance_test_runner) | 
|  | conformance_testee=$TESTEE | 
|  | args=(--enforce_recommended) | 
|  |  | 
|  | failure_list=$FAILURE_LIST || unset | 
|  | if [ -n "$failure_list" ] ; then | 
|  | args+=(--failure_list $failure_list) | 
|  | fi | 
|  |  | 
|  | text_format_failure_list=$TEXT_FORMAT_FAILURE_LIST || unset | 
|  | if [ -n "$text_format_failure_list" ]; then | 
|  | args+=(--text_format_failure_list $text_format_failure_list) | 
|  | fi | 
|  |  | 
|  | if [ -n "$MAXIMUM_EDITION" ]; then | 
|  | args+=(--maximum_edition $MAXIMUM_EDITION) | 
|  | fi | 
|  |  | 
|  | $conformance_test_runner "${args[@]}" $conformance_testee |