From f8f94ab329b1deb8d315cdb8689203c7bb4d1906 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 18 Oct 2017 10:41:57 +0800 Subject: [PATCH] Install tools tests At the same time, update the expected test output to match the current tools output, and write diff and ref files in /tmp. --- testsuite/tools/meson.build | 47 ++++++++++--------- .../tools/{test-settings.in => settings.in} | 0 .../test1.expected | 0 .../{simplify => simplify-data}/test1.ui | 0 .../test2.expected | 2 +- .../{simplify => simplify-data}/test2.ui | 0 .../test3.expected | 2 +- .../{simplify => simplify-data}/test3.ui | 0 .../test4.expected | 2 +- .../{simplify => simplify-data}/test4.ui | 0 .../test5.expected | 0 .../{simplify => simplify-data}/test5.ui | 0 .../test6.expected | 0 .../{simplify => simplify-data}/test6.ui | 0 .../test7.expected | 0 .../{simplify => simplify-data}/test7.ui | 0 .../test8.expected | 2 +- .../{simplify => simplify-data}/test8.ui | 0 .../tools/{test-simplify.in => simplify.in} | 8 +++- testsuite/tools/tools.test.in | 4 ++ 20 files changed, 40 insertions(+), 27 deletions(-) rename testsuite/tools/{test-settings.in => settings.in} (100%) rename testsuite/tools/{simplify => simplify-data}/test1.expected (100%) rename testsuite/tools/{simplify => simplify-data}/test1.ui (100%) rename testsuite/tools/{simplify => simplify-data}/test2.expected (70%) rename testsuite/tools/{simplify => simplify-data}/test2.ui (100%) rename testsuite/tools/{simplify => simplify-data}/test3.expected (62%) rename testsuite/tools/{simplify => simplify-data}/test3.ui (100%) rename testsuite/tools/{simplify => simplify-data}/test4.expected (72%) rename testsuite/tools/{simplify => simplify-data}/test4.ui (100%) rename testsuite/tools/{simplify => simplify-data}/test5.expected (100%) rename testsuite/tools/{simplify => simplify-data}/test5.ui (100%) rename testsuite/tools/{simplify => simplify-data}/test6.expected (100%) rename testsuite/tools/{simplify => simplify-data}/test6.ui (100%) rename testsuite/tools/{simplify => simplify-data}/test7.expected (100%) rename testsuite/tools/{simplify => simplify-data}/test7.ui (100%) rename testsuite/tools/{simplify => simplify-data}/test8.expected (80%) rename testsuite/tools/{simplify => simplify-data}/test8.ui (100%) rename testsuite/tools/{test-simplify.in => simplify.in} (68%) create mode 100644 testsuite/tools/tools.test.in diff --git a/testsuite/tools/meson.build b/testsuite/tools/meson.build index 2515aa548e..64724d292b 100644 --- a/testsuite/tools/meson.build +++ b/testsuite/tools/meson.build @@ -1,3 +1,6 @@ +testexecdir = join_paths(installed_test_bindir, 'tools') +testdatadir = join_paths(installed_test_datadir, 'tools') + bash = find_program('bash', required : false) if bash.found() test_env = environment() @@ -5,28 +8,30 @@ if bash.found() test_env.set('GTK_QUERY_SETTINGS', get_variable('gtk4_query_settings').full_path()) foreach t : ['simplify', 'settings'] - configure_file(output : 'test-@0@'.format(t), - input : 'test-@0@.in'.format(t), - configuration : configuration_data()) - + configure_file(output: t, + input: '@0@.in'.format(t), + configuration: configuration_data(), + install: get_option('install-tests'), + install_dir: testexecdir) test(t, bash, - args : 'test-@0@'.format(t), - workdir : meson.current_build_dir(), - env : test_env, - suite: 'tools') + args: 'test-@0@'.format(t), + workdir: meson.current_build_dir(), + env: test_env, + suite: 'tools') endforeach -endif # bash found +endif -# Installed data +if get_option('install-tests') + foreach t : ['simplify', 'settings'] + test_conf = configuration_data() + test_conf.set('testexecdir', testexecdir) + test_conf.set('test', t) + configure_file(output: '@0@.test'.format(t), + input: 'tools.test.in', + configuration: test_conf, + install: true, + install_dir: testdatadir) + endforeach -test_simplify_data = [ - 'simplify/test1.ui', 'simplify/test1.expected', - 'simplify/test2.ui', 'simplify/test2.expected', - 'simplify/test3.ui', 'simplify/test3.expected', - 'simplify/test4.ui', 'simplify/test4.expected', - 'simplify/test5.ui', 'simplify/test5.expected', - 'simplify/test6.ui', 'simplify/test6.expected', - 'simplify/test7.ui', 'simplify/test7.expected', - 'simplify/test8.ui', 'simplify/test8.expected', -] -# TODO: install in case of installed tests - install_data() + install_subdir('simplify-data', install_dir: testexecdir) +endif diff --git a/testsuite/tools/test-settings.in b/testsuite/tools/settings.in similarity index 100% rename from testsuite/tools/test-settings.in rename to testsuite/tools/settings.in diff --git a/testsuite/tools/simplify/test1.expected b/testsuite/tools/simplify-data/test1.expected similarity index 100% rename from testsuite/tools/simplify/test1.expected rename to testsuite/tools/simplify-data/test1.expected diff --git a/testsuite/tools/simplify/test1.ui b/testsuite/tools/simplify-data/test1.ui similarity index 100% rename from testsuite/tools/simplify/test1.ui rename to testsuite/tools/simplify-data/test1.ui diff --git a/testsuite/tools/simplify/test2.expected b/testsuite/tools/simplify-data/test2.expected similarity index 70% rename from testsuite/tools/simplify/test2.expected rename to testsuite/tools/simplify-data/test2.expected index 20ffe8d3bb..99fefb9511 100644 --- a/testsuite/tools/simplify/test2.expected +++ b/testsuite/tools/simplify-data/test2.expected @@ -1,6 +1,6 @@ - True + 1 diff --git a/testsuite/tools/simplify/test2.ui b/testsuite/tools/simplify-data/test2.ui similarity index 100% rename from testsuite/tools/simplify/test2.ui rename to testsuite/tools/simplify-data/test2.ui diff --git a/testsuite/tools/simplify/test3.expected b/testsuite/tools/simplify-data/test3.expected similarity index 62% rename from testsuite/tools/simplify/test3.expected rename to testsuite/tools/simplify-data/test3.expected index 2490e7900a..6b9c07f163 100644 --- a/testsuite/tools/simplify/test3.expected +++ b/testsuite/tools/simplify-data/test3.expected @@ -1,6 +1,6 @@ - False + 0 diff --git a/testsuite/tools/simplify/test3.ui b/testsuite/tools/simplify-data/test3.ui similarity index 100% rename from testsuite/tools/simplify/test3.ui rename to testsuite/tools/simplify-data/test3.ui diff --git a/testsuite/tools/simplify/test4.expected b/testsuite/tools/simplify-data/test4.expected similarity index 72% rename from testsuite/tools/simplify/test4.expected rename to testsuite/tools/simplify-data/test4.expected index 41d8ecce20..286f1062ec 100644 --- a/testsuite/tools/simplify/test4.expected +++ b/testsuite/tools/simplify-data/test4.expected @@ -1,6 +1,6 @@ - True + 1 diff --git a/testsuite/tools/simplify/test4.ui b/testsuite/tools/simplify-data/test4.ui similarity index 100% rename from testsuite/tools/simplify/test4.ui rename to testsuite/tools/simplify-data/test4.ui diff --git a/testsuite/tools/simplify/test5.expected b/testsuite/tools/simplify-data/test5.expected similarity index 100% rename from testsuite/tools/simplify/test5.expected rename to testsuite/tools/simplify-data/test5.expected diff --git a/testsuite/tools/simplify/test5.ui b/testsuite/tools/simplify-data/test5.ui similarity index 100% rename from testsuite/tools/simplify/test5.ui rename to testsuite/tools/simplify-data/test5.ui diff --git a/testsuite/tools/simplify/test6.expected b/testsuite/tools/simplify-data/test6.expected similarity index 100% rename from testsuite/tools/simplify/test6.expected rename to testsuite/tools/simplify-data/test6.expected diff --git a/testsuite/tools/simplify/test6.ui b/testsuite/tools/simplify-data/test6.ui similarity index 100% rename from testsuite/tools/simplify/test6.ui rename to testsuite/tools/simplify-data/test6.ui diff --git a/testsuite/tools/simplify/test7.expected b/testsuite/tools/simplify-data/test7.expected similarity index 100% rename from testsuite/tools/simplify/test7.expected rename to testsuite/tools/simplify-data/test7.expected diff --git a/testsuite/tools/simplify/test7.ui b/testsuite/tools/simplify-data/test7.ui similarity index 100% rename from testsuite/tools/simplify/test7.ui rename to testsuite/tools/simplify-data/test7.ui diff --git a/testsuite/tools/simplify/test8.expected b/testsuite/tools/simplify-data/test8.expected similarity index 80% rename from testsuite/tools/simplify/test8.expected rename to testsuite/tools/simplify-data/test8.expected index d5b6825347..df3c4077e3 100644 --- a/testsuite/tools/simplify/test8.expected +++ b/testsuite/tools/simplify-data/test8.expected @@ -4,7 +4,7 @@ - True + 1 diff --git a/testsuite/tools/simplify/test8.ui b/testsuite/tools/simplify-data/test8.ui similarity index 100% rename from testsuite/tools/simplify/test8.ui rename to testsuite/tools/simplify-data/test8.ui diff --git a/testsuite/tools/test-simplify.in b/testsuite/tools/simplify.in similarity index 68% rename from testsuite/tools/test-simplify.in rename to testsuite/tools/simplify.in index 6b4f2e8131..642b50f0e6 100755 --- a/testsuite/tools/test-simplify.in +++ b/testsuite/tools/simplify.in @@ -1,7 +1,7 @@ #! /bin/bash GTK_BUILDER_TOOL=${GTK_BUILDER_TOOL:-gtk-builder-tool} -TEST_DATA_DIR=${TEST_DATA_DIR:-./simplify} +TEST_DATA_DIR=${TEST_DATA_DIR:-./simplify-data} TEST_RESULT_DIR=${TEST_RESULT_DIR:-/tmp} shopt -s nullglob @@ -14,13 +14,17 @@ 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" $GTK_BUILDER_TOOL simplify $t 2>/dev/null >$result - if diff "$expected" "$result" > /dev/null; then + 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)) diff --git a/testsuite/tools/tools.test.in b/testsuite/tools/tools.test.in new file mode 100644 index 0000000000..24c47ce34f --- /dev/null +++ b/testsuite/tools/tools.test.in @@ -0,0 +1,4 @@ +[Test] +Exec=/bin/sh -c "env G_ENABLE_DIAGNOSTIC=0 TEST_DATA_DIR=@testexecdir@/@test@-data @testexecdir@/@test@" +Type=session +Output=TAP