blob: e9b2e4fffa295deafbfe97facff88e4a15195f6a [file] [log] [blame]
Derek Perezbc45f922021-04-20 11:36:32 -07001#!/bin/bash
2
3set -x
4echo $@
5
6set -euo pipefail
7# --- begin runfiles.bash initialization ---
8if [[ ! -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
16fi
17if [[ -f "${RUNFILES_DIR:-/dev/null}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
18 source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash"
19elif [[ -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-)"
22else
23 echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
24 exit 1
25fi
26# --- end runfiles.bash initialization ---
27
28TESTEE=unset
29FAILURE_LIST=unset
30TEXT_FORMAT_FAILURE_LIST=unset
31
32while [[ -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
41done
42
43conformance_test_runner=$(rlocation com_google_protobuf/conformance_test_runner)
44conformance_testee=$(rlocation $TESTEE)
45args=(--enforce_recommended)
46
47failure_list=$(rlocation $FAILURE_LIST)
48if [ "$failure_list" != "1" ] ; then
49 args+=(--failure_list $failure_list)
50fi
51
52text_format_failure_list=$(rlocation $TEXT_FORMAT_FAILURE_LIST)
53if [ "$text_format_failure_list" != "1" ]; then
54 args+=(--text_format_failure_list $text_format_failure_list)
55fi
56
57$conformance_test_runner "${args[@]}" $conformance_testee