[PATCH 3/4] Fix 'make check' in utils

Jon Turney jon.turney@dronecode.org.uk
Thu Nov 12 19:46:27 GMT 2020


This has a test of the path translation code used in various
utilities (mount, cygpath, strace).

MOUNT_BINARY is replaced with the absence of MOUNT_TEXT since 26e0b37e.
The isys member of mnt_t struct was removed in b677a99b.

> $ make check
[...]
> total tests: 63
> pass       : 63 (100.0%)
> fail       : 0 (0.0%)
---
 winsup/utils/Makefile.in |  4 ++--
 winsup/utils/path.h      |  2 ++
 winsup/utils/testsuite.h | 16 ++++++++--------
 3 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/winsup/utils/Makefile.in b/winsup/utils/Makefile.in
index a9d66a5ee..46ca13c04 100644
--- a/winsup/utils/Makefile.in
+++ b/winsup/utils/Makefile.in
@@ -123,9 +123,9 @@ MINGW_BINS += testsuite.exe
 MINGW_OBJS += path-testsuite.o testsuite.o
 testsuite.exe: path-testsuite.o
 path-testsuite.cc: path.cc ; @test -L $@ || ln -sf ${filter %.cc,$^} $@
-path-testsuite.o: MINGW_CXXFLAGS += -DTESTSUITE
+path-testsuite.o: MINGW_CXXFLAGS += -DTESTSUITE -Wno-error=write-strings
 # this is necessary because this .c lives in the build dir instead of src
-path-testsuite.o: MINGW_CXX := ${patsubst -I.,-I$(utils_source),$(MINGW_CXX)}
+path-testsuite.o: MINGW_CXXFLAGS += -I$(srcdir)
 path-testsuite.cc path.cc testsuite.cc: testsuite.h
 check: testsuite.exe ; $(<D)/$(<F)
 
diff --git a/winsup/utils/path.h b/winsup/utils/path.h
index ee7c28a7a..af5deeba6 100644
--- a/winsup/utils/path.h
+++ b/winsup/utils/path.h
@@ -22,7 +22,9 @@ int get_word (HANDLE, int);
 int get_dword (HANDLE, int);
 bool from_fstab_line (mnt_t *m, char *line, bool user);
 
+#ifndef TESTSUITE
 extern mnt_t mount_table[255];
+#endif
 extern int max_mount_entry;
 
 #ifndef SYMLINK_MAX
diff --git a/winsup/utils/testsuite.h b/winsup/utils/testsuite.h
index 4ed9eb2c4..d0a47b23a 100644
--- a/winsup/utils/testsuite.h
+++ b/winsup/utils/testsuite.h
@@ -29,14 +29,14 @@ details. */
 
 #if defined(TESTSUITE_MOUNT_TABLE)
 static mnt_t mount_table[] = {
-/* native                 posix               flags                        issys */
- { TESTSUITE_ROOT,        (char*)"/",                MOUNT_BINARY | MOUNT_SYSTEM, 1 },
- { "O:\\other",           (char*)"/otherdir",        MOUNT_BINARY | MOUNT_SYSTEM, 1 },
- { "S:\\some\\dir",       (char*)"/somedir",         MOUNT_BINARY | MOUNT_SYSTEM, 1 },
- { TESTSUITE_ROOT"\\bin", (char*)"/usr/bin",         MOUNT_BINARY | MOUNT_SYSTEM, 1 },
- { TESTSUITE_ROOT"\\lib", (char*)"/usr/lib",         MOUNT_BINARY | MOUNT_SYSTEM, 1 },
- { ".",                   (char*)TESTSUITE_CYGDRIVE, MOUNT_BINARY | MOUNT_SYSTEM | MOUNT_CYGDRIVE, 1 },
- { NULL,                  (char*)NULL,               0,                           0 }
+/* native                 posix               flags */
+ { TESTSUITE_ROOT,        (char*)"/",                MOUNT_SYSTEM},
+ { "O:\\other",           (char*)"/otherdir",        MOUNT_SYSTEM},
+ { "S:\\some\\dir",       (char*)"/somedir",         MOUNT_SYSTEM},
+ { TESTSUITE_ROOT"\\bin", (char*)"/usr/bin",         MOUNT_SYSTEM},
+ { TESTSUITE_ROOT"\\lib", (char*)"/usr/lib",         MOUNT_SYSTEM},
+ { ".",                   (char*)TESTSUITE_CYGDRIVE, MOUNT_SYSTEM | MOUNT_CYGDRIVE},
+ { NULL,                  (char*)NULL,               0}
 };
 
 
-- 
2.29.2



More information about the Cygwin-patches mailing list