Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/scripts/build_autotest.sh

Issue 1603004: remove build_autotest.sh and change run_remote_tests.sh to use new autotest script. (Closed)
Patch Set: patch Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/scripts/autotest ('k') | src/scripts/run_remote_tests.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 2
3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 # This script makes autotest client tests inside a chroot environment. The idea 7 # This script makes autotest client tests inside a chroot environment. The idea
8 # is to compile any platform-dependent autotest client tests in the build 8 # is to compile any platform-dependent autotest client tests in the build
9 # environment, since client systems under test lack the proper toolchain. 9 # environment, since client systems under test lack the proper toolchain.
10 # 10 #
11 # The user can later run autotest against an ssh enabled test client system, or 11 # The user can later run autotest against an ssh enabled test client system, or
12 # install the compiled client tests directly onto the rootfs image. 12 # install the compiled client tests directly onto the rootfs image.
13 13
14 # Includes common already 14 # Includes common already
15 . "$(dirname $0)/autotest_lib.sh" 15 ./autotest --build=all $@
16 16
17 # Script must be run inside the chroot
18 assert_inside_chroot
19
20 DEFAULT_TESTS_LIST="all"
21
22 DEFINE_string build "${DEFAULT_TESTS_LIST}" \
23 "a comma seperated list of autotest client tests to be prebuilt." b
24 DEFINE_boolean prompt $FLAGS_TRUE "Prompt user when building all tests."
25 DEFINE_boolean autox $FLAGS_TRUE "Build autox along with autotest"
26 DEFINE_boolean buildcheck $FLAGS_TRUE "Fail if tests fail to build"
27 DEFINE_integer jobs -1 "How many packages to build in parallel at maximum."
28
29 # More useful help
30 FLAGS_HELP="usage: $0 [flags]"
31
32 # parse the command-line
33 FLAGS "$@" || exit 1
34 eval set -- "${FLAGS_ARGV}"
35 set -e
36
37 check_board
38
39 if [[ "${FLAGS_jobs}" -ne -1 ]]; then
40 EMERGE_JOBS="--jobs=${FLAGS_jobs}"
41 fi
42
43 # build default pre-compile client tests list.
44 ALL_TESTS="compilebench,dbench,disktest,ltp,netperf2,unixbench"
45 CLIENT_TEST_PATH="../third_party/autotest/files/client/site_tests"
46 for SITE_TEST in ${CLIENT_TEST_PATH}/*
47 do
48 if [ -d ${SITE_TEST} ]
49 then
50 ALL_TESTS="${ALL_TESTS},${SITE_TEST##${CLIENT_TEST_PATH}/}"
51 fi
52 done
53
54 # Load the overlay specific blacklist and remove any matching tests.
55 BOARD_BASENAME=$(echo "${FLAGS_board}" |cut -d '_' -f 1)
56 PRIMARY_BOARD_OVERLAY="${SRC_ROOT}/overlays/overlay-${BOARD_BASENAME}"
57 BLACKLIST_FILE="${PRIMARY_BOARD_OVERLAY}/autotest-blacklist"
58 if [ -r "${BLACKLIST_FILE}" ]
59 then
60 BLACKLISTED_TESTS=$(cat ${BLACKLIST_FILE})
61
62 for TEST in ${BLACKLISTED_TESTS}
63 do
64 ALL_TESTS=${ALL_TESTS/#${TEST},/} # match first test (test,...)
65 ALL_TESTS=${ALL_TESTS/,${TEST},/,} # match middle tests (...,test,...)
66 ALL_TESTS=${ALL_TESTS/%,${TEST}/} # match last test (...,test)
67 done
68 fi
69
70 if [ ${FLAGS_build} == ${DEFAULT_TESTS_LIST} ]
71 then
72 if [ ${FLAGS_prompt} -eq ${FLAGS_TRUE} ]
73 then
74 echo -n "You want to pre-build all client tests and it may take a long time"
75 echo " to finish. "
76 read -p "Are you sure you want to continue?(N/y)" answer
77 answer=${answer:0:1}
78 if [ "${answer}" != "Y" ] && [ "${answer}" != "y" ]
79 then
80 echo "Use --build to specify tests you like to pre-compile."
81 echo -n "E.g.: ./enter_chroot.sh \"./build_autotest.sh "
82 echo "--build=system_SAT\""
83 exit 0
84 fi
85 fi
86 TEST_LIST=${ALL_TESTS}
87 else
88 TEST_LIST=${FLAGS_build}
89 fi
90
91 # Decide on USE flags based on options
92 USE=
93 [ $FLAGS_autox -eq "$FLAGS_FALSE" ] && USE="${USE} -autox"
94 [ $FLAGS_buildcheck -eq "$FLAGS_TRUE" ] && USE="${USE} buildcheck"
95
96 GCLIENT_ROOT="${GCLIENT_ROOT}" TEST_LIST=${TEST_LIST} \
97 FEATURES="${FEATURES} -buildpkg -collision-protect" \
98 USE="$USE" "emerge-${FLAGS_board}" \
99 chromeos-base/autotest ${EMERGE_JOBS} \
100 || die "build_autotest failed."
OLDNEW
« no previous file with comments | « src/scripts/autotest ('k') | src/scripts/run_remote_tests.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698