platform/test: refactor detection of root-test

This commit is contained in:
Thomas Haller 2015-04-19 09:08:29 +02:00
parent bdb2f94519
commit 313af401d3
3 changed files with 13 additions and 6 deletions

View file

@ -4,6 +4,15 @@
#include "nm-test-utils.h" #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 * SignalData *
add_signal_full (const char *name, NMPlatformSignalChangeType change_type, GCallback callback, int ifindex, const char *ifname) 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); init_tests (&argc, &argv);
NM_PRAGMA_WARNING_DISABLE("-Wtautological-compare") if (nmtst_platform_is_root_test () && getuid() != 0) {
if (SETUP == nm_linux_platform_setup && getuid() != 0) {
/* Try to exec as sudo, this function does not return, if a sudo-cmd is set. */ /* Try to exec as sudo, this function does not return, if a sudo-cmd is set. */
nmtst_reexec_sudo (); nmtst_reexec_sudo ();
@ -270,7 +278,6 @@ main (int argc, char **argv)
return 77; return 77;
#endif #endif
} }
NM_PRAGMA_WARNING_REENABLE
SETUP (); SETUP ();

View file

@ -28,6 +28,8 @@ typedef struct {
const char *ifname; const char *ifname;
} SignalData; } 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); 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(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) #define add_signal_ifindex(name, change_type, callback, ifindex) add_signal_full (name, change_type, (GCallback) callback, ifindex, NULL)

View file

@ -365,14 +365,12 @@ test_bridge (void)
static void static void
test_bond (void) test_bond (void)
{ {
NM_PRAGMA_WARNING_DISABLE("-Wtautological-compare") if (nmtst_platform_is_root_test () &&
if (SETUP == nm_linux_platform_setup &&
!g_file_test ("/proc/1/net/bonding", G_FILE_TEST_IS_DIR) && !g_file_test ("/proc/1/net/bonding", G_FILE_TEST_IS_DIR) &&
system("modprobe --show bonding") != 0) { system("modprobe --show bonding") != 0) {
g_test_skip ("Skipping test for bonding: bonding module not available"); g_test_skip ("Skipping test for bonding: bonding module not available");
return; return;
} }
NM_PRAGMA_WARNING_REENABLE
test_software (NM_LINK_TYPE_BOND, "bond"); test_software (NM_LINK_TYPE_BOND, "bond");
} }