tests: add "/bin:/sbin" to "$PATH" for unit tests
We call `tc` from iproute2, which commonly is at "/sbin/tc". That might not be in the "$PATH" of a regular user, and consequently we fail to run the test. Work around that by always adding "/bin" and "/sbin" to the $PATH.
This commit is contained in:
@@ -624,6 +624,23 @@ __nmtst_init(int * argc,
|
||||
g_setenv("G_MESSAGES_DEBUG", "all", TRUE);
|
||||
}
|
||||
|
||||
/* "tc" is in /sbin, which might not be in $PATH of a regular user. Unconditionally
|
||||
* add "/bin" and "/sbin" to $PATH for all tests. */
|
||||
{
|
||||
static char *path_new;
|
||||
const char * path_old;
|
||||
|
||||
g_assert(!path_new);
|
||||
|
||||
path_old = g_getenv("PATH");
|
||||
path_new = g_strjoin("",
|
||||
path_old ?: "",
|
||||
(nm_str_is_empty(path_old) ? "" : ":"),
|
||||
"/bin:/sbin",
|
||||
NULL);
|
||||
g_setenv("PATH", path_new, TRUE);
|
||||
}
|
||||
|
||||
/* Delay messages until we setup logging. */
|
||||
for (i = 0; i < debug_messages->len; i++)
|
||||
__NMTST_LOG(g_message, "%s", g_array_index(debug_messages, const char *, i));
|
||||
|
Reference in New Issue
Block a user