aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/util
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-01-04 16:05:46 -0800
committerGravatar Craig Tiller <ctiller@google.com>2017-01-04 16:05:46 -0800
commit4b53d3511395328ddf3a9d0d3bd48efaf1f7e57d (patch)
treed6c3d8fa1e5a4a97307d95aca43a9dad012c04d1 /test/core/util
parent6f3ce09f9cf756d1d6c08a6cdf1c3110247a407f (diff)
Faster test building: avoid repeated linking
Diffstat (limited to 'test/core/util')
-rw-r--r--test/core/util/BUILD6
-rwxr-xr-xtest/core/util/fuzzer_one_entry_runner.sh33
-rw-r--r--test/core/util/grpc_fuzzer.bzl12
3 files changed, 45 insertions, 6 deletions
diff --git a/test/core/util/BUILD b/test/core/util/BUILD
index e44e4e2105..e50e595d03 100644
--- a/test/core/util/BUILD
+++ b/test/core/util/BUILD
@@ -50,3 +50,9 @@ cc_library(
deps = [":gpr_test_util", "//:grpc"],
visibility = ["//test:__subpackages__"],
)
+
+sh_library(
+ name = "fuzzer_one_entry_runner",
+ srcs = ["fuzzer_one_entry_runner.sh"],
+ visibility = ["//test:__subpackages__"],
+)
diff --git a/test/core/util/fuzzer_one_entry_runner.sh b/test/core/util/fuzzer_one_entry_runner.sh
new file mode 100755
index 0000000000..a0558a9c09
--- /dev/null
+++ b/test/core/util/fuzzer_one_entry_runner.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# Test runner for fuzzer tests from bazel
+
+# Copyright 2017, Google Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+$1 $2
diff --git a/test/core/util/grpc_fuzzer.bzl b/test/core/util/grpc_fuzzer.bzl
index 3ec9e4e485..2f552a9fdb 100644
--- a/test/core/util/grpc_fuzzer.bzl
+++ b/test/core/util/grpc_fuzzer.bzl
@@ -28,16 +28,16 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
def grpc_fuzzer(name, corpus, srcs = [], deps = [], **kwargs):
- native.cc_library(
- name = "%s/one_entry" % name,
+ native.cc_binary(
+ name = '%s/one_entry.bin' % name,
srcs = srcs,
deps = deps + ["//test/core/util:one_corpus_entry_fuzzer"],
**kwargs
)
for entry in native.glob(['%s/*' % corpus]):
- native.cc_test(
+ native.sh_test(
name = '%s/one_entry/%s' % (name, entry),
- deps = [':%s/one_entry' % name],
- args = ['$(location %s)' % entry],
- data = [entry],
+ data = [':%s/one_entry.bin' % name, entry],
+ srcs = ['//test/core/util:fuzzer_one_entry_runner'],
+ args = ['$(location :%s/one_entry.bin)' % name, '$(location %s)' % entry]
)