blob: 382f0362a5f2ed5d1158382b0fd6904cd92a62d9 [file] [log] [blame]
#!/bin/bash -u
#
# Copyright 2015 Google Inc. All Rights Reserved.
#
# This script calls build_image to generate a new ChromeOS image,
# using whatever packages are currently in the build tree. If
# build_images succeeeds, then it pushes the new ChromeOS image onto a
# chromebook, then pings the chromebook to determine if it
# successfully booted.
#
# This script is intended to be used by binary_search_state.py, as
# part of the binary search triage on ChromeOS packages. It should
# return '0' if the test succeeds (the image booted); '1' if the test
# fails (the image did not boot); and '2' if it could not determine
# (i.e. in this case, the image did not build).
#
source cros_pkg_common.sh
pushd ~/trunk/src/scripts
./build_image test --board=${BOARD} --noenable_rootfs_verification
build_status=$?
popd
if [[ ${build_status} -eq 0 ]] ; then
echo "Pushing built image onto device."
echo "cros flash --board=${BOARD} --clobber-stateful ${REMOTE} ~/trunk/src/build/images/${BOARD}/latest/chromiumos_test_image.bin"
cros flash --board=${BOARD} --clobber-stateful ${REMOTE} ../build/images/${BOARD}/latest/chromiumos_test_image.bin
cros_flash_status=$?
if [[ ${cros_flash_status} -ne 0 ]] ; then
echo "cros flash failed!!"
exit 2
fi
else
echo "build_image returned a non-zero status: ${build_status}"
exit 2
fi
# Send 3 pings and wait 3 seconds for any responsed (then timeout).
ping -c 3 -W 3 ${REMOTE}
retval=$?
exit $retval