| Index: cros_run_unit_tests
|
| diff --git a/cros_run_unit_tests b/cros_run_unit_tests
|
| deleted file mode 100755
|
| index 54a0297702195797a1db9d6581346593b5a0a0de..0000000000000000000000000000000000000000
|
| --- a/cros_run_unit_tests
|
| +++ /dev/null
|
| @@ -1,132 +0,0 @@
|
| -#!/bin/bash
|
| -
|
| -# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -# This script builds and runs Chromium OS unit tests. Note that this script
|
| -# utilizes the src_test stanza in chromeos-base packages. These stanzas
|
| -# should both build and run the unit tests.
|
| -
|
| -# This script requires that you run build_packages first.
|
| -
|
| -# --- BEGIN COMMON.SH BOILERPLATE ---
|
| -# Load common CrOS utilities. Inside the chroot this file is installed in
|
| -# /usr/lib/crosutils. Outside the chroot we find it relative to the script's
|
| -# location.
|
| -find_common_sh() {
|
| - local common_paths=(/usr/lib/crosutils $(dirname "$(readlink -f "$0")"))
|
| - local path
|
| -
|
| - SCRIPT_ROOT=
|
| - for path in "${common_paths[@]}"; do
|
| - if [ -r "${path}/common.sh" ]; then
|
| - SCRIPT_ROOT=${path}
|
| - break
|
| - fi
|
| - done
|
| -}
|
| -
|
| -find_common_sh
|
| -. "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1)
|
| -# --- END COMMON.SH BOILERPLATE ---
|
| -
|
| -get_default_board
|
| -
|
| -# Flags
|
| -DEFINE_string board "${DEFAULT_BOARD}" \
|
| - "Target board of which tests were built"
|
| -DEFINE_string build_root "${DEFAULT_BUILD_ROOT}" \
|
| - "Root of build output"
|
| -DEFINE_string package_file "" \
|
| - "File with space-separated list of packages to run unit tests" f
|
| -DEFINE_string packages "" \
|
| - "Optional space-separated list of packages to run unit tests" p
|
| -DEFINE_boolean withdebug "${FLAGS_TRUE}" \
|
| - "Build debug versions of Chromium-OS-specific packages."
|
| -
|
| -# Total count of packages with unit tests.
|
| -TEST_COUNT=0
|
| -# Number of unit test failures.
|
| -TEST_FAILURES=0
|
| -# List of packages with no unit tests.
|
| -NO_UNITTESTS=""
|
| -# List of packages that have unit test failures.
|
| -FAILED_PACKAGES=""
|
| -
|
| -function check_src_test() {
|
| - egrep '^src_test()' "${1}" > /dev/null
|
| -}
|
| -
|
| -function record_test_failure() {
|
| - TEST_FAILURES=$(( TEST_FAILURES + 1 ))
|
| - FAILED_PACKAGES="${FAILED_PACKAGES} ${1}"
|
| -}
|
| -
|
| -function run_unit_test() {
|
| - FEATURES="-buildpkg -digest noauto" \
|
| - ebuild-${FLAGS_board} "${1}" clean unpack prepare configure test
|
| -}
|
| -
|
| -# Parse command line and die if unexpected parameters given.
|
| -FLAGS_HELP="usage: ${0} [flags]"
|
| -FLAGS "${@}" || exit 1
|
| -eval set -- "${FLAGS_ARGV}"
|
| -check_flags_only_and_allow_null_arg "${@}" && set --
|
| -
|
| -set -e
|
| -
|
| -[ -z "${FLAGS_board}" ] && die "--board required"
|
| -
|
| -# Create package list from package file and list of packages.
|
| -if [ -n "${FLAGS_package_file}" ]; then
|
| - if [ -f "${FLAGS_package_file}" ]; then
|
| - PACKAGE_LIST="$(cat ${FLAGS_package_file})"
|
| - else
|
| - warn "Missing package file."
|
| - fi
|
| -fi
|
| -
|
| -[ -n "${FLAGS_packages}" ] && PACKAGE_LIST="${PACKAGE_LIST} ${FLAGS_packages}"
|
| -
|
| -# If we didn't specify packages, find all packages.
|
| -if [ -z "${FLAGS_package_file}" -a -z "${FLAGS_packages}" ]; then
|
| - PACKAGE_LIST=$( ./get_package_list chromeos --board="${FLAGS_board}" |
|
| - egrep '^chromeos-base' )
|
| -fi
|
| -
|
| -BLACK_LIST_FILE="${SCRIPTS_DIR}/unit_test_black_list.txt"
|
| -
|
| -if [ "${FLAGS_withdebug}" -eq "${FLAGS_FALSE}" ]; then
|
| - export USE="${USE} -cros-debug"
|
| -fi
|
| -
|
| -for package in ${PACKAGE_LIST}; do
|
| - if grep -xq "${package}" "${BLACK_LIST_FILE}"; then
|
| - warn "Skipping package ${package} since it is blacklisted."
|
| - continue
|
| - fi
|
| - EBUILD_PATH=$( equery-${FLAGS_board} which ${package} 2> /dev/null ) || \
|
| - warn "${package} not found"
|
| - if [ -n "${EBUILD_PATH}" ]; then
|
| - if check_src_test "${EBUILD_PATH}"; then
|
| - run_unit_test "${EBUILD_PATH}" || record_test_failure "${package}"
|
| - else
|
| - NO_UNITTESTS="${NO_UNITTESTS} ${package}"
|
| - fi
|
| - TEST_COUNT=$(( TEST_COUNT + 1 ))
|
| - fi
|
| -done
|
| -
|
| -if [ -n "${NO_UNITTESTS}" ]; then
|
| - warn "The following packages have no unit tests:"
|
| - warn "${NO_UNITTESTS}"
|
| -fi
|
| -
|
| -if [ ${TEST_FAILURES} -ne 0 ]; then
|
| - error "Run completed with ${TEST_FAILURES}/${TEST_COUNT} test failures."
|
| - error "Following packages had failing tests:"
|
| - die "${FAILED_PACKAGES}"
|
| -else
|
| - info "All unit tests passed."
|
| -fi
|
|
|