mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-06 02:18:00 +02:00
platform/test: refactor detection of root-test
This commit is contained in:
parent
bdb2f94519
commit
313af401d3
3 changed files with 13 additions and 6 deletions
|
|
@ -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 ();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue