1*1b3f573fSAndroid Build Coastguard Worker#!/bin/bash 2*1b3f573fSAndroid Build Coastguard Worker# 3*1b3f573fSAndroid Build Coastguard Worker# Build file to set up and run tests 4*1b3f573fSAndroid Build Coastguard Workerset -ex 5*1b3f573fSAndroid Build Coastguard Worker 6*1b3f573fSAndroid Build Coastguard Worker# Install Bazel 4.0.0. 7*1b3f573fSAndroid Build Coastguard Workeruse_bazel.sh 4.0.0 8*1b3f573fSAndroid Build Coastguard Workerbazel version 9*1b3f573fSAndroid Build Coastguard Worker 10*1b3f573fSAndroid Build Coastguard Worker# Print bazel testlogs to stdout when tests failed. 11*1b3f573fSAndroid Build Coastguard Workerfunction print_test_logs { 12*1b3f573fSAndroid Build Coastguard Worker # TODO(yannic): Only print logs of failing tests. 13*1b3f573fSAndroid Build Coastguard Worker testlogs_dir=$(bazel info bazel-testlogs) 14*1b3f573fSAndroid Build Coastguard Worker testlogs=$(find "${testlogs_dir}" -name "*.log") 15*1b3f573fSAndroid Build Coastguard Worker for log in $testlogs; do 16*1b3f573fSAndroid Build Coastguard Worker cat "${log}" 17*1b3f573fSAndroid Build Coastguard Worker done 18*1b3f573fSAndroid Build Coastguard Worker} 19*1b3f573fSAndroid Build Coastguard Worker 20*1b3f573fSAndroid Build Coastguard Worker# Change to repo root 21*1b3f573fSAndroid Build Coastguard Workercd $(dirname $0)/../../.. 22*1b3f573fSAndroid Build Coastguard Worker 23*1b3f573fSAndroid Build Coastguard Workergit submodule update --init --recursive 24*1b3f573fSAndroid Build Coastguard Worker 25*1b3f573fSAndroid Build Coastguard Worker# Disabled for now, re-enable if appropriate. 26*1b3f573fSAndroid Build Coastguard Worker# //:build_files_updated_unittest \ 27*1b3f573fSAndroid Build Coastguard Worker 28*1b3f573fSAndroid Build Coastguard Workertrap print_test_logs EXIT 29*1b3f573fSAndroid Build Coastguard Workerbazel test -k --copt=-Werror --host_copt=-Werror \ 30*1b3f573fSAndroid Build Coastguard Worker //build_defs:all \ 31*1b3f573fSAndroid Build Coastguard Worker //java:tests \ 32*1b3f573fSAndroid Build Coastguard Worker //:protoc \ 33*1b3f573fSAndroid Build Coastguard Worker //:protobuf \ 34*1b3f573fSAndroid Build Coastguard Worker //:protobuf_python \ 35*1b3f573fSAndroid Build Coastguard Worker //:protobuf_test 36*1b3f573fSAndroid Build Coastguard Workertrap - EXIT 37*1b3f573fSAndroid Build Coastguard Worker 38*1b3f573fSAndroid Build Coastguard Workerpushd examples 39*1b3f573fSAndroid Build Coastguard Workerbazel build //... 40*1b3f573fSAndroid Build Coastguard Workerpopd 41*1b3f573fSAndroid Build Coastguard Worker 42*1b3f573fSAndroid Build Coastguard Worker# Verify that we can build successfully from generated tar files. 43*1b3f573fSAndroid Build Coastguard Worker./autogen.sh && ./configure && make -j$(nproc) dist 44*1b3f573fSAndroid Build Coastguard WorkerDIST=`ls *.tar.gz` 45*1b3f573fSAndroid Build Coastguard Workertar -xf $DIST 46*1b3f573fSAndroid Build Coastguard Workercd ${DIST//.tar.gz} 47*1b3f573fSAndroid Build Coastguard Workerbazel build //:protobuf //:protobuf_java 48