diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2013-11-25 18:32:20 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2014-02-13 13:41:58 +0100 |
commit | bff2a8d2f29fbf5e493c115101e48dd0ce37c3cd (patch) | |
tree | db561db4080a2a6a08737a47ebdcddc14428be1c /plugins/tests/test-fixture.h | |
parent | ba58aa42f2ff931b561c45e2073772bc9b419dfc (diff) |
tests: added support for DBus service tests
We can now run 'simulated' modems against a ModemManager running in its own
session bus.
Diffstat (limited to 'plugins/tests/test-fixture.h')
-rw-r--r-- | plugins/tests/test-fixture.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/plugins/tests/test-fixture.h b/plugins/tests/test-fixture.h new file mode 100644 index 00000000..b6c24379 --- /dev/null +++ b/plugins/tests/test-fixture.h @@ -0,0 +1,54 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details: + * + * Copyright (C) 2013 Aleksander Morgado <aleksander@gnu.org> + */ + +#ifndef TEST_FIXTURE_H +#define TEST_FIXTURE_H + +#include <gio/gio.h> +#include <libmm-glib.h> +#include "mm-gdbus-test.h" + +/*****************************************************************************/ +/* Test fixture setup */ + +/* The fixture contains a GTestDBus object and + * a proxy to the service we're going to be testing. + */ +typedef struct { + GTestDBus *dbus; + MmGdbusTest *test; + GDBusConnection *connection; +} TestFixture; + +void test_fixture_setup (TestFixture *fixture); +void test_fixture_teardown (TestFixture *fixture); + +typedef void (*TCFunc) (TestFixture *, gconstpointer); +#define TEST_ADD(path,method) \ + g_test_add (path, \ + TestFixture, \ + NULL, \ + (TCFunc)test_fixture_setup, \ + (TCFunc)method, \ + (TCFunc)test_fixture_teardown) + +void test_fixture_set_profile (TestFixture *fixture, + const gchar *profile_name, + const gchar *plugin, + const gchar *const *ports); +MMObject *test_fixture_get_modem (TestFixture *fixture); +void test_fixture_no_modem (TestFixture *fixture); + +#endif /* TEST_FIXTURE_H */ |