| #!/bin/bash |
| |
| # Copyright (C) 2019 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # Usage: |
| # build/build_test.sh |
| |
| export MAKE_ARGS=$@ |
| export ROOT_DIR=$(dirname $(readlink -f $0)) |
| export NET_TEST=${ROOT_DIR}/../kernel/tests/net/test |
| |
| # if device has its own build.config.net_test in the |
| # root (via manifest copy rule) then use it, otherwise |
| # use the default one in the build/ directory. if the |
| # BUILD_CONFIG is already specified in the environment, |
| # it overrides everything (unless it does not exist.) |
| if [ -z "$BUILD_CONFIG" ]; then |
| BUILD_CONFIG=build.config.net_test |
| fi |
| if [ ! -e $BUILD_CONFIG ]; then |
| BUILD_CONFIG=build/${BUILD_CONFIG} |
| fi |
| export BUILD_CONFIG |
| |
| test=all_tests.sh |
| set -e |
| source ${ROOT_DIR}/envsetup.sh |
| export OUT_DIR=$(readlink -m ${OUT_DIR:-${ROOT_DIR}/out/${BRANCH}}) |
| mkdir -p ${OUT_DIR} |
| |
| # build.config.net_test sets KERNEL_DIR to "private/*", which doesn't work for |
| # common kernels, where the code is in "common/". Check for that here. We could |
| # also require that each of these kernels have their own build.config.net_test, |
| # but that complicates the manifests. |
| if ! [ -f $KERNEL_DIR/Makefile ] && [ -f common/Makefile ]; then |
| KERNEL_DIR=common |
| fi |
| export KERNEL_DIR=$(readlink -m ${KERNEL_DIR}) |
| |
| echo "========================================================" |
| echo " Building kernel and running tests " |
| echo " Using KERNEL_DIR: " ${KERNEL_DIR} |
| echo " Using OUT_DIR : " ${OUT_DIR} |
| |
| cd ${OUT_DIR} |
| $NET_TEST/run_net_test.sh --builder $test |
| echo $? |
| echo "======Finished running tests======" |