diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9dff841f..32145782 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -30,6 +30,7 @@ pkg_check_modules(DEPS REQUIRED javascriptcoregtk-4.0 libsoup-2.4 webkit2gtk-4.0 + libxml-2.0 ) set(TEST_PACKAGES @@ -59,6 +60,9 @@ set(LIB_PATHS ${DEPS_LIBRARY_DIRS}) link_directories(${LIB_PATHS}) add_definitions(${CFLAGS}) +# GResources must be compiled into the binary?? +set_property(SOURCE ${RESOURCES_C} PROPERTY GENERATED TRUE) + set(VALAC_OPTIONS --vapidir=${CMAKE_BINARY_DIR}/src --vapidir=${CMAKE_SOURCE_DIR}/bindings/vapi @@ -80,7 +84,7 @@ OPTIONS ${VALAC_OPTIONS} ) -add_executable(geary-test ${TEST_VALA_C}) +add_executable(geary-test ${TEST_VALA_C} ${RESOURCES_C}) # Depend on geary so things like GResources, GSetting, etc are # compiled before the tests are built and run. add_dependencies(geary-test geary) diff --git a/test/main.vala b/test/main.vala index 0d26e21b..be55e6ab 100644 --- a/test/main.vala +++ b/test/main.vala @@ -24,6 +24,7 @@ int main(string[] args) { * Initialise all the things. */ + Gtk.init(ref args); Test.init(ref args); Geary.RFC822.init(); @@ -52,5 +53,13 @@ int main(string[] args) { root.add_suite(engine); root.add_suite(client); - return Test.run(); + int ret = -1; + Idle.add(() => { + ret = Test.run(); + Gtk.main_quit(); + return false; + }); + + Gtk.main(); + return ret; }