| #!/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 |