diff options
Diffstat (limited to 'src/tests/config')
| -rw-r--r-- | src/tests/config/Makefile.am | 7 | ||||
| -rw-r--r-- | src/tests/config/Makefile.in | 24 | ||||
| -rw-r--r-- | src/tests/config/NetworkManager.state | 4 | ||||
| -rw-r--r-- | src/tests/config/nm-test-device.c | 14 | ||||
| -rw-r--r-- | src/tests/config/nm-test-device.h | 6 | ||||
| -rw-r--r-- | src/tests/config/test-config.c | 63 |
6 files changed, 89 insertions, 29 deletions
diff --git a/src/tests/config/Makefile.am b/src/tests/config/Makefile.am index 17876e4d..d0cb797d 100644 --- a/src/tests/config/Makefile.am +++ b/src/tests/config/Makefile.am @@ -9,8 +9,8 @@ AM_CPPFLAGS = \ -DG_LOG_DOMAIN=\""NetworkManager"\" \ -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \ $(GLIB_CFLAGS) \ - -DSRCDIR=\""$(srcdir)"\" \ - -DBUILDDIR=\""$(builddir)"\" + -DSRCDIR=\""$(abs_srcdir)"\" \ + -DBUILDDIR=\""$(abs_builddir)"\" noinst_PROGRAMS = \ test-config @@ -21,13 +21,14 @@ test_config_SOURCES = \ test-config.c test_config_LDADD = \ - $(top_builddir)/src/libNetworkManager.la + $(top_builddir)/src/libNetworkManagerTest.la @VALGRIND_RULES@ TESTS = test-config EXTRA_DIST = \ NetworkManager.conf \ + NetworkManager.state \ bad.conf \ global-dns-invalid.conf \ conf.d/00-overrides.conf \ diff --git a/src/tests/config/Makefile.in b/src/tests/config/Makefile.in index 7197ee1f..89c18941 100644 --- a/src/tests/config/Makefile.in +++ b/src/tests/config/Makefile.in @@ -92,8 +92,9 @@ noinst_PROGRAMS = test-config$(EXEEXT) TESTS = test-config$(EXEEXT) subdir = src/tests/config ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_lib_readline.m4 \ - $(top_srcdir)/m4/compiler_warnings.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/attributes.m4 \ + $(top_srcdir)/m4/ax_lib_readline.m4 \ + $(top_srcdir)/m4/compiler_options.m4 \ $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gnome-code-coverage.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \ @@ -116,7 +117,8 @@ PROGRAMS = $(noinst_PROGRAMS) am_test_config_OBJECTS = nm-test-device.$(OBJEXT) \ test-config.$(OBJEXT) test_config_OBJECTS = $(am_test_config_OBJECTS) -test_config_DEPENDENCIES = $(top_builddir)/src/libNetworkManager.la +test_config_DEPENDENCIES = \ + $(top_builddir)/src/libNetworkManagerTest.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -422,6 +424,7 @@ DHCLIENT_PATH = @DHCLIENT_PATH@ DHCPCD_PATH = @DHCPCD_PATH@ DISTRO_NETWORK_SERVICE = @DISTRO_NETWORK_SERVICE@ DLLTOOL = @DLLTOOL@ +DL_LIBS = @DL_LIBS@ DNSMASQ_PATH = @DNSMASQ_PATH@ DNSSEC_TRIGGER_SCRIPT = @DNSSEC_TRIGGER_SCRIPT@ DSYMUTIL = @DSYMUTIL@ @@ -478,13 +481,14 @@ INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ IPTABLES_PATH = @IPTABLES_PATH@ +JANSSON_CFLAGS = @JANSSON_CFLAGS@ +JANSSON_LIBS = @JANSSON_LIBS@ KERNEL_FIRMWARE_DIR = @KERNEL_FIRMWARE_DIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBAUDIT_CFLAGS = @LIBAUDIT_CFLAGS@ LIBAUDIT_LIBS = @LIBAUDIT_LIBS@ -LIBDL = @LIBDL@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBM = @LIBM@ @@ -496,6 +500,8 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ +LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@ +LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@ LIBTEAMDCTL_CFLAGS = @LIBTEAMDCTL_CFLAGS@ LIBTEAMDCTL_LIBS = @LIBTEAMDCTL_LIBS@ LIBTOOL = @LIBTOOL@ @@ -556,6 +562,8 @@ QT_CFLAGS = @QT_CFLAGS@ QT_LIBS = @QT_LIBS@ RANLIB = @RANLIB@ READLINE_LIBS = @READLINE_LIBS@ +SANITIZERS = @SANITIZERS@ +SANITIZER_ENV = @SANITIZER_ENV@ SED = @SED@ SELINUX_CFLAGS = @SELINUX_CFLAGS@ SELINUX_LIBS = @SELINUX_LIBS@ @@ -591,6 +599,7 @@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_RANLIB = @ac_ct_RANLIB@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -663,8 +672,8 @@ AM_CPPFLAGS = \ -DG_LOG_DOMAIN=\""NetworkManager"\" \ -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \ $(GLIB_CFLAGS) \ - -DSRCDIR=\""$(srcdir)"\" \ - -DBUILDDIR=\""$(builddir)"\" + -DSRCDIR=\""$(abs_srcdir)"\" \ + -DBUILDDIR=\""$(abs_builddir)"\" test_config_SOURCES = \ nm-test-device.c \ @@ -672,10 +681,11 @@ test_config_SOURCES = \ test-config.c test_config_LDADD = \ - $(top_builddir)/src/libNetworkManager.la + $(top_builddir)/src/libNetworkManagerTest.la EXTRA_DIST = \ NetworkManager.conf \ + NetworkManager.state \ bad.conf \ global-dns-invalid.conf \ conf.d/00-overrides.conf \ diff --git a/src/tests/config/NetworkManager.state b/src/tests/config/NetworkManager.state new file mode 100644 index 00000000..1b9d604a --- /dev/null +++ b/src/tests/config/NetworkManager.state @@ -0,0 +1,4 @@ +[main] +NetworkingEnabled=true +WirelessEnabled=true +WWANEnabled=true diff --git a/src/tests/config/nm-test-device.c b/src/tests/config/nm-test-device.c index 04ccaec2..1ae964ee 100644 --- a/src/tests/config/nm-test-device.c +++ b/src/tests/config/nm-test-device.c @@ -38,17 +38,6 @@ nm_test_device_init (NMTestDevice *self) /* We jump over NMDevice's construct/destruct methods, which require NMPlatform * and NMConnectionProvider to be initialized. */ - -static GObject* -constructor (GType type, - guint n_construct_params, - GObjectConstructParam *construct_params) -{ - return PARENT_CLASS->constructor (type, - n_construct_params, - construct_params); -} - static void constructed (GObject *object) { @@ -73,7 +62,6 @@ nm_test_device_class_init (NMTestDeviceClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *device_class = NM_DEVICE_CLASS (klass); - object_class->constructor = constructor; object_class->constructed = constructed; object_class->dispose = dispose; @@ -85,6 +73,6 @@ nm_test_device_new (const char *hwaddr) { return g_object_new (NM_TYPE_TEST_DEVICE, NM_DEVICE_IFACE, "dummy", - NM_DEVICE_HW_ADDRESS, hwaddr, + NM_DEVICE_PERM_HW_ADDRESS, hwaddr, NULL); } diff --git a/src/tests/config/nm-test-device.h b/src/tests/config/nm-test-device.h index c3532c9c..dfb8ff78 100644 --- a/src/tests/config/nm-test-device.h +++ b/src/tests/config/nm-test-device.h @@ -23,8 +23,6 @@ #include "nm-device.h" -G_BEGIN_DECLS - #define NM_TYPE_TEST_DEVICE (nm_test_device_get_type ()) #define NM_TEST_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_TEST_DEVICE, NMTestDevice)) #define NM_TEST_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_TEST_DEVICE, NMTestDeviceClass)) @@ -45,6 +43,4 @@ GType nm_test_device_get_type (void); NMDevice *nm_test_device_new (const char *hwaddr); -G_END_DECLS - -#endif /* NM_DEVICE_H */ +#endif /* __NETWORKMANAGER_TEST_DEVICE_H__ */ diff --git a/src/tests/config/test-config.c b/src/tests/config/test-config.c index b6d88edf..73358d02 100644 --- a/src/tests/config/test-config.c +++ b/src/tests/config/test-config.c @@ -27,7 +27,7 @@ #include "nm-fake-platform.h" #include "nm-bus-manager.h" -#include "nm-test-utils.h" +#include "nm-test-utils-core.h" /********************************************************************************/ @@ -930,6 +930,65 @@ test_config_enable (void) /*****************************************************************************/ +static void +test_config_state_file (void) +{ + NMConfig *config; + const NMConfigState *state; + gs_free_error GError *error = NULL; + gboolean ret; + gs_free char *file_data = NULL; + gsize file_size; + const char *const TMP_FILE = BUILDDIR "/tmp.state"; + + ret = g_file_get_contents (SRCDIR "/NetworkManager.state", &file_data, &file_size, &error); + nmtst_assert_success (ret, error); + ret = g_file_set_contents (TMP_FILE, file_data, file_size, &error); + nmtst_assert_success (ret, error); + + config = setup_config (NULL, SRCDIR "/NetworkManager.conf", "", NULL, SRCDIR "/conf.d", "", + "--state-file", TMP_FILE, NULL); + g_assert (config); + + state = nm_config_state_get (config); + g_assert (state); + + g_assert_cmpint (state->net_enabled, ==, TRUE); + g_assert_cmpint (state->wifi_enabled, ==, TRUE); + g_assert_cmpint (state->wwan_enabled, ==, TRUE); + + nm_config_state_set (config, TRUE, TRUE, + NM_CONFIG_STATE_PROPERTY_NETWORKING_ENABLED, FALSE, + NM_CONFIG_STATE_PROPERTY_WIFI_ENABLED, TRUE, + NM_CONFIG_STATE_PROPERTY_WWAN_ENABLED, FALSE); + + state = nm_config_state_get (config); + g_assert (state); + + g_assert_cmpint (state->net_enabled, ==, FALSE); + g_assert_cmpint (state->wifi_enabled, ==, TRUE); + g_assert_cmpint (state->wwan_enabled, ==, FALSE); + + g_object_unref (config); + + /* Reload configuration */ + config = setup_config (NULL, SRCDIR "/NetworkManager.conf", "", NULL, SRCDIR "/conf.d", "", + "--state-file", TMP_FILE, NULL); + g_assert (config); + + state = nm_config_state_get (config); + g_assert (state); + + g_assert_cmpint (state->net_enabled, ==, FALSE); + g_assert_cmpint (state->wifi_enabled, ==, TRUE); + g_assert_cmpint (state->wwan_enabled, ==, FALSE); + + g_object_unref (config); + unlink (TMP_FILE); +} + +/*****************************************************************************/ + NMTST_DEFINE (); int @@ -960,6 +1019,8 @@ main (int argc, char **argv) g_test_add_func ("/config/enable", test_config_enable); + g_test_add_func ("/config/state-file", test_config_state_file); + /* This one has to come last, because it leaves its values in * nm-config.c's global variables, and there's no way to reset * those to NULL. |