mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-05 01:47:58 +02:00
platform/tests: add --no-persist option to monitor
This commit is contained in:
parent
e934bfb5d8
commit
77cf564b45
1 changed files with 37 additions and 1 deletions
|
|
@ -10,6 +10,36 @@
|
|||
|
||||
NMTST_DEFINE ();
|
||||
|
||||
static struct {
|
||||
gboolean persist;
|
||||
} global_opt = {
|
||||
.persist = TRUE,
|
||||
};
|
||||
|
||||
static gboolean
|
||||
read_argv (int *argc, char ***argv)
|
||||
{
|
||||
GOptionContext *context;
|
||||
GOptionEntry options[] = {
|
||||
{ "no-persist", 'P', G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &global_opt.persist, "Exit after processing netlink messages", NULL },
|
||||
{ 0 },
|
||||
};
|
||||
gs_free_error GError *error = NULL;
|
||||
|
||||
context = g_option_context_new (NULL);
|
||||
g_option_context_set_summary (context, "Monitor netlink events in NMPlatform.");
|
||||
g_option_context_add_main_entries (context, options, NULL);
|
||||
|
||||
if (!g_option_context_parse (context, argc, argv, &error)) {
|
||||
g_warning ("Error parsing command line arguments: %s", error->message);
|
||||
g_option_context_free (context);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
g_option_context_free (context);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
|
|
@ -20,13 +50,19 @@ main (int argc, char **argv)
|
|||
|
||||
nmtst_init_with_logging (&argc, &argv, "DEBUG", "ALL");
|
||||
|
||||
if (!read_argv (&argc, &argv))
|
||||
return 2;
|
||||
|
||||
nm_log_info (LOGD_PLATFORM, "platform monitor start");
|
||||
|
||||
loop = g_main_loop_new (NULL, FALSE);
|
||||
|
||||
nm_linux_platform_setup ();
|
||||
|
||||
g_main_loop_run (loop);
|
||||
if (global_opt.persist)
|
||||
g_main_loop_run (loop);
|
||||
|
||||
g_main_loop_unref (loop);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue