aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorGravatar Michael Lumish <mlumish@google.com>2016-01-06 15:56:27 -0800
committerGravatar Michael Lumish <mlumish@google.com>2016-01-06 15:56:27 -0800
commitfc5281f66d9bd134d893e23bb45757677b1096c2 (patch)
treef681fe17d101c331835cf9582c7537db51fca882 /tools
parent0850640213266afc64c1f6f7e10728037129f117 (diff)
parentb361b4edfb76cef386be8039610342c702d9a97a (diff)
Merge pull request #4632 from ctiller/dep_head
Fix building submodules at head
Diffstat (limited to 'tools')
-rwxr-xr-xtools/jenkins/run_jenkins.sh14
-rwxr-xr-xtools/run_tests/run_tests.py44
2 files changed, 36 insertions, 22 deletions
diff --git a/tools/jenkins/run_jenkins.sh b/tools/jenkins/run_jenkins.sh
index 4bb6c39a1c..9b6ba71948 100755
--- a/tools/jenkins/run_jenkins.sh
+++ b/tools/jenkins/run_jenkins.sh
@@ -54,7 +54,7 @@ if [ "$platform" == "linux" ]
then
echo "building $language on Linux"
- ./tools/run_tests/run_tests.py --use_docker -t -l $language -c $config -x report.xml $@ || true
+ ./tools/run_tests/run_tests.py --use_docker -t -l $language -c $config -x report.xml $@ || TESTS_FAILED="true"
elif [ "$platform" == "windows" ]
then
@@ -63,19 +63,19 @@ then
# Prevent msbuild from picking up "platform" env variable, which would break the build
unset platform
- python tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml $@ || true
+ python tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml $@ || TESTS_FAILED="true"
elif [ "$platform" == "macos" ]
then
echo "building $language on MacOS"
- ./tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml $@ || true
+ ./tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml $@ || TESTS_FAILED="true"
elif [ "$platform" == "freebsd" ]
then
echo "building $language on FreeBSD"
- MAKE=gmake ./tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml $@ || true
+ MAKE=gmake ./tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml $@ || TESTS_FAILED="true"
else
echo "Unknown platform $platform"
@@ -87,3 +87,9 @@ then
mkdir -p reports
echo 'No reports generated.' > reports/index.html
fi
+
+if [ "$TESTS_FAILED" != "" ]
+then
+ exit 1
+fi
+
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index a7c15d3d2d..857e7b5f5d 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -53,6 +53,7 @@ import jobset
import report_utils
import watch_dirs
+
ROOT = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../..'))
os.chdir(ROOT)
@@ -685,23 +686,30 @@ if args.use_docker:
sys.exit(0)
# update submodules if necessary
-if args.update_submodules:
- for spec in args.update_submodules:
- spec = spec.split(':', 1)
- if len(spec) == 1:
- submodule = spec[0]
- branch = 'master'
- elif len(spec) == 2:
- submodule = spec[0]
- branch = spec[1]
- cwd = 'third_party/%s' % submodule
- def git(cmd, cwd=cwd):
- print 'in %s: git %s' % (cwd, cmd)
- subprocess.check_call('git %s' % cmd, cwd=cwd, shell=True)
- git('fetch')
- git('checkout %s' % branch)
- git('pull origin %s' % branch)
- subprocess.check_call('tools/buildgen/generate_projects.sh', shell=True)
+need_to_regenerate_projects = False
+for spec in args.update_submodules:
+ spec = spec.split(':', 1)
+ if len(spec) == 1:
+ submodule = spec[0]
+ branch = 'master'
+ elif len(spec) == 2:
+ submodule = spec[0]
+ branch = spec[1]
+ cwd = 'third_party/%s' % submodule
+ def git(cmd, cwd=cwd):
+ print 'in %s: git %s' % (cwd, cmd)
+ subprocess.check_call('git %s' % cmd, cwd=cwd, shell=True)
+ git('fetch')
+ git('checkout %s' % branch)
+ git('pull origin %s' % branch)
+ if os.path.exists('src/%s/gen_build_yaml.py' % submodule):
+ need_to_regenerate_projects = True
+if need_to_regenerate_projects:
+ if jobset.platform_string() == 'linux':
+ subprocess.check_call('tools/buildgen/generate_projects.sh', shell=True)
+ else:
+ print 'WARNING: may need to regenerate projects, but since we are not on'
+ print ' Linux this step is being skipped. Compilation MAY fail.'
# grab config
@@ -962,7 +970,7 @@ def _build_and_run(
newline_on_success=newline_on_success, travis=args.travis)
if num_failures:
return 1
-
+
if build_only:
return 0