summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--modules/string-desc-tests1
-rw-r--r--tests/test-string-desc.c16
-rwxr-xr-xtests/test-string-desc.sh2
4 files changed, 24 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index f795a64580..33cf7be324 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2023-04-22 Bruno Haible <bruno@clisp.org>
+ string-desc tests: Avoid test failure on native Windows.
+ * tests/test-string-desc.c: Include <fcntl.h>, <unistd.h>.
+ (main): Expect a file name argument. Write to this file, instead of to
+ fd 3.
+ * tests/test-string-desc.sh: Pass a file name as argument, instead of
+ using '3>'.
+ * modules/string-desc-tests (Depends-on): Add close.
+
+2023-04-22 Bruno Haible <bruno@clisp.org>
+
threadlib, pthread-h, threads-h: Avoid mingw's libwinpthread by default.
* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Set
gl_use_winpthreads_default to 'no' by default.
diff --git a/modules/string-desc-tests b/modules/string-desc-tests
index d7923c3a60..687d4e2af2 100644
--- a/modules/string-desc-tests
+++ b/modules/string-desc-tests
@@ -4,6 +4,7 @@ tests/test-string-desc.c
tests/macros.h
Depends-on:
+close
configure.ac:
diff --git a/tests/test-string-desc.c b/tests/test-string-desc.c
index 53aeb68743..042e6cb6a9 100644
--- a/tests/test-string-desc.c
+++ b/tests/test-string-desc.c
@@ -20,14 +20,20 @@
#include "string-desc.h"
+#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#include "macros.h"
int
-main (void)
+main (int argc, char *argv[])
{
+ ASSERT (argc > 1);
+ int fd3 = open (argv[1], O_RDWR | O_TRUNC | O_CREAT, 0600);
+ ASSERT (fd3 >= 0);
+
string_desc_t s0 = string_desc_new_empty ();
string_desc_t s1 = string_desc_from_c ("Hello world!");
string_desc_t s2 = string_desc_new_addr (21, "The\0quick\0brown\0\0fox");
@@ -109,9 +115,9 @@ main (void)
string_desc_from_c ("llo")) == 0);
/* Test string_desc_write. */
- ASSERT (string_desc_write (3, s0) == 0);
- ASSERT (string_desc_write (3, s1) == 0);
- ASSERT (string_desc_write (3, s2) == 0);
+ ASSERT (string_desc_write (fd3, s0) == 0);
+ ASSERT (string_desc_write (fd3, s1) == 0);
+ ASSERT (string_desc_write (fd3, s2) == 0);
/* Test string_desc_fwrite. */
ASSERT (string_desc_fwrite (stdout, s0) == 0);
@@ -182,5 +188,7 @@ main (void)
free (ptr);
}
+ close (fd3);
+
return 0;
}
diff --git a/tests/test-string-desc.sh b/tests/test-string-desc.sh
index 57f0e2371b..a4d92792eb 100755
--- a/tests/test-string-desc.sh
+++ b/tests/test-string-desc.sh
@@ -1,7 +1,7 @@
#!/bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ .
-${CHECKER} test-string-desc${EXEEXT} > test-string-desc-1.tmp 3> test-string-desc-3.tmp || Exit 1
+${CHECKER} test-string-desc${EXEEXT} test-string-desc-3.tmp > test-string-desc-1.tmp || Exit 1
printf 'Hello world!The\0quick\0brown\0\0fox\0' > test-string-desc.ok