mirror of
https://github.com/brl/mutter.git
synced 2025-03-03 11:58:09 +00:00
[tests] Abstract GTest and Clutter initialization
The set up process of the conformance test suite is complex enough to warrant a split up into its own function.
This commit is contained in:
parent
b31e2d59bd
commit
f08b583a31
@ -3,6 +3,7 @@
|
|||||||
#include <clutter/clutter.h>
|
#include <clutter/clutter.h>
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
#include <locale.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "test-conform-common.h"
|
#include "test-conform-common.h"
|
||||||
@ -14,6 +15,8 @@ test_conform_skip_test (TestConformSimpleFixture *fixture,
|
|||||||
/* void */
|
/* void */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static TestConformSharedState *shared_state = NULL;
|
||||||
|
|
||||||
/* This is a bit of sugar for adding new conformance tests:
|
/* This is a bit of sugar for adding new conformance tests:
|
||||||
*
|
*
|
||||||
* - It adds an extern function definition just to save maintaining a header
|
* - It adds an extern function definition just to save maintaining a header
|
||||||
@ -56,11 +59,10 @@ test_conform_skip_test (TestConformSimpleFixture *fixture,
|
|||||||
test_conform_skip_test, \
|
test_conform_skip_test, \
|
||||||
test_conform_simple_fixture_teardown); } G_STMT_END
|
test_conform_simple_fixture_teardown); } G_STMT_END
|
||||||
|
|
||||||
int
|
static void
|
||||||
main (int argc, char **argv)
|
clutter_test_init (gint *argc,
|
||||||
|
gchar ***argv)
|
||||||
{
|
{
|
||||||
TestConformSharedState *shared_state = g_new0 (TestConformSharedState, 1);
|
|
||||||
|
|
||||||
#ifdef HAVE_CLUTTER_GLX
|
#ifdef HAVE_CLUTTER_GLX
|
||||||
/* on X11 we need a display connection to run the test suite */
|
/* on X11 we need a display connection to run the test suite */
|
||||||
const gchar *display = g_getenv ("DISPLAY");
|
const gchar *display = g_getenv ("DISPLAY");
|
||||||
@ -68,7 +70,8 @@ main (int argc, char **argv)
|
|||||||
{
|
{
|
||||||
g_print ("No DISPLAY found. Unable to run the conformance "
|
g_print ("No DISPLAY found. Unable to run the conformance "
|
||||||
"test suite without a display.");
|
"test suite without a display.");
|
||||||
return EXIT_SUCCESS;
|
|
||||||
|
exit (EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -79,17 +82,24 @@ main (int argc, char **argv)
|
|||||||
*/
|
*/
|
||||||
g_setenv ("CLUTTER_VBLANK", "none", FALSE);
|
g_setenv ("CLUTTER_VBLANK", "none", FALSE);
|
||||||
|
|
||||||
g_test_init (&argc, &argv, NULL);
|
g_test_init (argc, argv, NULL);
|
||||||
|
|
||||||
g_test_bug_base ("http://bugzilla.openedhand.com/show_bug.cgi?id=%s");
|
g_test_bug_base ("http://bugzilla.openedhand.com/show_bug.cgi?id=%s");
|
||||||
|
|
||||||
/* Initialise the state you need to share with everything.
|
/* Initialise the state you need to share with everything.
|
||||||
*/
|
*/
|
||||||
shared_state->argc_addr = &argc;
|
shared_state = g_new0 (TestConformSharedState, 1);
|
||||||
shared_state->argv_addr = &argv;
|
shared_state->argc_addr = argc;
|
||||||
|
shared_state->argv_addr = argv;
|
||||||
|
|
||||||
g_assert (clutter_init (shared_state->argc_addr, shared_state->argv_addr)
|
g_assert (clutter_init (shared_state->argc_addr, shared_state->argv_addr)
|
||||||
== CLUTTER_INIT_SUCCESS);
|
== CLUTTER_INIT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main (int argc, char **argv)
|
||||||
|
{
|
||||||
|
clutter_test_init (&argc, &argv);
|
||||||
|
|
||||||
TEST_CONFORM_SIMPLE ("/timeline", test_timeline);
|
TEST_CONFORM_SIMPLE ("/timeline", test_timeline);
|
||||||
TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", test_timeline_interpolate);
|
TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", test_timeline_interpolate);
|
||||||
@ -97,7 +107,6 @@ main (int argc, char **argv)
|
|||||||
|
|
||||||
TEST_CONFORM_SIMPLE ("/picking", test_pick);
|
TEST_CONFORM_SIMPLE ("/picking", test_pick);
|
||||||
|
|
||||||
/* ClutterText */
|
|
||||||
TEST_CONFORM_SIMPLE ("/text", test_text_utf8_validation);
|
TEST_CONFORM_SIMPLE ("/text", test_text_utf8_validation);
|
||||||
TEST_CONFORM_SIMPLE ("/text", test_text_empty);
|
TEST_CONFORM_SIMPLE ("/text", test_text_empty);
|
||||||
TEST_CONFORM_SIMPLE ("/text", test_text_set_empty);
|
TEST_CONFORM_SIMPLE ("/text", test_text_set_empty);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user