List Sanity tests in a config file, not a shell script

Allows parallelization of sanity tests, and better error reporting
pull/4785/head
Craig Tiller 9 years ago
parent 9c8ec0506d
commit 94d04a5620
  1. 3
      tools/distrib/check_copyright.py
  2. 39
      tools/run_tests/check_cache_mk.sh
  3. 9
      tools/run_tests/check_submodules.sh
  4. 8
      tools/run_tests/run_tests.py
  5. 9
      tools/run_tests/sanity_tests.yaml

@ -136,7 +136,10 @@ for filename in subprocess.check_output('git ls-tree -r --name-only -r HEAD',
else:
log(args.skips, 'skip', filename)
continue
try:
text = load(filename)
except:
continue
m = re.search(re_license, text)
if m:
gdict = m.groupdict()

@ -0,0 +1,39 @@
#!/bin/sh
# 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.
set -e
if [ -f cache.mk ] ; then
echo "Please don't commit cache.mk"
exit 1
fi

@ -52,12 +52,3 @@ diff -u $submodules $want_submodules
rm $submodules $want_submodules
if [ -f cache.mk ] ; then
echo "Please don't commit cache.mk"
exit 1
fi
./tools/buildgen/generate_projects.sh
./tools/distrib/check_copyright.py
./tools/distrib/clang_format_code.sh
./tools/distrib/check_trailing_newlines.sh

@ -96,7 +96,7 @@ class SimpleConfig(object):
return jobset.JobSpec(cmdline=cmdline,
shortname=shortname,
environ=actual_environ,
timeout_seconds=self.timeout_multiplier * timeout_seconds,
timeout_seconds=(self.timeout_multiplier * timeout_seconds if timeout_seconds else None),
hash_targets=hash_targets
if self.allow_hashing else None,
flake_retries=5 if args.allow_flakes else 0,
@ -441,8 +441,10 @@ class ObjCLanguage(object):
class Sanity(object):
def test_specs(self, config, args):
return [config.job_spec(['tools/run_tests/run_sanity.sh'], None, timeout_seconds=15*60),
config.job_spec(['tools/run_tests/check_sources_and_headers.py'], None)]
import yaml
with open('tools/run_tests/sanity_tests.yaml', 'r') as f:
return [config.job_spec([cmd], None, timeout_seconds=None, environ={'TEST': 'true'})
for cmd in yaml.load(f)]
def pre_build_steps(self):
return []

@ -0,0 +1,9 @@
# a set of tests that are run in parallel for sanity tests
- tools/run_tests/check_sources_and_headers.py
- tools/run_tests/check_submodules.sh
- tools/run_tests/check_cache_mk.sh
- tools/buildgen/generate_projects.sh
- tools/distrib/check_copyright.py
- tools/distrib/clang_format_code.sh
- tools/distrib/check_trailing_newlines.sh
Loading…
Cancel
Save