aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/dockerfile/grpc_sanity/Dockerfile79
-rw-r--r--tools/dockerfile/grpc_tests_multilang_x64/Dockerfile (renamed from tools/dockerfile/grpc_jenkins_slave_x64/Dockerfile)15
-rw-r--r--tools/dockerfile/grpc_tests_multilang_x86/Dockerfile (renamed from tools/dockerfile/grpc_jenkins_slave_x86/Dockerfile)8
-rwxr-xr-xtools/jenkins/docker_run_tests.sh10
-rwxr-xr-xtools/jenkins/run_jenkins.sh2
-rwxr-xr-xtools/jenkins/run_portability.sh18
-rw-r--r--tools/run_tests/configs.json2
-rwxr-xr-xtools/run_tests/jobset.py2
-rwxr-xr-xtools/run_tests/run_tests.py75
-rwxr-xr-xtools/run_tests/sanity/check_cache_mk.sh (renamed from tools/run_tests/check_cache_mk.sh)0
-rwxr-xr-xtools/run_tests/sanity/check_sources_and_headers.py (renamed from tools/run_tests/check_sources_and_headers.py)66
-rwxr-xr-xtools/run_tests/sanity/check_submodules.sh (renamed from tools/run_tests/check_submodules.sh)2
-rw-r--r--tools/run_tests/sanity/sanity_tests.yaml (renamed from tools/run_tests/sanity_tests.yaml)6
-rw-r--r--tools/run_tests/tests.json59
14 files changed, 256 insertions, 88 deletions
diff --git a/tools/dockerfile/grpc_sanity/Dockerfile b/tools/dockerfile/grpc_sanity/Dockerfile
new file mode 100644
index 0000000000..6f7797d32a
--- /dev/null
+++ b/tools/dockerfile/grpc_sanity/Dockerfile
@@ -0,0 +1,79 @@
+# Copyright 2015-2016, 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.
+
+# Dockerfile for running gRPC sanity tests
+
+FROM debian:jessie
+
+# Install Git and basic packages.
+RUN apt-get update && apt-get install -y \
+ autoconf \
+ autotools-dev \
+ build-essential \
+ bzip2 \
+ ccache \
+ curl \
+ gcc \
+ gcc-multilib \
+ git \
+ golang \
+ gyp \
+ lcov \
+ libc6 \
+ libc6-dbg \
+ libc6-dev \
+ libgtest-dev \
+ libtool \
+ make \
+ perl \
+ strace \
+ python-dev \
+ python-setuptools \
+ python-yaml \
+ telnet \
+ unzip \
+ wget \
+ zip && apt-get clean
+
+##################
+# Sanity test dependencies
+RUN apt-get update && apt-get install -y python-pip
+RUN pip install simplejson mako
+
+##################
+# Docker "inception".
+# Note this is quite the ugly hack.
+# This makes sure that the docker binary we inject has its dependencies.
+RUN curl https://get.docker.com/ | sh
+RUN apt-get remove --purge -y docker-engine
+
+RUN mkdir /var/local/jenkins
+
+# Define the default command.
+CMD ["bash"]
diff --git a/tools/dockerfile/grpc_jenkins_slave_x64/Dockerfile b/tools/dockerfile/grpc_tests_multilang_x64/Dockerfile
index 48541b00ad..7785f3d99a 100644
--- a/tools/dockerfile/grpc_jenkins_slave_x64/Dockerfile
+++ b/tools/dockerfile/grpc_tests_multilang_x64/Dockerfile
@@ -27,8 +27,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# A work-in-progress Dockerfile that allows running gRPC test suites
-# inside a docker container.
+# Dockerfile for running gRPC test suites inside a docker container.
FROM debian:jessie
@@ -95,8 +94,6 @@ RUN apt-get update && apt-get -y dist-upgrade && apt-get install -y \
RUN cd /var/local && wget www.nuget.org/NuGet.exe
ENV NUGET mono /var/local/NuGet.exe
-# TODO(jtattermusch): add dependencies for other languages
-
##################
# Node dependencies
@@ -154,18 +151,8 @@ RUN apt-get update && apt-get install -y \
##################
# Zookeeper dependencies
-
-# Install dependencies
-
RUN apt-get install -y libzookeeper-mt-dev
-##################
-# Docker "inception".
-# Note this is quite the ugly hack.
-# This makes sure that the docker binary we inject has its dependencies.
-RUN curl https://get.docker.com/ | sh
-RUN apt-get remove --purge -y docker-engine
-
RUN mkdir /var/local/jenkins
# Define the default command.
diff --git a/tools/dockerfile/grpc_jenkins_slave_x86/Dockerfile b/tools/dockerfile/grpc_tests_multilang_x86/Dockerfile
index 2323f23387..c5cd45ea08 100644
--- a/tools/dockerfile/grpc_jenkins_slave_x86/Dockerfile
+++ b/tools/dockerfile/grpc_tests_multilang_x86/Dockerfile
@@ -27,8 +27,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# A work-in-progress Dockerfile that allows running gRPC test suites
-# inside a docker container.
+# Dockerfile for running gRPC test suites inside a docker container.
FROM 32bit/debian:jessie
@@ -95,8 +94,6 @@ RUN apt-get update && apt-get -y dist-upgrade && apt-get install -y \
RUN cd /var/local && wget www.nuget.org/NuGet.exe
ENV NUGET mono /var/local/NuGet.exe
-# TODO(jtattermusch): add dependencies for other languages
-
##################
# Node dependencies
@@ -153,9 +150,6 @@ RUN apt-get update && apt-get install -y \
##################
# Zookeeper dependencies
-
-# Install dependencies
-
RUN apt-get install -y libzookeeper-mt-dev
diff --git a/tools/jenkins/docker_run_tests.sh b/tools/jenkins/docker_run_tests.sh
index 148a0f5e08..26e5585d2d 100755
--- a/tools/jenkins/docker_run_tests.sh
+++ b/tools/jenkins/docker_run_tests.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# Copyright 2015, Google Inc.
+# Copyright 2015-2016, Google Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -43,8 +43,12 @@ chown `whoami` $XDG_CACHE_HOME
mkdir -p /var/local/git
git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc
-nvm use 0.12
-rvm use ruby-2.1
+nvm use 0.12 || true
+
+if [ -x "$(command -v rvm)" ]
+then
+ rvm use ruby-2.1
+fi
mkdir -p reports
diff --git a/tools/jenkins/run_jenkins.sh b/tools/jenkins/run_jenkins.sh
index 123b252719..4cb31e601a 100755
--- a/tools/jenkins/run_jenkins.sh
+++ b/tools/jenkins/run_jenkins.sh
@@ -49,7 +49,7 @@ fi
unset platform # variable named 'platform' breaks the windows build
-python tools/run_tests/run_tests.py $USE_DOCKER_MAYBE -t -l $language -c $config -x report.xml -j 3 $@ || TESTS_FAILED="true"
+python tools/run_tests/run_tests.py $USE_DOCKER_MAYBE -t -l $language -c $config -x report.xml -j 2 $@ || TESTS_FAILED="true"
if [ ! -e reports/index.html ]
then
diff --git a/tools/jenkins/run_portability.sh b/tools/jenkins/run_portability.sh
index f76dbd3144..6f15da73f4 100755
--- a/tools/jenkins/run_portability.sh
+++ b/tools/jenkins/run_portability.sh
@@ -41,6 +41,14 @@ set -ex -o igncr || set -ex
echo "building $scenario"
+# If scenario has _bo suffix, add --build_only flag.
+# Short suffix name had to been chosen due to path length limit on Windows.
+if [ "$scenario" != "${scenario%_bo}" ]
+then
+ scenario="${scenario%_bo}"
+ BUILD_ONLY_MAYBE="--build_only"
+fi
+
parts=($(echo $scenario | tr '_' ' ')) # split scenario into parts
curr_platform=${parts[0]} # variable named 'platform' breaks the windows build
@@ -48,12 +56,10 @@ curr_arch=${parts[1]}
curr_compiler=${parts[2]}
config='dbg'
-maybe_build_only='--build_only'
-if [ "$curr_platform" == "windows" ]
+if [ "$curr_platform" == "linux" ]
then
- python tools/run_tests/run_tests.py -t -l $language -c $config --arch ${curr_arch} --compiler ${curr_compiler} ${maybe_build_only} -x report.xml $@
-else
- echo "Unsupported scenario."
- exit 1
+ USE_DOCKER_MAYBE="--use_docker"
fi
+
+python tools/run_tests/run_tests.py $USE_DOCKER_MAYBE $BUILD_ONLY_MAYBE -t -l $language -c $config --arch ${curr_arch} --compiler ${curr_compiler} -x report.xml -j 3 $@
diff --git a/tools/run_tests/configs.json b/tools/run_tests/configs.json
index 769942df99..d508c6394c 100644
--- a/tools/run_tests/configs.json
+++ b/tools/run_tests/configs.json
@@ -59,7 +59,7 @@
},
{
"config": "msan",
- "timeout_multiplier": 1.5
+ "timeout_multiplier": 2
},
{
"config": "mutrace"
diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py
index beeb99c0ae..adf178bb3c 100755
--- a/tools/run_tests/jobset.py
+++ b/tools/run_tests/jobset.py
@@ -360,7 +360,7 @@ class Jobset(object):
if self.cancelled(): return False
current_cpu_cost = self.cpu_cost()
if current_cpu_cost == 0: break
- if current_cpu_cost + spec.cpu_cost < self._maxjobs: break
+ if current_cpu_cost + spec.cpu_cost <= self._maxjobs: break
self.reap()
if self.cancelled(): return False
if spec.hash_targets:
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index 488af3b4da..9e7b97c6a2 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -132,8 +132,10 @@ class CLanguage(object):
if config.build_config in target['exclude_configs']:
continue
if self.platform == 'windows':
- binary = 'vsprojects/%s/%s.exe' % (
- _WINDOWS_CONFIG[config.build_config], target['name'])
+ binary = 'vsprojects/%s%s/%s.exe' % (
+ 'x64/' if args.arch == 'x64' else '',
+ _WINDOWS_CONFIG[config.build_config],
+ target['name'])
else:
binary = 'bins/%s/%s' % (config.build_config, target['name'])
if os.path.isfile(binary):
@@ -151,9 +153,9 @@ class CLanguage(object):
def make_targets(self, test_regex):
if platform_string() != 'windows' and test_regex != '.*':
# use the regex to minimize the number of things to build
- return [target['name']
+ return [os.path.basename(target['name'])
for target in get_c_tests(False, self.test_lang)
- if re.search(test_regex, target['name'])]
+ if re.search(test_regex, '/' + target['name'])]
if platform_string() == 'windows':
# don't build tools on windows just yet
return ['buildtests_%s' % self.make_target]
@@ -183,6 +185,9 @@ class CLanguage(object):
def supports_multi_config(self):
return True
+ def dockerfile_dir(self, config, arch):
+ return None
+
def __str__(self):
return self.make_target
@@ -215,6 +220,9 @@ class NodeLanguage(object):
def supports_multi_config(self):
return False
+ def dockerfile_dir(self, config, arch):
+ return None
+
def __str__(self):
return 'node'
@@ -246,6 +254,9 @@ class PhpLanguage(object):
def supports_multi_config(self):
return False
+ def dockerfile_dir(self, config, arch):
+ return None
+
def __str__(self):
return 'php'
@@ -299,6 +310,9 @@ class PythonLanguage(object):
def supports_multi_config(self):
return False
+ def dockerfile_dir(self, config, arch):
+ return None
+
def __str__(self):
return 'python'
@@ -330,6 +344,9 @@ class RubyLanguage(object):
def supports_multi_config(self):
return False
+ def dockerfile_dir(self, config, arch):
+ return None
+
def __str__(self):
return 'ruby'
@@ -412,6 +429,9 @@ class CSharpLanguage(object):
def supports_multi_config(self):
return False
+ def dockerfile_dir(self, config, arch):
+ return None
+
def __str__(self):
return 'csharp'
@@ -443,6 +463,9 @@ class ObjCLanguage(object):
def supports_multi_config(self):
return False
+ def dockerfile_dir(self, config, arch):
+ return None
+
def __str__(self):
return 'objc'
@@ -451,8 +474,10 @@ class Sanity(object):
def test_specs(self, config, args):
import yaml
- with open('tools/run_tests/sanity_tests.yaml', 'r') as f:
- return [config.job_spec(cmd['script'].split(), None, timeout_seconds=None, environ={'TEST': 'true'}, cpu_cost=cmd.get('cpu_cost', 1))
+ with open('tools/run_tests/sanity/sanity_tests.yaml', 'r') as f:
+ return [config.job_spec(cmd['script'].split(), None,
+ timeout_seconds=None, environ={'TEST': 'true'},
+ cpu_cost=cmd.get('cpu_cost', 1))
for cmd in yaml.load(f)]
def pre_build_steps(self):
@@ -476,6 +501,9 @@ class Sanity(object):
def supports_multi_config(self):
return False
+ def dockerfile_dir(self, config, arch):
+ return 'tools/dockerfile/grpc_sanity'
+
def __str__(self):
return 'sanity'
@@ -506,6 +534,9 @@ class Build(object):
def supports_multi_config(self):
return True
+ def dockerfile_dir(self, config, arch):
+ return None
+
def __str__(self):
return self.make_target
@@ -545,7 +576,7 @@ def _windows_arch_option(arch):
else:
print 'Architecture %s not supported.' % arch
sys.exit(1)
-
+
def _check_arch_option(arch):
"""Checks that architecture option is valid."""
@@ -595,15 +626,19 @@ def _windows_toolset_option(compiler):
sys.exit(1)
-def _get_dockerfile_dir(arch):
+def _get_dockerfile_dir(language, cfg, arch):
"""Returns dockerfile to use"""
- if arch == 'default' or arch == 'x64':
- return 'tools/dockerfile/grpc_jenkins_slave_x64'
- elif arch == 'x86':
- return 'tools/dockerfile/grpc_jenkins_slave_x86'
+ custom = language.dockerfile_dir(cfg, arch)
+ if custom:
+ return custom
else:
- print 'Architecture %s not supported with current settings.' % arch
- sys.exit(1)
+ if arch == 'default' or arch == 'x64':
+ return 'tools/dockerfile/grpc_tests_multilang_x64'
+ elif arch == 'x86':
+ return 'tools/dockerfile/grpc_tests_multilang_x86'
+ else:
+ print 'Architecture %s not supported with current settings.' % arch
+ sys.exit(1)
def runs_per_test_type(arg_str):
"""Auxilary function to parse the "runs_per_test" flag.
@@ -771,11 +806,13 @@ if args.use_docker:
time.sleep(5)
child_argv = [ arg for arg in sys.argv if not arg == '--use_docker' ]
- run_tests_cmd = 'tools/run_tests/run_tests.py %s' % ' '.join(child_argv[1:])
+ run_tests_cmd = 'python tools/run_tests/run_tests.py %s' % ' '.join(child_argv[1:])
env = os.environ.copy()
env['RUN_TESTS_COMMAND'] = run_tests_cmd
- env['DOCKERFILE_DIR'] = _get_dockerfile_dir(args.arch)
+ env['DOCKERFILE_DIR'] = _get_dockerfile_dir(next(iter(languages)),
+ next(iter(build_configs)),
+ args.arch)
env['DOCKER_RUN_SCRIPT'] = 'tools/jenkins/docker_run_tests.sh'
if args.xml_report:
env['XML_REPORT'] = args.xml_report
@@ -786,7 +823,7 @@ if args.use_docker:
shell=True,
env=env)
sys.exit(0)
-
+
if platform_string() != 'windows' and args.compiler != 'default':
print 'Compiler %s not supported on current platform.' % args.compiler
sys.exit(1)
@@ -1024,13 +1061,15 @@ def _build_and_run(
check_cancelled, newline_on_success, cache, xml_report=None, build_only=False):
"""Do one pass of building & running tests."""
# build latest sequentially
- num_failures, _ = jobset.run(
+ num_failures, resultset = jobset.run(
build_steps, maxjobs=1, stop_on_failure=True,
newline_on_success=newline_on_success, travis=args.travis)
if num_failures:
return [BuildAndRunError.BUILD]
if build_only:
+ if xml_report:
+ report_utils.render_junit_xml_report(resultset, xml_report)
return []
# start antagonists
diff --git a/tools/run_tests/check_cache_mk.sh b/tools/run_tests/sanity/check_cache_mk.sh
index b738d6a965..b738d6a965 100755
--- a/tools/run_tests/check_cache_mk.sh
+++ b/tools/run_tests/sanity/check_cache_mk.sh
diff --git a/tools/run_tests/check_sources_and_headers.py b/tools/run_tests/sanity/check_sources_and_headers.py
index 50574f44b0..3974af0032 100755
--- a/tools/run_tests/check_sources_and_headers.py
+++ b/tools/run_tests/sanity/check_sources_and_headers.py
@@ -33,9 +33,9 @@ import os
import re
import sys
-root = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../..'))
+root = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../../..'))
with open(os.path.join(root, 'tools', 'run_tests', 'sources_and_headers.json')) as f:
- js = json.loads(f.read())
+ js = json.loads(f.read())
re_inc1 = re.compile(r'^#\s*include\s*"([^"]*)"')
assert re_inc1.match('#include "foo"').group(1) == 'foo'
@@ -43,41 +43,41 @@ re_inc2 = re.compile(r'^#\s*include\s*<((grpc|grpc\+\+)/[^"]*)>')
assert re_inc2.match('#include <grpc++/foo>').group(1) == 'grpc++/foo'
def get_target(name):
- for target in js:
- if target['name'] == name:
- return target
- assert False, 'no target %s' % name
+ for target in js:
+ if target['name'] == name:
+ return target
+ assert False, 'no target %s' % name
def target_has_header(target, name):
-# print target['name'], name
- if name in target['headers']:
- return True
- for dep in target['deps']:
- if target_has_header(get_target(dep), name):
- return True
- if name == 'src/core/profiling/stap_probes.h':
- return True
- return False
+ # print target['name'], name
+ if name in target['headers']:
+ return True
+ for dep in target['deps']:
+ if target_has_header(get_target(dep), name):
+ return True
+ if name == 'src/core/profiling/stap_probes.h':
+ return True
+ return False
errors = 0
for target in js:
- for fn in target['src']:
- with open(os.path.join(root, fn)) as f:
- src = f.read().splitlines()
- for line in src:
- m = re_inc1.match(line)
- if m:
- if not target_has_header(target, m.group(1)):
- print (
- 'target %s (%s) does not name header %s as a dependency' % (
- target['name'], fn, m.group(1)))
- errors += 1
- m = re_inc2.match(line)
- if m:
- if not target_has_header(target, 'include/' + m.group(1)):
- print (
- 'target %s (%s) does not name header %s as a dependency' % (
- target['name'], fn, m.group(1)))
- errors += 1
+ for fn in target['src']:
+ with open(os.path.join(root, fn)) as f:
+ src = f.read().splitlines()
+ for line in src:
+ m = re_inc1.match(line)
+ if m:
+ if not target_has_header(target, m.group(1)):
+ print (
+ 'target %s (%s) does not name header %s as a dependency' % (
+ target['name'], fn, m.group(1)))
+ errors += 1
+ m = re_inc2.match(line)
+ if m:
+ if not target_has_header(target, 'include/' + m.group(1)):
+ print (
+ 'target %s (%s) does not name header %s as a dependency' % (
+ target['name'], fn, m.group(1)))
+ errors += 1
assert errors == 0
diff --git a/tools/run_tests/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh
index b4ca4fa3ce..f49230e49a 100755
--- a/tools/run_tests/check_submodules.sh
+++ b/tools/run_tests/sanity/check_submodules.sh
@@ -34,7 +34,7 @@ set -e
export TEST=true
-cd `dirname $0`/../..
+cd `dirname $0`/../../..
submodules=`mktemp /tmp/submXXXXXX`
want_submodules=`mktemp /tmp/submXXXXXX`
diff --git a/tools/run_tests/sanity_tests.yaml b/tools/run_tests/sanity/sanity_tests.yaml
index 757bcd9d34..809e6ce645 100644
--- a/tools/run_tests/sanity_tests.yaml
+++ b/tools/run_tests/sanity/sanity_tests.yaml
@@ -1,7 +1,7 @@
# a set of tests that are run in parallel for sanity tests
-- script: tools/run_tests/check_sources_and_headers.py
-- script: tools/run_tests/check_submodules.sh
-- script: tools/run_tests/check_cache_mk.sh
+- script: tools/run_tests/sanity/check_sources_and_headers.py
+- script: tools/run_tests/sanity/check_submodules.sh
+- script: tools/run_tests/sanity/check_cache_mk.sh
- script: tools/buildgen/generate_projects.sh -j 3
cpu_cost: 3
- script: tools/distrib/check_copyright.py
diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index 8c76b3f134..1604c8bbde 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -2433,6 +2433,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2456,6 +2457,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2479,6 +2481,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2502,6 +2505,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2525,6 +2529,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2551,6 +2556,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2577,6 +2583,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2603,6 +2610,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2629,6 +2637,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2655,6 +2664,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2681,6 +2691,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2707,6 +2718,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2733,6 +2745,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2759,6 +2772,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2785,6 +2799,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2811,6 +2826,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2837,6 +2853,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2863,6 +2880,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2889,6 +2907,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2915,6 +2934,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2941,6 +2961,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2967,6 +2988,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -2993,6 +3015,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3019,6 +3042,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3045,6 +3069,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3071,6 +3096,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3097,6 +3123,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3123,6 +3150,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3149,6 +3177,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3174,6 +3203,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3197,6 +3227,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3220,6 +3251,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3245,6 +3277,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3268,6 +3301,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3291,6 +3325,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3314,6 +3349,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3337,6 +3373,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3360,6 +3397,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3383,6 +3421,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3406,6 +3445,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3429,6 +3469,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3452,6 +3493,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3477,6 +3519,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3500,6 +3543,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3523,6 +3567,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3548,6 +3593,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3571,6 +3617,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3594,6 +3641,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3617,6 +3665,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3640,6 +3689,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3665,6 +3715,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3688,6 +3739,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3711,6 +3763,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3734,6 +3787,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3757,6 +3811,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3780,6 +3835,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3803,6 +3859,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3826,6 +3883,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],
@@ -3849,6 +3907,7 @@
"windows"
],
"cpu_cost": 1.0,
+ "defaults": "boringssl",
"exclude_configs": [
"asan"
],