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

Unified Diff: autotest_run.sh

Issue 2854062: autotest: create a candidate script for replacement ebuild test (running the tests) (Closed) Base URL: ssh://gitrw.chromium.org/crosutils
Patch Set: Also took care of whitespace warnings :/ Created 10 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | autotest_workon » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: autotest_run.sh
diff --git a/autotest_run.sh b/autotest_run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..5aa7556024b4f9002eb6fcde97c948557f1861af
--- /dev/null
+++ b/autotest_run.sh
@@ -0,0 +1,86 @@
+#!/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 is intended as a wrapper to execute autotest tests for a given
+# board.
+
+# Load common constants. This should be the first executable line.
+# The path to common.sh should be relative to your script's location.
+. "$(dirname "$0")/common.sh"
+
+# Script must be run inside the chroot
+restart_in_chroot_if_needed $*
+get_default_board
+
+DEFINE_string board "${DEFAULT_BOARD}" \
+ "The board to run tests for."
+
+FLAGS_HELP="usage: $0 <flags>"
+FLAGS "$@" || exit 1
+eval set -- "${FLAGS_ARGV}"
+
+# Define a directory which will not be cleaned by portage automatically. So we
+# could achieve incremental build between two autoserv runs.
+BUILD_RUNTIME="/build/${FLAGS_board}/usr/local/autotest/"
+
+# Hack: set the CHROMEOS_ROOT variable by hand here
+CHROMEOS_ROOT=/home/${USER}/trunk/
+
+# Ensure the configures run by autotest pick up the right config.site
+CONFIG_SITE=/usr/share/config.site
+AUTOTEST_SRC="${CHROMEOS_ROOT}/src/third_party/autotest/files"
+
+[ -z "${FLAGS_board}" ] && \
+ die "You must specify --board="
+
+function setup_ssh() {
+ eval $(ssh-agent) > /dev/null
+ ssh-add \
+ ${CHROMEOS_ROOT}/src/scripts/mod_for_test_scripts/ssh_keys/testing_rsa
+}
+
+function teardown_ssh() {
+ ssh-agent -k > /dev/null
+}
+
+function copy_src() {
+ local dst=$1
+ mkdir -p "${dst}"
+ cp -fpru "${AUTOTEST_SRC}"/{client,conmux,server,tko,utils} "${dst}" || die
+ cp -fpru "${AUTOTEST_SRC}/shadow_config.ini" "${dst}" || die
+}
+
+src_test() {
+ # claim ownership of the staging area
+ sudo chown -R ${USER} "${BUILD_RUNTIME}"
+ sudo chmod -R 755 "${BUILD_RUNTIME}"
+
+ local third_party="${CHROMEOS_ROOT}/src/third_party"
+ copy_src "${BUILD_RUNTIME}"
+ cp -fpru "${AUTOTEST_SRC}/global_config.ini" "${BUILD_RUNTIME}"
+
+ # ensure that no tests are ever built
+ sed -e 's/enable_server_prebuild: .*/enable_server_prebuild: False/' -i \
+ "${BUILD_RUNTIME}"/global_config.ini
+
+ setup_ssh
+ cd "${BUILD_RUNTIME}"
+
+ local args=()
+ if [[ -n ${AUTOSERV_TEST_ARGS} ]]; then
+ args=("-a" "${AUTOSERV_TEST_ARGS}")
+ fi
+
+ local timestamp=$(date +%Y-%m-%d-%H.%M.%S)
+
+ # Do not use sudo, it'll unset all your environment
+ LOGNAME=${USER} ./server/autoserv -r /tmp/results.${timestamp} \
+ ${AUTOSERV_ARGS} "${args[@]}"
+
+ teardown_ssh
+}
+
+src_test
« no previous file with comments | « no previous file | autotest_workon » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698