diff options
author | Michael Lumish <mlumish@google.com> | 2016-01-06 15:56:27 -0800 |
---|---|---|
committer | Michael Lumish <mlumish@google.com> | 2016-01-06 15:56:27 -0800 |
commit | fc5281f66d9bd134d893e23bb45757677b1096c2 (patch) | |
tree | f681fe17d101c331835cf9582c7537db51fca882 /tools | |
parent | 0850640213266afc64c1f6f7e10728037129f117 (diff) | |
parent | b361b4edfb76cef386be8039610342c702d9a97a (diff) |
Merge pull request #4632 from ctiller/dep_head
Fix building submodules at head
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/jenkins/run_jenkins.sh | 14 | ||||
-rwxr-xr-x | tools/run_tests/run_tests.py | 44 |
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 |