summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2023-04-22 17:38:28 +0200
committerBruno Haible <bruno@clisp.org>2023-04-22 17:38:28 +0200
commit9a7378f15593b89f97d4c2e934baa957b6a7c3cf (patch)
treee98c2c3bcba47f86cfef484719185e08560612f5 /tests
parentaa9dc79d64b33822e516b6b894c7fb8fd2247981 (diff)
downloadgnulib-9a7378f15593b89f97d4c2e934baa957b6a7c3cf.tar.gz
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.
Diffstat (limited to 'tests')
-rw-r--r--tests/test-string-desc.c16
-rwxr-xr-xtests/test-string-desc.sh2
2 files changed, 13 insertions, 5 deletions
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