1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#!/bin/bash 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtotal=0 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgpass=0 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgecho "====== Testing optimization passes ======" 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgfor test in `find . -iname '*.opt_test'`; do 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org echo -n "Testing $test..." 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (cd `dirname "$test"`; ./`basename "$test"`) > "$test.out" 2>&1 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org total=$((total+1)) 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if $PYTHON2 $PYTHON_FLAGS ./compare_ir "$test.expected" "$test.out" >/dev/null 2>&1; then 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org echo "PASS" 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org pass=$((pass+1)) 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org else 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org echo "FAIL" 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org $PYTHON2 $PYTHON_FLAGS ./compare_ir "$test.expected" "$test.out" 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org fi 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgdone 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgecho "" 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgecho "$pass/$total tests returned correct results" 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgecho "" 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgif [[ $pass == $total ]]; then 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org exit 0 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgelse 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org exit 1 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgfi 29