blob: 3230f2d0a8fecb712257b37d4a0527e715fa74c1 [file] [log] [blame]
Dan Willemsen0df15172017-05-07 11:23:59 -07001#!/bin/bash -eu
2#
3# Copyright 2017 Google Inc. All rights reserved.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17#
18# This file is used in our continous build infrastructure to run a variety of
19# tests related to the build system.
20#
21# Currently, it's used to build and run multiproduct_kati, so it'll attempt
22# to build ninja files for every product in the tree. I expect this to
23# evolve as we find interesting things to test or track performance for.
24#
25
Anton Hansson785a31a2020-12-16 20:08:03 +000026# Products that are broken or otherwise don't work with multiproduct_kati
27SKIPPED_PRODUCTS=(
28 mainline_sdk
29)
30
Dan Willemsen0df15172017-05-07 11:23:59 -070031# To track how long we took to startup. %N isn't supported on Darwin, but
32# that's detected in the Go code, which skips calculating the startup time.
33export TRACE_BEGIN_SOONG=$(date +%s%N)
34
Dan Willemsen0abd4372018-10-15 22:06:54 -070035# Remove BUILD_NUMBER so that incremental builds on build servers don't
36# re-read makefiles every time.
37unset BUILD_NUMBER
38
Dan Willemsen0df15172017-05-07 11:23:59 -070039export TOP=$(cd $(dirname ${BASH_SOURCE[0]})/../..; PWD= /bin/pwd)
Jeff Gastone2128d32017-10-06 12:22:09 -070040cd "${TOP}"
Dan Willemsen91f9b542017-07-18 19:39:34 -070041source "${TOP}/build/soong/scripts/microfactory.bash"
Dan Willemsen0df15172017-05-07 11:23:59 -070042
Dan Willemsene7efcbe2017-06-20 23:27:45 -070043case $(uname) in
44 Linux)
45 export LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
Dan Willemsen89479fa2017-10-09 16:08:30 -070046 export SEGFAULT_USE_ALTSTACK=1
47 ulimit -a
Dan Willemsene7efcbe2017-06-20 23:27:45 -070048 ;;
49esac
50
Rupert Shuttleworth6284ceb2020-10-27 03:50:40 +000051echo
52echo "Running Bazel smoke test..."
Rupert Shuttleworth2e5bf402020-11-10 02:36:16 +000053"${TOP}/tools/bazel" --batch --max_idle_secs=1 info
Rupert Shuttleworth6284ceb2020-10-27 03:50:40 +000054
55echo
56echo "Running Soong test..."
Dan Willemsen91f9b542017-07-18 19:39:34 -070057soong_build_go multiproduct_kati android/soong/cmd/multiproduct_kati
Anton Hansson785a31a2020-12-16 20:08:03 +000058exec "$(getoutdir)/multiproduct_kati" --skip-products "$(echo "${SKIPPED_PRODUCTS[@]-}" | tr ' ' ',')" "$@"