summaryrefslogtreecommitdiff
path: root/testsuite/tools/validate.in
blob: 42048ef7b4985c7edd6144a1ba3ebfe9d69b2796 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#! /bin/bash

GTK_BUILDER_TOOL=${GTK_BUILDER_TOOL:-gtk4-builder-tool}
TEST_DATA_DIR=${G_TEST_SRCDIR:-.}/validate-data
TEST_RESULT_DIR=${TEST_RESULT_DIR:-/tmp}/validate

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 validate $(basename $t) 2>$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