summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuel Fleury <emmanuel.fleury@gmail.com>2021-12-16 01:16:41 +0100
committerPhilip Withnall <pwithnall@endlessos.org>2021-12-16 10:41:13 +0000
commit9f760a7cc1ff787ba79ba0dd80bae12b70f12e9b (patch)
tree2086fc8d80edf36299e7346e63164e6de6eeb7b3
parentdce8d110d6c0163485eded34e4717e9db9b8aa96 (diff)
downloadglib-9f760a7cc1ff787ba79ba0dd80bae12b70f12e9b.tar.gz
Moving tests/dirname-test.c to glib/tests/fileutils.c
Helps issue #1434
-rw-r--r--glib/tests/fileutils.c62
-rw-r--r--tests/dirname-test.c117
-rw-r--r--tests/meson.build1
3 files changed, 62 insertions, 118 deletions
diff --git a/glib/tests/fileutils.c b/glib/tests/fileutils.c
index a3c1c33d0..f11a855b9 100644
--- a/glib/tests/fileutils.c
+++ b/glib/tests/fileutils.c
@@ -835,6 +835,67 @@ test_basename (void)
}
static void
+test_dirname (void)
+{
+ gsize i;
+ struct {
+ const gchar *filename;
+ const gchar *dirname;
+ } dirname_checks[] = {
+ { "/", "/" },
+ { "////", "/" },
+ { ".////", "." },
+ { ".", "." },
+ { "..", "." },
+ { "../", ".." },
+ { "..////", ".." },
+ { "", "." },
+ { "a/b", "a" },
+ { "a/b/", "a/b" },
+ { "c///", "c" },
+ { "/a/b", "/a" },
+ { "/a/b/", "/a/b" },
+#ifdef G_OS_WIN32
+ { "\\", "\\" },
+ { ".\\\\\\\\", "." },
+ { ".\\/\\/", "." },
+ { ".", "." },
+ { "..", "." },
+ { "..\\", ".." },
+ { "..\\\\\\\\", ".." },
+ { "..\\//\\", ".." },
+ { "", "." },
+ { "a\\b", "a" },
+ { "a\\b\\", "a\\b" },
+ { "\\a\\b", "\\a" },
+ { "\\a\\b\\", "\\a\\b" },
+ { "c\\\\\\", "c" },
+ { "c/\\\\", "c" },
+ { "a:", "a:." },
+ { "a:foo", "a:." },
+ { "a:foo\\bar", "a:foo" },
+ { "a:/foo", "a:/" },
+ { "a:/foo/bar", "a:/foo" },
+ { "a:/", "a:/" },
+ { "a://", "a:/" },
+ { "a:\\foo", "a:\\" },
+ { "a:\\", "a:\\" },
+ { "a:\\\\", "a:\\" },
+ { "a:\\/", "a:\\" },
+#endif
+ };
+
+ for (i = 0; i < G_N_ELEMENTS (dirname_checks); i++)
+ {
+ gchar *dirname;
+
+ dirname = g_path_get_dirname (dirname_checks[i].filename);
+ g_assert_cmpstr (dirname, ==, dirname_checks[i].dirname);
+ g_free (dirname);
+ }
+}
+
+static void
test_dir_make_tmp (void)
{
gchar *name;
@@ -1839,6 +1900,7 @@ main (int argc,
g_test_add_func ("/fileutils/format-size-for-display", test_format_size_for_display);
g_test_add_func ("/fileutils/errors", test_file_errors);
g_test_add_func ("/fileutils/basename", test_basename);
+ g_test_add_func ("/fileutils/dirname", test_dirname);
g_test_add_func ("/fileutils/dir-make-tmp", test_dir_make_tmp);
g_test_add_func ("/fileutils/file-open-tmp", test_file_open_tmp);
g_test_add_func ("/fileutils/mkstemp", test_mkstemp);
diff --git a/tests/dirname-test.c b/tests/dirname-test.c
deleted file mode 100644
index 81c55d56d..000000000
--- a/tests/dirname-test.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * 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/>.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <stdio.h>
-#include <string.h>
-#include "glib.h"
-
-int array[10000];
-gboolean failed = FALSE;
-
-#define TEST(m,cond) G_STMT_START { failed = !(cond); \
-if (failed) \
- { if (!m) \
- g_print ("\n(%s:%d) failed for: %s\n", __FILE__, __LINE__, ( # cond )); \
- else \
- g_print ("\n(%s:%d) failed for: %s: (%s)\n", __FILE__, __LINE__, ( # cond ), (gchar*)m); \
- } \
-else \
- g_print ("."); fflush (stdout); \
-} G_STMT_END
-
-#define C2P(c) ((gpointer) ((long) (c)))
-#define P2C(p) ((gchar) ((long) (p)))
-
-#define GLIB_TEST_STRING "el dorado "
-#define GLIB_TEST_STRING_5 "el do"
-
-int
-main (int argc,
- char *argv[])
-{
- gsize i;
- struct {
- gchar *filename;
- gchar *dirname;
- } dirname_checks[] = {
- { "/", "/" },
- { "////", "/" },
- { ".////", "." },
- { ".", "." },
- { "..", "." },
- { "../", ".." },
- { "..////", ".." },
- { "", "." },
- { "a/b", "a" },
- { "a/b/", "a/b" },
- { "c///", "c" },
- { "/a/b", "/a" },
- { "/a/b/", "/a/b" },
-#ifdef G_OS_WIN32
- { "\\", "\\" },
- { ".\\\\\\\\", "." },
- { ".\\/\\/", "." },
- { ".", "." },
- { "..", "." },
- { "..\\", ".." },
- { "..\\\\\\\\", ".." },
- { "..\\//\\", ".." },
- { "", "." },
- { "a\\b", "a" },
- { "a\\b\\", "a\\b" },
- { "\\a\\b", "\\a" },
- { "\\a\\b\\", "\\a\\b" },
- { "c\\\\\\", "c" },
- { "c/\\\\", "c" },
- { "a:", "a:." },
- { "a:foo", "a:." },
- { "a:foo\\bar", "a:foo" },
- { "a:/foo", "a:/" },
- { "a:/foo/bar", "a:/foo" },
- { "a:/", "a:/" },
- { "a://", "a:/" },
- { "a:\\foo", "a:\\" },
- { "a:\\", "a:\\" },
- { "a:\\\\", "a:\\" },
- { "a:\\/", "a:\\" },
-#endif
- };
-
- for (i = 0; i < G_N_ELEMENTS (dirname_checks); i++)
- {
- gchar *dirname;
-
- dirname = g_path_get_dirname (dirname_checks[i].filename);
- if (strcmp (dirname, dirname_checks[i].dirname) != 0)
- g_error ("%s returned %s, should return %s",
- dirname_checks[i].filename, dirname,
- dirname_checks[i].dirname);
- g_free (dirname);
- }
-
- return 0;
-}
diff --git a/tests/meson.build b/tests/meson.build
index 0f120edee..9bb97fd5e 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -18,7 +18,6 @@ subdir('refcount')
tests = {
'testglib' : {'tap' : true},
'testgdate' : {},
- 'dirname-test' : {},
'file-test' : {},
'env-test' : {},
'gio-test' : {},