>From 53264cafd08fde37831ad6483d31abf578249b82 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 4 Feb 2011 18:33:26 +0100 Subject: [PATCH 2/4] canonicalize-lgpl: Add basic sanity checks for mingw demonstrating general breakage. 2011-02-04 Jan Nieuwenhuizen * tests/test-canonicalize-lgpl.c (main)[(_WIN32 || __WIN32__) && ! __CYGWIN__]: Add basic sanity checks for mingw along with debug printing demonstrating general breakage. --- ChangeLog | 6 ++++++ tests/test-canonicalize-lgpl.c | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 0 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0b3df9a..24d1998 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2011-02-04 Jan Nieuwenhuizen + * tests/test-canonicalize-lgpl.c (main)[(_WIN32 || __WIN32__) && ! __CYGWIN__]: + Add basic sanity checks for mingw along with debug printing demonstrating + general breakage. + +2011-02-04 Jan Nieuwenhuizen + * tests/test-canonicalize-lgpl.c (main): Add support for running without Cygwin by using CPPFLAGS='-DRM_RF="del /r/q"'. Off by default. diff --git a/tests/test-canonicalize-lgpl.c b/tests/test-canonicalize-lgpl.c index 9682ca4..1e10af0 100644 --- a/tests/test-canonicalize-lgpl.c +++ b/tests/test-canonicalize-lgpl.c @@ -103,6 +103,44 @@ main (void) ASSERT (errno == ENOENT); } +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + /* Check basic drive letter sanity. */ + { + char *cwd; + char *test; + char *result; + + /* Check if BASE has a canonical name. */ + result = canonicalize_file_name (BASE); + fprintf (stderr, "BASE-canon: %s\n", result); + ASSERT (result != NULL); + + /* Check if BASE's canonical name is somewhat canonical. */ + ASSERT ((strchr (result, '/') == NULL) + != (strchr (result, '\\') == NULL)); + + /* Check if CWD has a canonical name. */ + cwd = getcwd (NULL, 0); + fprintf (stderr, "CWD: %s\n", cwd); + result = canonicalize_file_name (cwd); + fprintf (stderr, "CWD-canon: %s\n", result); + ASSERT (result != NULL); + + /* Check basic drive letter sanity. */ + test = "c:/"; + result = canonicalize_file_name (test); + ASSERT (strcmp (result, test) == 0); + fprintf (stderr, "C:/-canon: %s\n", result); + result = canonicalize_file_name ("C:\\"); + ASSERT (strcmp (result, test) == 0); + fprintf (stderr, "C:\\-canon: %s\n", result); + result = canonicalize_file_name ("C:"); + ASSERT (strcmp (result, test) == 0); + fprintf (stderr, "C:-canon: %s\n", result); + free (cwd); + } +#endif /* (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ */ + /* From here on out, tests involve symlinks. */ if (symlink (BASE "/ket", "ise") != 0) { -- 1.7.1