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

Unified Diff: sync_build_test.sh

Issue 3109023: autotest: Fix grab-buildbot in sync_build_test by gsdizing it (Closed) Base URL: ssh://git@chromiumos-git//crosutils.git
Patch Set: checkpoint Created 10 years, 3 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync_build_test.sh
diff --git a/sync_build_test.sh b/sync_build_test.sh
index 9473205e67b926c8c2dae4a7c070545aab16a411..7454dbac8f7971eea7c1f0dd577fb401b80d7a34 100755
--- a/sync_build_test.sh
+++ b/sync_build_test.sh
@@ -62,6 +62,8 @@ DEFINE_boolean force_make_chroot ${FLAGS_FALSE} "Run make_chroot indep of sync"
DEFINE_string grab_buildbot "" \
"Instead of building, grab this full image.zip URI generated by the \
buildbot"
+DEFINE_boolean ignore_remote_test_failures ${FLAGS_FALSE} \
+ "Ignore any remote tests that failed and don't return failure"
DEFINE_boolean image_to_live ${FLAGS_FALSE} \
"Put the resulting image on live instance (requires --remote)"
DEFINE_string image_to_usb "" \
@@ -183,6 +185,7 @@ function validate_and_set_param_defaults() {
fi
FLAGS_sync=${FLAGS_FALSE}
FLAGS_build=${FLAGS_FALSE}
+ FLAGS_unittest=${FLAGS_FALSE}
FLAGS_master=${FLAGS_FALSE}
fi
@@ -450,8 +453,13 @@ EOF
# Downloads a buildbot image
function grab_buildbot() {
+ read -p "Username [${LOGNAME}]: " GSDCURL_USERNAME
+ export GSDCURL_USERNAME
+ read -s -p "Password: " GSDCURL_PASSWORD
+ export GSDCURL_PASSWORD
+ CURL="$(dirname $0)/bin/cros_gsdcurl.py"
if [[ "${FLAGS_grab_buildbot}" == "LATEST" ]]; then
- local latest=$(curl "${FLAGS_buildbot_uri}/LATEST")
+ local latest=$(${CURL} "${FLAGS_buildbot_uri}/LATEST")
if [[ -z "${latest}" ]]; then
echo "Error finding latest."
exit 1
@@ -459,9 +467,14 @@ function grab_buildbot() {
FLAGS_grab_buildbot="${FLAGS_buildbot_uri}/${latest}/image.zip"
fi
local dl_dir=$(mktemp -d "/tmp/image.XXXX")
+
echo "Grabbing image from ${FLAGS_grab_buildbot} to ${dl_dir}"
- run_phase "Downloading image" curl "${FLAGS_grab_buildbot}" \
- -o "${dl_dir}/image.zip"
+ run_phase "Downloading image" ${CURL} "${FLAGS_grab_buildbot}" \
+ -o "${dl_dir}/image.zip"
+ # Clear out the credentials so they can't be used later.
petkov 2010/09/24 21:35:37 You should probably do this in the failure() funct
+ export GSDCURL_USERNAME=""
+ export GSDCURL_PASSWORD=""
+
cd "${dl_dir}"
unzip image.zip
local image_basename=$(basename $(dirname "${FLAGS_grab_buildbot}"))
@@ -474,6 +487,16 @@ function grab_buildbot() {
run_phase "Installing buildbot test modified image" \
mv chromiumos_test_image.bin "${image_dir}/chromiumos_image.bin"
FLAGS_mod_image_for_test=${FLAGS_FALSE}
+ else
+ run_phase "Installing buildbot base image" \
+ mv chromiumos_base_image.bin "${image_dir}/chromiumos_image.bin"
+ fi
+
+ if [[ -n "${FLAGS_test}" ]]; then
+ if [[ ! -d "${FLAGS_top}/chroot/build/${FLAGS_board}" ]]; then
+ echo "To run tests on a buildbot image, run setup_board first."
petkov 2010/09/24 21:35:37 die?
+ exit 1
+ fi
if [[ -e "autotest.tgz" || -e "autotest.tar.bz2" ]]; then
# pull in autotest
local dir="${FLAGS_chroot}/build/${FLAGS_board}/usr/local"
@@ -491,8 +514,6 @@ function grab_buildbot() {
run_phase "Installing buildbot autotest cross-compiled binaries" \
sudo mv autotest ${dir}
fi
- else
- mv chromiumos_image.bin "${image_dir}"
fi
chdir_relative .
run_phase "Removing downloaded image" rm -rf "${dl_dir}"
@@ -569,16 +590,6 @@ function main() {
local build_autotest_param=""
if [[ ${FLAGS_build_autotest} -eq ${FLAGS_TRUE} ]]; then
build_autotest_param="--withautotest"
- if [[ ${FLAGS_useworkon} -eq ${FLAGS_TRUE} ]]; then
- # In workon flow, you must workon packages to run tests
- run_phase_in_chroot "Setting workon for autotest" \
- ./cros_workon --board=${FLAGS_board} start autotest \
- autotest-tests autotest-deps
- # In minilayout you may not yet have autotest.
- if [[ ! -d "${FLAGS_top}/src/third_party/autotest/files" ]]; then
- run_phase "Syncing autotest repo" repo sync autotest
- fi
- fi
fi
run_phase_in_chroot "Building packages" \
@@ -595,6 +606,7 @@ function main() {
if [[ ${FLAGS_unittest} -eq ${FLAGS_TRUE} ]] && [[ "${FLAGS_board}" == \
"x86-generic" ]] ; then
+ chdir_relative src/scripts
run_phase_in_chroot "Running unit tests" ./cros_run_unit_tests \
${board_param}
fi
@@ -633,9 +645,14 @@ function main() {
chdir_relative src/scripts
# We purposefully do not quote FLAGS_test below as we expect it may
# have multiple parameters
- run_phase "Running tests on Chromium OS machine ${FLAGS_remote}" \
+ if ! run_phase "Running tests on Chromium OS machine ${FLAGS_remote}" \
./run_remote_tests.sh "--remote=${FLAGS_remote}" ${FLAGS_test} \
- "${board_param}"
+ "${board_param}"; then
+ if [[ ${FLAGS_ignore_remote_test_failures} -eq ${FLAGS_FALSE} ]]; then
+ echo "Remote tests failed and --ignore_remote_test_failures not passed"
+ false
+ fi
+ fi
fi
trap - EXIT
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698