diff options
author | Dan Winship <danw@gnome.org> | 2014-07-25 17:50:14 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2014-07-31 14:58:15 -0400 |
commit | 80715291ca183a72f5602a6a1a42535cce327677 (patch) | |
tree | 403eff410e9a076ab195a9504b2ed7da98147c6a /libnm-util/tests/test-general.c | |
parent | 51a2cd2882133e20c4a894127b685ea18c5fe1d9 (diff) | |
download | NetworkManager-danw/libnm-initial.tar.gz |
libnm, libnm-utils: error out if mixed libnm/libnm-util symbols are detecteddanw/libnm-initial
If a program accidentally ends up linking in both libnm and libnm-util
(presumably via different dependencies), error out immediately.
Diffstat (limited to 'libnm-util/tests/test-general.c')
-rw-r--r-- | libnm-util/tests/test-general.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/libnm-util/tests/test-general.c b/libnm-util/tests/test-general.c index 877c38a316..b3d358de3a 100644 --- a/libnm-util/tests/test-general.c +++ b/libnm-util/tests/test-general.c @@ -24,6 +24,7 @@ #include <string.h> #include <netinet/ether.h> #include <linux/if_infiniband.h> +#include <sys/wait.h> #include <nm-utils.h> @@ -2445,6 +2446,25 @@ test_connection_normalize_virtual_iface_name (void) g_object_unref (con); } +static void +test_libnm_linking (void) +{ + char *argv[] = { "./test-libnm-linking", NULL }; + char *out, *err; + int status; + GError *error = NULL; + + g_spawn_sync (BUILD_DIR, argv, NULL, G_SPAWN_DEFAULT, NULL, NULL, + &out, &err, &status, &error); + g_assert_no_error (error); + + g_assert (WIFSIGNALED (status)); + + g_assert (strstr (err, "Mixing libnm") != NULL); + g_free (out); + g_free (err); +} + NMTST_DEFINE (); int main (int argc, char **argv) @@ -2520,6 +2540,8 @@ int main (int argc, char **argv) test_setting_wireless_security_changed_signal (); test_setting_802_1x_changed_signal (); + test_libnm_linking (); + base = g_path_get_basename (argv[0]); fprintf (stdout, "%s: SUCCESS\n", base); g_free (base); |