diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-05-10 10:38:07 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-05-10 10:38:07 +0000 |
commit | f10603e97d3502603cfc3346f934937b3178a420 (patch) | |
tree | e7b703bb52c7e7988d898329a9f37109db7dc377 | |
parent | d6a4c65bfa09c84eafb982c63f17702521f52366 (diff) | |
parent | 9a9257d7be38e7378ecb1766437d1a47acbb8d18 (diff) | |
download | gtk+-f10603e97d3502603cfc3346f934937b3178a420.tar.gz |
Merge branch 'matthiasc/for-main' into 'main'
tests: Stop copying the tool tests
See merge request GNOME/gtk!5947
-rw-r--r-- | build-aux/flatpak/org.gtk.Demo4.json | 2 | ||||
-rw-r--r-- | build-aux/flatpak/org.gtk.IconBrowser4.json | 2 | ||||
-rw-r--r-- | build-aux/flatpak/org.gtk.WidgetFactory4.json | 2 | ||||
-rw-r--r-- | build-aux/flatpak/org.gtk.gtk4.NodeEditor.json | 2 | ||||
-rw-r--r-- | demos/meson.build | 2 | ||||
-rw-r--r-- | meson.build | 8 | ||||
-rw-r--r-- | meson_options.txt | 15 | ||||
-rw-r--r-- | testsuite/gsk/half-float.c | 76 | ||||
-rw-r--r-- | testsuite/meson.build | 1 | ||||
-rw-r--r-- | testsuite/tools/meson.build | 8 | ||||
-rwxr-xr-x | testsuite/tools/settings (renamed from testsuite/tools/settings.in) | 0 | ||||
-rwxr-xr-x | testsuite/tools/simplify (renamed from testsuite/tools/simplify.in) | 0 | ||||
-rwxr-xr-x | testsuite/tools/simplify-3to4 (renamed from testsuite/tools/simplify-3to4.in) | 0 | ||||
-rwxr-xr-x | testsuite/tools/validate (renamed from testsuite/tools/validate.in) | 0 |
14 files changed, 100 insertions, 18 deletions
diff --git a/build-aux/flatpak/org.gtk.Demo4.json b/build-aux/flatpak/org.gtk.Demo4.json index 457dfd64b8..5c75ece589 100644 --- a/build-aux/flatpak/org.gtk.Demo4.json +++ b/build-aux/flatpak/org.gtk.Demo4.json @@ -187,7 +187,7 @@ "--libdir=/app/lib", "-Dvulkan=disabled", "-Dbuildtype=debugoptimized", - "-Dprofile=devel" + "-Ddemo-profile=devel" ], "sources" : [ { diff --git a/build-aux/flatpak/org.gtk.IconBrowser4.json b/build-aux/flatpak/org.gtk.IconBrowser4.json index 00cdf9f110..b563dbb285 100644 --- a/build-aux/flatpak/org.gtk.IconBrowser4.json +++ b/build-aux/flatpak/org.gtk.IconBrowser4.json @@ -116,7 +116,7 @@ "--libdir=/app/lib", "-Dvulkan=disabled", "-Dbuildtype=debugoptimized", - "-Dprofile=devel" + "-Ddemo-profile=devel" ], "sources" : [ { diff --git a/build-aux/flatpak/org.gtk.WidgetFactory4.json b/build-aux/flatpak/org.gtk.WidgetFactory4.json index cdca2010ee..390da50cac 100644 --- a/build-aux/flatpak/org.gtk.WidgetFactory4.json +++ b/build-aux/flatpak/org.gtk.WidgetFactory4.json @@ -116,7 +116,7 @@ "--libdir=/app/lib", "-Dvulkan=disabled", "-Dbuildtype=debugoptimized", - "-Dprofile=devel" + "-Ddemo-profile=devel" ], "sources" : [ { diff --git a/build-aux/flatpak/org.gtk.gtk4.NodeEditor.json b/build-aux/flatpak/org.gtk.gtk4.NodeEditor.json index bff6b20be3..ef60c66084 100644 --- a/build-aux/flatpak/org.gtk.gtk4.NodeEditor.json +++ b/build-aux/flatpak/org.gtk.gtk4.NodeEditor.json @@ -116,7 +116,7 @@ "--libdir=/app/lib", "-Dvulkan=disabled", "-Dbuildtype=debugoptimized", - "-Dprofile=devel" + "-Ddemo-profile=devel" ], "sources" : [ { diff --git a/demos/meson.build b/demos/meson.build index 91eb3c465c..d4c04d2b8b 100644 --- a/demos/meson.build +++ b/demos/meson.build @@ -1,5 +1,5 @@ gen_demo_header = find_program('../build-aux/meson/gen-demo-header.py') -demo_profile = get_option('profile') +demo_profile = get_option('demo-profile') demo_conf_h = declare_dependency( sources: custom_target('demo-header', diff --git a/meson.build b/meson.build index 825b9c629d..a46257faa6 100644 --- a/meson.build +++ b/meson.build @@ -7,7 +7,7 @@ project('gtk', 'c', # https://github.com/mesonbuild/meson/issues/2289 'c_std=gnu99', ], - meson_version : '>= 0.60.0', + meson_version : '>= 0.63.0', license: 'LGPL-2.1-or-later') # keep these numbers in sync with wrap files where there exist @@ -753,7 +753,7 @@ subdir('gdk') subdir('gsk') subdir('gtk') subdir('modules') -if get_option('demos') +if get_option('build-demos') subdir('demos') endif subdir('tools') @@ -860,7 +860,7 @@ if not meson.is_cross_build() gnome.post_install( glib_compile_schemas: true, gio_querymodules: gio_module_dirs, - gtk_update_icon_cache: get_option('demos'), + gtk_update_icon_cache: get_option('build-demos'), ) else message('Not executing post-install steps automatically when cross compiling') @@ -901,7 +901,7 @@ summary('Documentation', get_option('gtk_doc'), section: 'Build') summary('Man pages', get_option('man-pages'), section: 'Build') summary('Testsuite', get_option('build-testsuite'), section: 'Build') summary('Tests', get_option('build-tests'), section: 'Build') -summary('Demos', get_option('demos'), section: 'Build') +summary('Demos', get_option('build-demos'), section: 'Build') summary('Examples', get_option('build-examples'), section: 'Build') # Directories diff --git a/meson_options.txt b/meson_options.txt index 9f608e9e35..f4399d39df 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -108,7 +108,13 @@ option('introspection', # Demos, examples and tests -option('demos', +option('demo-profile', + type: 'combo', + choices: [ 'default', 'devel' ], + value: 'default', + description : 'Profile to use for demos') + +option('build-demos', type: 'boolean', value: true, description : 'Build demo programs') @@ -117,7 +123,12 @@ option('profile', type: 'combo', choices: [ 'default', 'devel' ], value: 'default', - description : 'Profile to use for demos') + deprecated: 'demo-profile') + +option('demos', + type: 'boolean', + value: true, + deprecated: 'build-demos') option('build-testsuite', type: 'boolean', diff --git a/testsuite/gsk/half-float.c b/testsuite/gsk/half-float.c index 5f74072a84..3b06d7df22 100644 --- a/testsuite/gsk/half-float.c +++ b/testsuite/gsk/half-float.c @@ -32,6 +32,36 @@ test_constants (void) } } +static void +test_constants_c (void) +{ + struct { + float f; + guint16 h; + } tests[] = { + { 0.0, FP16_ZERO }, + { 1.0, FP16_ONE }, + { -1.0, FP16_MINUS_ONE }, + }; + + for (int i = 0; i < G_N_ELEMENTS (tests); i++) + { + float f[4]; + guint16 h[4]; + + memset (f, 0, sizeof (f)); + f[0] = tests[i].f; + float_to_half4_c (f, h); + g_assert_cmpuint (h[0], ==, tests[i].h); + + + memset (h, 0, sizeof (h)); + h[0] = tests[i].h; + half_to_float4_c (h, f); + g_assert_cmpfloat (f[0], ==, tests[i].f); + } +} + static float random_representable_float (void) { @@ -69,6 +99,26 @@ test_roundtrip (void) } } +static void +test_roundtrip_c (void) +{ + for (int i = 0; i < 100; i++) + { + float f[4]; + float f2[4]; + guint16 h[4]; + + f2[0] = random_representable_float (); + memset (f, 0, sizeof (f)); + f[0] = f2[0]; + + float_to_half4_c (f, h); + half_to_float4_c (h, f2); + + g_assert_cmpfloat (f[0], ==, f2[0]); + } +} + /* Test that the array version work as expected, * in particular with unaligned boundaries. */ @@ -95,6 +145,29 @@ test_many (void) } } +static void +test_many_c (void) +{ + for (int i = 0; i < 100; i++) + { + int size = g_random_int_range (100, 200); + int offset = g_random_int_range (0, 20); + + guint16 *h = g_new0 (guint16, size); + float *f = g_new0 (float, size); + float *f2 = g_new0 (float, size); + + for (int j = offset; j < size; j++) + f[j] = random_representable_float (); + + float_to_half_c (f + offset, h + offset, size - offset); + half_to_float_c (h + offset, f2 + offset, size - offset); + + for (int j = offset; j < size; j++) + g_assert_cmpfloat (f[j], ==, f2[j]); + } +} + int main (int argc, char *argv[]) { @@ -103,6 +176,9 @@ main (int argc, char *argv[]) g_test_add_func ("/half-float/constants", test_constants); g_test_add_func ("/half-float/roundtrip", test_roundtrip); g_test_add_func ("/half-float/many", test_many); + g_test_add_func ("/half-float/constants/c", test_constants_c); + g_test_add_func ("/half-float/roundtrip/c", test_roundtrip_c); + g_test_add_func ("/half-float/many/c", test_many_c); return g_test_run (); } diff --git a/testsuite/meson.build b/testsuite/meson.build index b300823339..8650e918e7 100644 --- a/testsuite/meson.build +++ b/testsuite/meson.build @@ -19,7 +19,6 @@ setups = [ 'backend': 'wayland', 'if': wayland_enabled, 'env': ['GDK_DEBUG=gl-gles,default-settings', 'MESA_GLES_VERSION_OVERRIDE=2.0', - 'MESA_EXTENSION_OVERRIDE=-GL_OES_vertex_array_object', 'GSK_MAX_TEXTURE_SIZE=1024', ], }, { 'backend': 'win32', 'if': os_win32 }, diff --git a/testsuite/tools/meson.build b/testsuite/tools/meson.build index 986c2d6dcc..96ac7fda06 100644 --- a/testsuite/tools/meson.build +++ b/testsuite/tools/meson.build @@ -3,12 +3,8 @@ if bash.found() test_env = environment() foreach t : ['simplify', 'simplify-3to4', 'validate', 'settings'] - configure_file(output: t, - input: '@0@.in'.format(t), - copy: true, - ) - test(t, bash, - args: t, + test(t, + find_program(t, dirs: meson.current_source_dir()), workdir: meson.current_build_dir(), protocol: 'tap', env: [ diff --git a/testsuite/tools/settings.in b/testsuite/tools/settings index 3c5ce69016..3c5ce69016 100755 --- a/testsuite/tools/settings.in +++ b/testsuite/tools/settings diff --git a/testsuite/tools/simplify.in b/testsuite/tools/simplify index 12b4cea8ef..12b4cea8ef 100755 --- a/testsuite/tools/simplify.in +++ b/testsuite/tools/simplify diff --git a/testsuite/tools/simplify-3to4.in b/testsuite/tools/simplify-3to4 index 0a97f1afd8..0a97f1afd8 100755 --- a/testsuite/tools/simplify-3to4.in +++ b/testsuite/tools/simplify-3to4 diff --git a/testsuite/tools/validate.in b/testsuite/tools/validate index 42048ef7b4..42048ef7b4 100755 --- a/testsuite/tools/validate.in +++ b/testsuite/tools/validate |