summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-04-19 09:08:29 +0200
committerThomas Haller <thaller@redhat.com>2015-04-21 18:04:37 +0200
commit313af401d3e73a72dcdc1db352c335c9ac4e1f5b (patch)
tree5e318d6c3c4faa89b37ba576df16e446cb8a5755
parentbdb2f945198938c8d5918339979a683386893d0d (diff)
downloadNetworkManager-313af401d3e73a72dcdc1db352c335c9ac4e1f5b.tar.gz
platform/test: refactor detection of root-test
-rw-r--r--src/platform/tests/test-common.c13
-rw-r--r--src/platform/tests/test-common.h2
-rw-r--r--src/platform/tests/test-link.c4
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");
}