[gtk+] Install gtk tests



commit 896316a9d134cf5a4bbfa1920dbd6de029776907
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Oct 18 10:18:51 2017 +0800

    Install gtk tests
    
    Some of these currently fail on my system.

 testsuite/gdk/cairo.test.in     |    4 -
 testsuite/gdk/cursor.test.in    |    4 -
 testsuite/gdk/display.test.in   |    4 -
 testsuite/gdk/encoding.test.in  |    4 -
 testsuite/gdk/keysyms.test.in   |    4 -
 testsuite/gdk/rectangle.test.in |    4 -
 testsuite/gdk/rgba.test.in      |    4 -
 testsuite/gdk/seat.test.in      |    4 -
 testsuite/gtk/meson.build       |  155 +++++++++++----------------------------
 9 files changed, 42 insertions(+), 145 deletions(-)
---
diff --git a/testsuite/gtk/meson.build b/testsuite/gtk/meson.build
index a772a71..1c91d19 100644
--- a/testsuite/gtk/meson.build
+++ b/testsuite/gtk/meson.build
@@ -1,3 +1,6 @@
+testexecdir = join_paths(installed_test_bindir, 'gtk')
+testdatadir = join_paths(installed_test_datadir, 'gtk')
+
 gtk_tests_export_dynamic_ldflag = []
 
 if cc.get_id() != 'msvc'
@@ -51,14 +54,6 @@ tests = [
   ['widgetorder'],
 ]
 
-test_env = environment()
-test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
-test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
-test_env.set('G_ENABLE_DIAGNOSTIC', '0')
-test_env.set('GIO_USE_VFS', 'local')
-test_env.set('GSETTINGS_BACKEND', 'memory')
-test_env.set('GSK_RENDERER', 'cairo')
-
 test_cargs = []
 
 if os_unix
@@ -75,18 +70,37 @@ foreach t : tests
   test_exe = executable(test_name, test_srcs,
     c_args : test_cargs + test_extra_cargs,
     link_args : test_extra_ldflags,
-    dependencies : libgtk_dep)
+    dependencies : libgtk_dep,
+    install: get_option('install-tests'),
+    install_dir: testexecdir)
 
-  test(test_name, test_exe, suite : 'gtk', env : test_env)
+  test(test_name, test_exe,
+       args: [ '--tap', '-k' ],
+       env: installed_test_env,
+       suite: 'gtk')
 endforeach
 
 # FIXME: if objc autotestkeywords_CPPFLAGS += -DHAVE_OBJC=1 -x objective-c++
 if add_languages('cpp')
   test_exe = executable('autotestkeywords',
-    'autotestkeywords.cc',
-    c_args : test_cargs + ['-Idummy-headers'],
-    dependencies : libgtk_dep)
-  test('c++ keywords', test_exe, suite : 'gtk', env : test_env)
+                        'autotestkeywords.cc',
+                        c_args : test_cargs + ['-Idummy-headers'],
+                        dependencies : libgtk_dep,
+                        install: get_option('install-tests'),
+                        install_dir: testexecdir)
+  test('c++ keywords', test_exe,
+       args: [ '--tap', '-k' ],
+       env: installed_test_env,
+       suite: 'gtk')
+  if get_option('install-tests')
+    conf = configuration_data()
+    conf.set('testexecdir', testexecdir)
+    conf.set('test', 'keywords')
+    configure_file(input: 'gtk.test.in',
+                   output: 'keywords.test',
+                   configuration: conf,
+                   install_dir: testdatadir)
+  endif
 endif
 
 # FIXME: schemas from gtk+ dir?
@@ -94,105 +108,20 @@ endif
 # $(top_srcdir)/gtk/org.gtk.Settings.FileChooser.gschema.xml
 # gnome.compile_schemas()
 
-# Installed data
+if get_option('install-tests')
+  foreach t : tests
+    test_name = t.get(0)
+    conf = configuration_data()
+    conf.set('testexecdir', testexecdir)
+    conf.set('test', test_name)
+    configure_file(input: 'gtk.test.in',
+                   output: '@0@.test'.format(test_name),
+                   configuration: conf,
+                   install_dir: testdatadir)
+  endforeach
 
-test_icontheme = [
-  'icons/index.theme',
-  'icons/16x16/simple.png',
-  'icons/16x16/twosize-fixed.svg',
-  'icons/16x16s/twosize.svg',
-  'icons/32x32/only32-symbolic.svg',
-  'icons/32x32/twosize-fixed.svg',
-  'icons/32x32s/twosize.svg',
-  'icons/scalable/everything-justregular.svg',
-  'icons/scalable/everything-justrtl-rtl.svg',
-  'icons/scalable/everything-rtl.svg',
-  'icons/scalable/everything-symbolic-rtl.svg',
-  'icons/scalable/everything-justsymbolic-symbolic.svg',
-  'icons/scalable/everything.svg',
-  'icons/scalable/everything-symbolic.svg',
-  'icons/scalable/nonsquare-symbolic.svg',
-  'icons/15/size-test.png',
-  'icons/16-22/size-test.png',
-  'icons/25+/size-test.svg',
-  'icons/35+/size-test.svg',
-  'icons/scalable/one-two.svg',
-  'icons/scalable/one-two-rtl.svg',
-  'icons2/scalable/one-two-three-symbolic.svg',
-  'icons2/scalable/one-two-symbolic.svg',
-  'icons2/scalable/one-two-symbolic-rtl.svg',
-  'icons2/index.theme',
-]
+  install_subdir('icons', install_dir: testexecdir)
+  install_subdir('ui', install_dir: testexecdir)
 
-test_ui = [
-  'ui/test1.ui', 'ui/test1.expected',
-  'ui/test2.ui', 'ui/test2.expected',
-  'ui/test3.ui', 'ui/test3.expected',
-  'ui/test4.ui', 'ui/test4.expected',
-  'ui/test5.ui', 'ui/test5.expected',
-  'ui/test6.ui', 'ui/test6.expected',
-  'ui/test7.ui', 'ui/test7.expected',
-  'ui/label1.ui', 'ui/label1.expected',
-  'ui/label2.ui', 'ui/label2.expected',
-  'ui/label3.ui', 'ui/label3.expected',
-  'ui/label4.ui', 'ui/label4.expected',
-  'ui/label5.ui', 'ui/label5.expected',
-  'ui/celllayout1.ui', 'ui/celllayout1.expected',
-  'ui/celllayout2.ui', 'ui/celllayout2.expected',
-  'ui/celllayout3.ui', 'ui/celllayout3.expected',
-  'ui/celllayout4.ui', 'ui/celllayout4.expected',
-  'ui/celllayout5.ui', 'ui/celllayout5.expected',
-  'ui/celllayout6.ui', 'ui/celllayout6.expected',
-  'ui/celllayout7.ui', 'ui/celllayout7.expected',
-  'ui/container1.ui', 'ui/container1.expected',
-  'ui/container2.ui', 'ui/container2.expected',
-  'ui/container3.ui', 'ui/container3.expected',
-  'ui/container4.ui', 'ui/container4.expected',
-  'ui/container5.ui', 'ui/container5.expected',
-  'ui/container6.ui', 'ui/container6.expected',
-  'ui/container7.ui', 'ui/container7.expected',
-  'ui/container8.ui', 'ui/container8.expected',
-  'ui/scale1.ui', 'ui/scale1.expected',
-  'ui/scale2.ui', 'ui/scale2.expected',
-  'ui/scale3.ui', 'ui/scale3.expected',
-  'ui/scale4.ui', 'ui/scale4.expected',
-  'ui/scale5.ui', 'ui/scale5.expected',
-  'ui/scale6.ui', 'ui/scale6.expected',
-  'ui/scale7.ui', 'ui/scale7.expected',
-  'ui/levelbar1.ui', 'ui/levelbar1.expected',
-  'ui/levelbar2.ui', 'ui/levelbar2.expected',
-  'ui/levelbar3.ui', 'ui/levelbar3.expected',
-  'ui/levelbar4.ui', 'ui/levelbar4.expected',
-  'ui/levelbar5.ui', 'ui/levelbar5.expected',
-  'ui/levelbar6.ui', 'ui/levelbar6.expected',
-  'ui/dialog1.ui', 'ui/dialog1.expected',
-  'ui/dialog2.ui', 'ui/dialog2.expected',
-  'ui/dialog3.ui', 'ui/dialog3.expected',
-  'ui/dialog4.ui', 'ui/dialog4.expected',
-  'ui/dialog5.ui', 'ui/dialog5.expected',
-  'ui/dialog6.ui', 'ui/dialog6.expected',
-  'ui/filefilter1.ui', 'ui/filefilter1.expected',
-  'ui/filefilter2.ui', 'ui/filefilter2.expected',
-  'ui/filefilter3.ui', 'ui/filefilter3.expected',
-  'ui/filefilter4.ui', 'ui/filefilter4.expected',
-  'ui/filefilter5.ui', 'ui/filefilter5.expected',
-  'ui/filefilter6.ui', 'ui/filefilter6.expected',
-  'ui/filefilter7.ui', 'ui/filefilter7.expected',
-  'ui/filefilter8.ui', 'ui/filefilter8.expected',
-  'ui/filefilter9.ui', 'ui/filefilter9.expected',
-  'ui/filefilter10.ui', 'ui/filefilter10.expected',
-  'ui/infobar1.ui', 'ui/infobar1.expected',
-  'ui/infobar2.ui', 'ui/infobar2.expected',
-  'ui/infobar3.ui', 'ui/infobar3.expected',
-  'ui/infobar4.ui', 'ui/infobar4.expected',
-  'ui/infobar5.ui', 'ui/infobar5.expected',
-  'ui/infobar6.ui', 'ui/infobar6.expected',
-  'ui/image1.ui', 'ui/image1.expected',
-  'ui/image2.ui', 'ui/image2.expected',
-]
+endif
 
-# TODO: installed tests + .test files
-# if install_tests
-#   install_data(test_icontheme + test_ui,
-#     install_dir : join_paths(libexecdir, 'installed-tests/gtk+'))
-# endif


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]