[glib: 1/2] Move tests/env-test.c into glib/tests/environment.c




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]