Deprecate cros_run_unit_tests.
This bash script has been rewritten in python in chromite.
BUG=chromium:486263
TEST=trybots.
Change-Id: Ibc0e78fdb81a164e8c740730117020275b300d96
Reviewed-on: https://chromium-review.googlesource.com/272953
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
diff --git a/cros_run_unit_tests b/cros_run_unit_tests
index ccdd823..4a0e4c7 100755
--- a/cros_run_unit_tests
+++ b/cros_run_unit_tests
@@ -4,136 +4,8 @@
# 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.
+# TODO(bsimonnet): Remove after July 2015.
+echo "This script is deprecated. Please use cros_run_unit_tests from "
+echo "chromite/bin."
-# This script requires that you run build_packages first.
-
-# Special because this can only run inside the chroot.
-. "/usr/lib/crosutils/common.sh" 2> /dev/null ||
- (echo "Must run within chroot" && false) ||
- exit 1
-
-# 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_boolean fast "${DEFAULT_FAST}" \
- "Call many emerges in parallel."
-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_string blacklist_packages "" \
- "List of packages to blacklist from unit tests"
-DEFINE_boolean withdebug "${FLAGS_TRUE}" \
- "Build debug versions of Chromium-OS-specific packages."
-DEFINE_boolean pretend "${FLAGS_FALSE}" \
- "Only show the packages we would test; don't actually test"
-DEFINE_boolean installed "${FLAGS_TRUE}" \
- "Only test packages that are already installed"
-
-# List of packages with no unit tests.
-NO_UNITTESTS=""
-
-check_src_test() {
- egrep '^(src_test|platform_pkg_test)()' "${1}" > /dev/null
-}
-
-# 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"
-
-EMERGE_CMD="emerge"
-EMERGE_BOARD_CMD="emerge-${FLAGS_board}"
-if [[ "${FLAGS_fast}" -eq "${FLAGS_TRUE}" ]]; then
- EMERGE_CMD="${GCLIENT_ROOT}/chromite/bin/parallel_emerge"
- EMERGE_BOARD_CMD="${EMERGE_CMD} --board=${FLAGS_board}"
-fi
-
-# 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=$(cros_workon --board "${FLAGS_board}" list --all)
-
- if [[ ${FLAGS_installed} -eq ${FLAGS_TRUE} ]]; then
- PACKAGE_LIST=$(qlist-${FLAGS_board} -ICe ${PACKAGE_LIST})
- fi
-fi
-
-BLACK_LIST_FILE="/usr/share/crostestutils/unit_test_black_list.txt"
-BLACK_LIST_PACKAGES="${FLAGS_blacklist_packages}"
-
-if [ "${FLAGS_withdebug}" -eq "${FLAGS_FALSE}" ]; then
- export USE="${USE} -cros-debug"
-fi
-
-ALL_PACKAGE_LIST=$(
- jobs=0
- for package in ${PACKAGE_LIST}; do
- (
- if grep -xq "${package}" "${BLACK_LIST_FILE}" || \
- [[ " ${BLACK_LIST_PACKAGES} " =~ " ${package} " ]]; 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
- echo "y:${package}"
- else
- echo "n:${package}"
- fi
- fi
- ) &
- if [[ ${jobs} -ge ${NUM_JOBS} ]]; then
- jobs=0
- wait
- else
- : $(( jobs += 1 ))
- fi
- done | sort
- wait
-)
-TEST_PACKAGE_LIST=$(echo "${ALL_PACKAGE_LIST}" | sed -n '/^y:/s:^..::p')
-NO_UNITTESTS=$(echo "${ALL_PACKAGE_LIST}" | sed -n '/^n:/s:^..::p')
-
-if [ -n "${NO_UNITTESTS}" ]; then
- warn "The following packages have no unit tests:"
- warn "${NO_UNITTESTS}"
-fi
-
-if [ -n "${TEST_PACKAGE_LIST}" ]; then
- if [[ ${FLAGS_pretend} -eq ${FLAGS_TRUE} ]]; then
- printf '%s\n' ${TEST_PACKAGE_LIST} | sort
- exit 0
- else
- cmd=( sudo -E PKGDIR="/build/${FLAGS_board}/test-packages"
- FEATURES="test" ${EMERGE_BOARD_CMD} --nodeps --buildpkgonly )
- info "Running unit tests with command ${cmd[*]}"
- info "Unit tests will run for the following packages:"
- info ${TEST_PACKAGE_LIST}
- "${cmd[@]}" ${TEST_PACKAGE_LIST}
- fi
-fi
-
-info "All unit tests passed."
+exit 1