[glib: 1/2] Move tests/env-test.c into glib/tests/environment.c
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 1/2] Move tests/env-test.c into glib/tests/environment.c
- Date: Fri, 17 Dec 2021 11:51:52 +0000 (UTC)
commit 20c8ea1bc651bc4b79d39b80d42b468f6e7a2dc8
Author: Emmanuel Fleury <emmanuel fleury gmail com>
Date: Thu Dec 16 16:27:59 2021 +0100
Move tests/env-test.c into glib/tests/environment.c
glib/tests/environment.c | 81 +++++++++++++++++++++++++++++++++++
tests/env-test.c | 109 -----------------------------------------------
tests/meson.build | 1 -
3 files changed, 81 insertions(+), 110 deletions(-)
---
diff --git a/glib/tests/environment.c b/glib/tests/environment.c
index aba19a7ae..486acc907 100644
--- a/glib/tests/environment.c
+++ b/glib/tests/environment.c
@@ -1,3 +1,20 @@
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 2010 Ryan Lortie
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ */
+
#include <glib.h>
static void
@@ -41,6 +58,69 @@ test_listenv (void)
g_strfreev (list);
}
+static void
+test_getenv (void)
+{
+ const gchar *data;
+ const gchar *variable = "TEST_G_SETENV";
+ const gchar *value1 = "works";
+ const gchar *value2 = "again";
+
+ /* Check that TEST_G_SETENV is not already set */
+ g_assert_null (g_getenv (variable));
+
+ /* Check if g_setenv() failed */
+ g_assert_cmpint (g_setenv (variable, value1, TRUE), !=, 0);
+
+ data = g_getenv (variable);
+ g_assert_nonnull (data);
+ g_assert_cmpstr (data, ==, value1);
+
+ g_assert_cmpint (g_setenv (variable, value2, FALSE), !=, 0);
+
+ data = g_getenv (variable);
+ g_assert_nonnull (data);
+ g_assert_cmpstr (data, !=, value2);
+ g_assert_cmpstr (data, ==, value1);
+
+ g_assert_cmpint (g_setenv (variable, value2, TRUE), !=, 0);
+
+ data = g_getenv (variable);
+ g_assert_nonnull (data);
+ g_assert_cmpstr (data, !=, value1);
+ g_assert_cmpstr (data, ==, value2);
+
+ g_unsetenv (variable);
+ g_assert_null (g_getenv (variable));
+
+ if (g_test_undefined ())
+ {
+ g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL,
+ "*assertion* == NULL*");
+ g_assert_false (g_setenv ("foo=bar", "baz", TRUE));
+ g_test_assert_expected_messages ();
+ }
+
+ g_assert_true (g_setenv ("foo", "bar=baz", TRUE));
+
+ data = g_getenv ("foo=bar");
+ g_assert_cmpstr (data, ==, "baz");
+
+ data = g_getenv ("foo");
+ g_assert_cmpstr (data, ==, "bar=baz");
+
+ if (g_test_undefined ())
+ {
+ g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL,
+ "*assertion* == NULL*");
+ g_unsetenv ("foo=bar");
+ g_test_assert_expected_messages ();
+ }
+
+ g_unsetenv ("foo");
+ g_assert_null (g_getenv ("foo"));
+}
+
static void
test_setenv (void)
{
@@ -160,6 +240,7 @@ main (int argc, char **argv)
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/environ/listenv", test_listenv);
+ g_test_add_func ("/environ/getenv", test_getenv);
g_test_add_func ("/environ/setenv", test_setenv);
g_test_add_func ("/environ/array", test_environ_array);
g_test_add_func ("/environ/null", test_environ_null);
diff --git a/tests/meson.build b/tests/meson.build
index 9bb97fd5e..585e10549 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -19,7 +19,6 @@ tests = {
'testglib' : {'tap' : true},
'testgdate' : {},
'file-test' : {},
- 'env-test' : {},
'gio-test' : {},
'mainloop-test' : {},
'mapping-test' : {},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]