-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Protobuf Java/Core Tests running w/ Bazel. Also integrates rules_jvm_external and migrates existing maven deps in place. * Add test_suite target that maps to rule name. * Lite tests passing in Bazel * util tests passing with Bazel. * Add conformance and build testing to //java:core * Cleanup bzl style and lock down access to failure lists. * Adding Java Lite conformance tests. * rm newline * parameterize conformance_test This makes usage of failure lists more explicit. * restrict visibility more for newly added libs and fix formatting. * fix formatting and visibility. * move testing.bzl to an internal package. * fix file formatting. * moving conformance_test to internal.bzl
- Loading branch information
Showing
13 changed files
with
655 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
#!/bin/bash | ||
|
||
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=unset | ||
FAILURE_LIST=unset | ||
TEXT_FORMAT_FAILURE_LIST=unset | ||
|
||
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" ;; | ||
*) echo "Flag $arg is not recognized." && exit 1 ;; | ||
esac | ||
done | ||
|
||
conformance_test_runner=$(rlocation com_google_protobuf/conformance_test_runner) | ||
conformance_testee=$(rlocation $TESTEE) | ||
args=(--enforce_recommended) | ||
|
||
failure_list=$(rlocation $FAILURE_LIST) | ||
if [ "$failure_list" != "1" ] ; then | ||
args+=(--failure_list $failure_list) | ||
fi | ||
|
||
text_format_failure_list=$(rlocation $TEXT_FORMAT_FAILURE_LIST) | ||
if [ "$text_format_failure_list" != "1" ]; then | ||
args+=(--text_format_failure_list $text_format_failure_list) | ||
fi | ||
|
||
$conformance_test_runner "${args[@]}" $conformance_testee |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# PLEASE DO NOT DEPEND ON THE CONTENTS OF THIS FILE, IT IS UNSTABLE. | ||
|
||
def conformance_test(name, testee, failure_list = None, text_format_failure_list = None): | ||
args = ["--testee %s" % _strip_bazel(testee)] | ||
failure_lists = [] | ||
if failure_list: | ||
args = args + ["--failure_list %s" % _strip_bazel(failure_list)] | ||
failure_lists = failure_lists + [failure_list] | ||
if text_format_failure_list: | ||
args = args + ["--text_format_failure_list %s" % _strip_bazel(text_format_failure_list)] | ||
failure_lists = failure_lists + [text_format_failure_list] | ||
|
||
native.sh_test( | ||
name = name, | ||
srcs = ["//:conformance/conformance_test_runner.sh"], | ||
data = [testee] + failure_lists + [ | ||
"//:conformance_test_runner", | ||
], | ||
args = args, | ||
deps = [ | ||
"@bazel_tools//tools/bash/runfiles", | ||
], | ||
) | ||
|
||
|
||
def _strip_bazel(testee): | ||
if testee.startswith("//"): | ||
testee = testee.replace("//", "com_google_protobuf") | ||
return testee.replace(":", "/") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
test_suite( | ||
name = "tests", | ||
tests = [ | ||
"//java/core:tests", | ||
"//java/lite:tests", | ||
"//java/util:tests", | ||
], | ||
) |
Oops, something went wrong.