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

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

Issue 588010: Support multiple chroots (Closed)
Patch Set: Created 10 years, 10 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/build_autotest.sh ('k') | no next file » | 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 # Script to run client or server tests on a live remote image. 7 # Script to run client or server tests on a live remote image.
8 8
9 # Load common constants. This should be the first executable line. 9 # Load common constants. This should be the first executable line.
10 # The path to common.sh should be relative to your script's location. 10 # The path to common.sh should be relative to your script's location.
11 11
12 . "$(dirname $0)/common.sh" 12 . "$(dirname $0)/common.sh"
13 . "$(dirname $0)/autotest_lib.sh" 13 . "$(dirname $0)/autotest_lib.sh"
14 . "$(dirname $0)/remote_access.sh" 14 . "$(dirname $0)/remote_access.sh"
15 15
16 DEFAULT_OUTPUT_FILE=test-output-$(date '+%Y%m%d.%H%M%S') 16 DEFAULT_OUTPUT_FILE=test-output-$(date '+%Y%m%d.%H%M%S')
17 17
18 DEFINE_boolean cleanup ${FLAGS_TRUE} "Clean up temp directory" 18 DEFINE_boolean cleanup ${FLAGS_TRUE} "Clean up temp directory"
19 DEFINE_integer iterations 1 "Iterations to run every top level test" i 19 DEFINE_integer iterations 1 "Iterations to run every top level test" i
20 DEFINE_string output_file "${DEFAULT_OUTPUT_FILE}" "Test run output" o 20 DEFINE_string output_file "${DEFAULT_OUTPUT_FILE}" "Test run output" o
21 DEFINE_boolean verbose ${FLAGS_FALSE} "Show verbose autoserv output" v 21 DEFINE_boolean verbose ${FLAGS_FALSE} "Show verbose autoserv output" v
22 DEFINE_boolean update_db ${FLAGS_FALSE} "Put results in autotest database" u 22 DEFINE_boolean update_db ${FLAGS_FALSE} "Put results in autotest database" u
23 DEFINE_string machine_desc "" "Machine description used in database" 23 DEFINE_string machine_desc "" "Machine description used in database"
24 DEFINE_string build_desc "" "Build description used in database" 24 DEFINE_string build_desc "" "Build description used in database"
25 DEFINE_string chroot_dir "${DEFAULT_CHROOT_DIR}" "alternate chroot location" c 25 DEFINE_string chroot "${DEFAULT_CHROOT_DIR}" "alternate chroot location" c
26 DEFINE_string results_dir_root "" "alternate root results directory" 26 DEFINE_string results_dir_root "" "alternate root results directory"
27 27
28 function cleanup() { 28 function cleanup() {
29 if [[ $FLAGS_cleanup -eq ${FLAGS_TRUE} ]]; then 29 if [[ $FLAGS_cleanup -eq ${FLAGS_TRUE} ]]; then
30 rm -rf "${TMP}" 30 rm -rf "${TMP}"
31 else 31 else
32 echo "Left temporary files at ${TMP}" 32 echo "Left temporary files at ${TMP}"
33 fi 33 fi
34 cleanup_remote_access 34 cleanup_remote_access
35 } 35 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 97
98 local parse_cmd="$(dirname $0)/../third_party/autotest/files/tko/parse.py" 98 local parse_cmd="$(dirname $0)/../third_party/autotest/files/tko/parse.py"
99 99
100 if [[ ${FLAGS_update_db} -eq ${FLAGS_TRUE} && ! -x "${parse_cmd}" ]]; then 100 if [[ ${FLAGS_update_db} -eq ${FLAGS_TRUE} && ! -x "${parse_cmd}" ]]; then
101 echo "Cannot find parser ${parse_cmd}" 101 echo "Cannot find parser ${parse_cmd}"
102 exit 1 102 exit 1
103 fi 103 fi
104 104
105 set -e 105 set -e
106 106
107 local autotest_dir="${DEFAULT_CHROOT_DIR}/usr/local/autotest"
108
109 # Set global TMP for remote_access.sh's sake 107 # Set global TMP for remote_access.sh's sake
110 TMP=$(mktemp -d /tmp/run_remote_tests.XXXX) 108 TMP=$(mktemp -d /tmp/run_remote_tests.XXXX)
111 109
112 rm -f "${FLAGS_output_file}" 110 rm -f "${FLAGS_output_file}"
113 111
114 trap cleanup EXIT 112 trap cleanup EXIT
115 113
116 # Always copy into installed autotest directory. This way if a user 114 # Always copy into installed autotest directory. This way if a user
117 # is just modifying scripts, they take effect without having to wait 115 # is just modifying scripts, they take effect without having to wait
118 # for the laborious build_autotest.sh command. 116 # for the laborious build_autotest.sh command.
119 local original="${GCLIENT_ROOT}/src/third_party/autotest/files" 117 local original="${GCLIENT_ROOT}/src/third_party/autotest/files"
120 update_chroot_autotest "${original}" 118 local autotest_dir="${FLAGS_chroot}/usr/local/autotest"
119 update_chroot_autotest "${original}" "${autotest_dir}"
121 120
122 local autoserv="${autotest_dir}/server/autoserv" 121 local autoserv="${autotest_dir}/server/autoserv"
123 122
124 local control_files_to_run="" 123 local control_files_to_run=""
125 124
126 # Now search for tests which unambiguously include the given identifier 125 # Now search for tests which unambiguously include the given identifier
127 local search_path=$(echo ${autotest_dir}/{client,server}/{tests,site_tests}) 126 local search_path=$(echo ${autotest_dir}/{client,server}/{tests,site_tests})
128 for test_request in $FLAGS_ARGV; do 127 for test_request in $FLAGS_ARGV; do
129 test_request=$(remove_quotes "${test_request}") 128 test_request=$(remove_quotes "${test_request}")
130 ! finds=$(find ${search_path} -type f -name control | \ 129 ! finds=$(find ${search_path} -type f -name control | \
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 echo "Parse failed." | tee -a "${FLAGS_output_file}" 212 echo "Parse failed." | tee -a "${FLAGS_output_file}"
214 FLAGS_cleanup=${FLAGS_FALSE} 213 FLAGS_cleanup=${FLAGS_FALSE}
215 fi 214 fi
216 fi 215 fi
217 done 216 done
218 217
219 echo "Output stored to ${FLAGS_output_file}" 218 echo "Output stored to ${FLAGS_output_file}"
220 } 219 }
221 220
222 main $@ 221 main $@
OLDNEW
« no previous file with comments | « src/scripts/build_autotest.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698