diff options
Diffstat (limited to 'testsuite/tools/enumerate')
-rwxr-xr-x | testsuite/tools/enumerate | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/testsuite/tools/enumerate b/testsuite/tools/enumerate new file mode 100755 index 0000000000..8abd9d67f1 --- /dev/null +++ b/testsuite/tools/enumerate @@ -0,0 +1,37 @@ +#! /bin/bash + +GTK_BUILDER_TOOL=${GTK_BUILDER_TOOL:-gtk4-builder-tool} +TEST_DATA_DIR=${G_TEST_SRCDIR:-.}/enumerate-data +TEST_RESULT_DIR=${TEST_RESULT_DIR:-/tmp}/enumerate + +mkdir -p "$TEST_RESULT_DIR" + +shopt -s nullglob +TESTS=( "$TEST_DATA_DIR"/*.ui ) + +echo "1..${#TESTS[*]}" + +I=1 +for t in ${TESTS[*]}; do + name=$(basename $t .ui) + expected="$TEST_DATA_DIR/$name.expected" + result="$TEST_RESULT_DIR/$name.out" + diff="$TEST_RESULT_DIR/$name.diff" + ref="$TEST_RESULT_DIR/$name.ref" + + cd $TEST_DATA_DIR + + $GTK_BUILDER_TOOL enumerate --callbacks $(basename $t) >$result + + cd $OLDPWD + + if diff -u "$expected" "$result" > "$diff"; then + echo "ok $I $name" + rm "$diff" + else + echo "not ok $I $name" + cp "$expected" "$ref" + fi + + I=$((I+1)) +done |