diff options
author | Thomas Haller <thaller@redhat.com> | 2015-04-19 09:08:29 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-04-21 18:04:37 +0200 |
commit | 313af401d3e73a72dcdc1db352c335c9ac4e1f5b (patch) | |
tree | 5e318d6c3c4faa89b37ba576df16e446cb8a5755 | |
parent | bdb2f945198938c8d5918339979a683386893d0d (diff) | |
download | NetworkManager-313af401d3e73a72dcdc1db352c335c9ac4e1f5b.tar.gz |
platform/test: refactor detection of root-test
-rw-r--r-- | src/platform/tests/test-common.c | 13 | ||||
-rw-r--r-- | src/platform/tests/test-common.h | 2 | ||||
-rw-r--r-- | src/platform/tests/test-link.c | 4 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/platform/tests/test-common.c b/src/platform/tests/test-common.c index 708e2cad82..cedbc518e6 100644 --- a/src/platform/tests/test-common.c +++ b/src/platform/tests/test-common.c @@ -4,6 +4,15 @@ #include "nm-test-utils.h" + +gboolean +nmtst_platform_is_root_test () +{ + NM_PRAGMA_WARNING_DISABLE("-Wtautological-compare") + return (SETUP == nm_linux_platform_setup); + NM_PRAGMA_WARNING_REENABLE +} + SignalData * add_signal_full (const char *name, NMPlatformSignalChangeType change_type, GCallback callback, int ifindex, const char *ifname) { @@ -257,8 +266,7 @@ main (int argc, char **argv) init_tests (&argc, &argv); - NM_PRAGMA_WARNING_DISABLE("-Wtautological-compare") - if (SETUP == nm_linux_platform_setup && getuid() != 0) { + if (nmtst_platform_is_root_test () && getuid() != 0) { /* Try to exec as sudo, this function does not return, if a sudo-cmd is set. */ nmtst_reexec_sudo (); @@ -270,7 +278,6 @@ main (int argc, char **argv) return 77; #endif } - NM_PRAGMA_WARNING_REENABLE SETUP (); diff --git a/src/platform/tests/test-common.h b/src/platform/tests/test-common.h index e51f26ab2f..5a9a86b15a 100644 --- a/src/platform/tests/test-common.h +++ b/src/platform/tests/test-common.h @@ -28,6 +28,8 @@ typedef struct { const char *ifname; } SignalData; +gboolean nmtst_platform_is_root_test (void); + SignalData *add_signal_full (const char *name, NMPlatformSignalChangeType change_type, GCallback callback, int ifindex, const char *ifname); #define add_signal(name, change_type, callback) add_signal_full (name, change_type, (GCallback) callback, 0, NULL) #define add_signal_ifindex(name, change_type, callback, ifindex) add_signal_full (name, change_type, (GCallback) callback, ifindex, NULL) diff --git a/src/platform/tests/test-link.c b/src/platform/tests/test-link.c index dcce8827f2..6dddfc0d59 100644 --- a/src/platform/tests/test-link.c +++ b/src/platform/tests/test-link.c @@ -365,14 +365,12 @@ test_bridge (void) static void test_bond (void) { - NM_PRAGMA_WARNING_DISABLE("-Wtautological-compare") - if (SETUP == nm_linux_platform_setup && + if (nmtst_platform_is_root_test () && !g_file_test ("/proc/1/net/bonding", G_FILE_TEST_IS_DIR) && system("modprobe --show bonding") != 0) { g_test_skip ("Skipping test for bonding: bonding module not available"); return; } - NM_PRAGMA_WARNING_REENABLE test_software (NM_LINK_TYPE_BOND, "bond"); } |