diff options
Diffstat (limited to 'test-checkout.sh')
-rwxr-xr-x | test-checkout.sh | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/test-checkout.sh b/test-checkout.sh index fb6876e..7ac901b 100755 --- a/test-checkout.sh +++ b/test-checkout.sh @@ -358,6 +358,22 @@ do_test() fi } +scan_for_skip_tag() +{ + local start=$1 + local end=$2 + local regexp=$3 + local i + + for i in $(git -C "$ABE_PATH" rev-list "$start..$end"); do + if git -C "$ABE_PATH" show --format=%B --no-patch "$i" | grep -q "$regexp"; then + echo true + return + fi + done + echo false +} + NUM_FAIL=0 NUM_PASS=0 NUM_TESTS=0 @@ -383,16 +399,8 @@ mkdir -p "$PREV_TEST_SNAPSHOTS" # do tests for comparison of manifests with previous version. for configs in gcc4_9 gcc5 gcc6 gcc7; do CONFDIR=$ABE_PATH/config/$configs - if git -C "$ABE_PATH" show --format=%B --no-patch | grep -q "^\[ABE_PREV_MANIFEST_\(${configs^^}\|ALL\)\]"; then - SKIP_PREV_MANI=true - else - SKIP_PREV_MANI=false - fi - if git -C "$ABE_PATH" show --format=%B --no-patch | grep -q "^\[ABE_PREV_CMD_\(${configs^^}\|ALL\)\]"; then - SKIP_PREV_CMD=true - else - SKIP_PREV_CMD=false - fi + SKIP_PREV_MANI=$(scan_for_skip_tag "$PREV_ABE_REVISION" HEAD "\[ABE_PREV_MANIFEST_\(${configs^^}\|ALL\)\]") + SKIP_PREV_CMD=$(scan_for_skip_tag "$PREV_ABE_REVISION" HEAD "\[ABE_PREV_CMD_\(${configs^^}\|ALL\)\]") do_test previous_abe_manifest_$configs test_previous_abe_manifest "$SKIP_PREV_MANI" --extraconfigdir "$CONFDIR" --snapshots "$PREV_TEST_SNAPSHOTS" do_test previous_abe_cmd_line_$configs test_previous_abe_cmd_line "$SKIP_PREV_CMD" --extraconfigdir "$CONFDIR" --snapshots "$PREV_TEST_SNAPSHOTS" done |