Enable tests, fixing the existing ones to use the current API
This also involved building a static library for the application for tests to link to. The main application executable also links to it.
This commit is contained in:
committed by
Guido Günther
parent
7495ec9bbb
commit
e903150971
@ -30,16 +30,15 @@ test_create (void)
|
||||
section = eek_keyboard_create_section (keyboard);
|
||||
g_assert (EEK_IS_SECTION(section));
|
||||
eek_section_add_row (section, 2, EEK_ORIENTATION_HORIZONTAL);
|
||||
key0 = eek_section_create_key (section, 1, 0, 0);
|
||||
key0 = eek_section_create_key (section, "key0", 1, 0, 0);
|
||||
g_assert (EEK_IS_KEY(key0));
|
||||
key1 = eek_section_create_key (section, 2, 1, 0);
|
||||
key1 = eek_section_create_key (section, "key1", 2, 1, 0);
|
||||
g_assert (EEK_IS_KEY(key1));
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
g_type_init ();
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
g_test_add_func ("/eek-simple-test/create", test_create);
|
||||
return g_test_run ();
|
||||
|
||||
@ -36,7 +36,9 @@ test_output_parse (void)
|
||||
layout = eek_xml_layout_new ("us", &error);
|
||||
g_assert_no_error (error);
|
||||
|
||||
keyboard = eek_keyboard_new (layout, 640, 480);
|
||||
/* We don't need the context service to parse an XML file, so we can pass
|
||||
NULL when creating a keyboard. */
|
||||
keyboard = eek_keyboard_new (NULL, layout, 640, 480);
|
||||
g_object_unref (layout);
|
||||
g_object_unref (keyboard);
|
||||
}
|
||||
@ -44,7 +46,6 @@ test_output_parse (void)
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
g_type_init ();
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
gtk_init (&argc, &argv); /* for gdk_x11_display_get_xdisplay() */
|
||||
|
||||
|
||||
49
tests/meson.build
Normal file
49
tests/meson.build
Normal file
@ -0,0 +1,49 @@
|
||||
if get_option('tests')
|
||||
|
||||
test_env = [
|
||||
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
|
||||
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
|
||||
'G_DEBUG=gc-friendly,fatal-warnings',
|
||||
'GSETTINGS_BACKEND=memory',
|
||||
'MALLOC_CHECK_=2'
|
||||
]
|
||||
|
||||
test_cflags = [
|
||||
'-I@0@/../src'.format(meson.current_source_dir()),
|
||||
'-I@0@/../src'.format(meson.current_build_dir()),
|
||||
'-DEEK_COMPILATION',
|
||||
'-DEEKBOARD_COMPILATION'
|
||||
]
|
||||
|
||||
test_link_args = [
|
||||
'-fPIC',
|
||||
]
|
||||
|
||||
tests = [
|
||||
'eek-simple-test',
|
||||
'eek-xml-test'
|
||||
]
|
||||
|
||||
foreach name : tests
|
||||
|
||||
test_sources = [name + '.c']
|
||||
|
||||
t = executable(
|
||||
name,
|
||||
test_sources,
|
||||
squeekboard_resources,
|
||||
link_with: libsqueekboard,
|
||||
c_args : test_cflags,
|
||||
link_args: test_link_args,
|
||||
dependencies: deps, # from src/meson.build
|
||||
include_directories: [
|
||||
include_directories('..'),
|
||||
include_directories('../eek')
|
||||
]
|
||||
)
|
||||
|
||||
test(name, t, env: test_env)
|
||||
|
||||
endforeach
|
||||
|
||||
endif
|
||||
Reference in New Issue
Block a user