| #!/bin/bash -u |
| |
| # This is an example execution script. |
| # This script changes with the problem you are trying to fix. |
| # This particular script was used to triage a problem where a glibc |
| # compiled with a new compiler would expose a problem in piglit. |
| # Note it returns 0 only when the installation of the image succeeded |
| # (ie: the machine booted after installation) |
| |
| source common/common.sh |
| |
| #export BISECT_STAGE=TRIAGE |
| echo "BISECT_STAGE=${BISECT_STAGE}" |
| |
| echo "State of sets" |
| wc -l ${bisect_dir}/*_SET |
| |
| board=x86-alex |
| DUT=172.17.186.180 |
| |
| echo "Cleaning up" |
| { sudo emerge -C cross-i686-pc-linux-gnu/glibc || exit 125; } &>> /tmp/glibc_triage.log |
| |
| echo "Building" |
| { sudo -E emerge cross-i686-pc-linux-gnu/glibc || exit 125; } &>> /tmp/glibc_triage.log |
| |
| echo "Building image" |
| { /home/llozano/trunk/src/scripts/build_image --board=${board} test || exit 125; } &>> /tmp/glibc_triage.log |
| |
| echo "Installing image" |
| cros flash ${DUT} latest &> /tmp/tmp_cros_flash_result.log |
| |
| cat /tmp/tmp_cros_flash_result.log >> /tmp/cros_flash_result.log |
| |
| grep "Cros Flash completed successfully" /tmp/tmp_cros_flash_result.log || exit 125 |
| |
| echo "Trying piglit" |
| |
| echo "export DISPLAY=:0.0; echo \$DISPLAY; /usr/local/piglit/lib/piglit/bin/glx-close-display -auto" > /tmp/repro.sh |
| SSH_OPTS="-oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no -oServerAliveInterval=10 -i /var/cache/chromeos-cache/distfiles/target/./chrome-src/src/third_party/chromite/ssh_keys/testing_rsa" |
| scp ${SSH_OPTS} /tmp/repro.sh root@${DUT}:/tmp |
| |
| # notice the bash -l here. Otherwise the DISPLAY cannot be set |
| ( ssh ${SSH_OPTS} root@${DUT} -- /bin/bash -l /tmp/repro.sh ) > /tmp/result |
| grep pass /tmp/result || { echo "PIGLIT FAILED"; exit 1; } |
| |
| echo "PIGLIT PASSED" |
| |
| exit 0 |