mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 11:26:16 +01:00
Add tests for new g_environ_ functions
This commit is contained in:
parent
7a9987d35d
commit
94c246e8e3
@ -1,7 +1,7 @@
|
|||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_environment (void)
|
test_listenv (void)
|
||||||
{
|
{
|
||||||
GHashTable *table;
|
GHashTable *table;
|
||||||
gchar **list;
|
gchar **list;
|
||||||
@ -40,12 +40,70 @@ test_environment (void)
|
|||||||
g_strfreev (list);
|
g_strfreev (list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
test_setenv (void)
|
||||||
|
{
|
||||||
|
const gchar *var, *value;
|
||||||
|
|
||||||
|
var = "NOSUCHENVVAR";
|
||||||
|
value = "value1";
|
||||||
|
|
||||||
|
g_assert (g_getenv (var) == NULL);
|
||||||
|
g_setenv (var, value, FALSE);
|
||||||
|
g_assert_cmpstr (g_getenv (var), ==, value);
|
||||||
|
g_assert (g_setenv (var, "value2", FALSE));
|
||||||
|
g_assert_cmpstr (g_getenv (var), ==, value);
|
||||||
|
g_assert (g_setenv (var, "value2", TRUE));
|
||||||
|
g_assert_cmpstr (g_getenv (var), ==, "value2");
|
||||||
|
g_unsetenv (var);
|
||||||
|
g_assert (g_getenv (var) == NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
test_environ_array (void)
|
||||||
|
{
|
||||||
|
gchar **env;
|
||||||
|
const gchar *value;
|
||||||
|
|
||||||
|
env = g_new (gchar *, 1);
|
||||||
|
env[0] = NULL;
|
||||||
|
|
||||||
|
value = g_environ_getenv (env, "foo");
|
||||||
|
g_assert (value == NULL);
|
||||||
|
|
||||||
|
env = g_environ_setenv (env, "foo", "bar", TRUE);
|
||||||
|
value = g_environ_getenv (env, "foo");
|
||||||
|
g_assert_cmpstr (value, ==, "bar");
|
||||||
|
|
||||||
|
env = g_environ_setenv (env, "foo2", "bar2", FALSE);
|
||||||
|
value = g_environ_getenv (env, "foo");
|
||||||
|
g_assert_cmpstr (value, ==, "bar");
|
||||||
|
value = g_environ_getenv (env, "foo2");
|
||||||
|
g_assert_cmpstr (value, ==, "bar2");
|
||||||
|
|
||||||
|
env = g_environ_setenv (env, "foo", "x", FALSE);
|
||||||
|
value = g_environ_getenv (env, "foo");
|
||||||
|
g_assert_cmpstr (value, ==, "bar");
|
||||||
|
|
||||||
|
env = g_environ_setenv (env, "foo", "x", TRUE);
|
||||||
|
value = g_environ_getenv (env, "foo");
|
||||||
|
g_assert_cmpstr (value, ==, "x");
|
||||||
|
|
||||||
|
env = g_environ_unsetenv (env, "foo2");
|
||||||
|
value = g_environ_getenv (env, "foo2");
|
||||||
|
g_assert (value == NULL);
|
||||||
|
|
||||||
|
g_strfreev (env);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
g_test_init (&argc, &argv, NULL);
|
g_test_init (&argc, &argv, NULL);
|
||||||
|
|
||||||
g_test_add_func ("/glib/environment", test_environment);
|
g_test_add_func ("/environ/listenv", test_listenv);
|
||||||
|
g_test_add_func ("/environ/setenv", test_setenv);
|
||||||
|
g_test_add_func ("/environ/array", test_environ_array);
|
||||||
|
|
||||||
return g_test_run ();
|
return g_test_run ();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user