Merge branch 'matthiasc/for-main' into 'main'
tests: Stop copying the tool tests See merge request GNOME/gtk!5947
This commit is contained in:
@@ -187,7 +187,7 @@
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Dprofile=devel"
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Dprofile=devel"
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Dprofile=devel"
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Dprofile=devel"
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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 ();
|
||||
}
|
||||
|
||||
@@ -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 },
|
||||
|
||||
@@ -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: [
|
||||
|
||||
Reference in New Issue
Block a user