Hi Romain,
looks good to me. Is it possible to resend with a small Copyright notice?
Something like: /* * Test application for mktemps/mkotemps * Copyright (C) 2015 by Romain Naour romain.naour@openwide.fr * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */
Romain Naour wrote,
Signed-off-by: Romain Naour romain.naour@openwide.fr
test/misc/tst-mkostemps.c | 154 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 test/misc/tst-mkostemps.c
diff --git a/test/misc/tst-mkostemps.c b/test/misc/tst-mkostemps.c new file mode 100644 index 0000000..1359012 --- /dev/null +++ b/test/misc/tst-mkostemps.c @@ -0,0 +1,154 @@ +/* Test for mkostemps */
+#include <stdio.h> +#include <stdlib.h> +#include <sys/stat.h> +#include <unistd.h> +#include <fcntl.h> +#include <errno.h>
+#define assert(x) \
- if (!(x)) \
- { \
fputs ("test failed: " #x "\n", stderr); \
retval = 1; \
goto the_end; \
- }
+int +main (int argc, char *argv[]) +{
- char name[256];
- char name_suffix[256];
- FILE *fp = NULL;
- int retval = 0;
- int fd;
- int flags = O_RDONLY | O_CLOEXEC;
- struct stat sb_f1;
- struct stat sb_f2;
- /* mkstemp test */
- sprintf(name, "%s-uClibc-test.XXXXXX", __FILE__);
- fd = mkstemp(name);
- fstat(fd, &sb_f1);
- assert ((sb_f1.st_mode & S_IFMT) == S_IFREG)
- stat(name, &sb_f2);
- assert ((sb_f2.st_mode & S_IFMT) == S_IFREG)
- assert (sb_f1.st_ino == sb_f2.st_ino)
- close(fd);
- unlink (name);
- /* mkstemps test */
- sprintf(name_suffix, "%s-uClibc-test.XXXXXX.txt", __FILE__);
- fd = mkstemps(name_suffix, 4);
- fstat(fd, &sb_f1);
- assert ((sb_f1.st_mode & S_IFMT) == S_IFREG)
- stat(name_suffix, &sb_f2);
- assert ((sb_f2.st_mode & S_IFMT) == S_IFREG)
- assert (sb_f1.st_ino == sb_f2.st_ino)
- close(fd);
- unlink (name_suffix);
- /* mkostemp test */
- sprintf(name, "%s-uClibc-test.XXXXXX", __FILE__);
- fd = mkostemp(name, flags);
- fstat(fd, &sb_f1);
- assert ((sb_f1.st_mode & S_IFMT) == S_IFREG)
- stat(name, &sb_f2);
- assert ((sb_f2.st_mode & S_IFMT) == S_IFREG)
- assert (sb_f1.st_ino == sb_f2.st_ino)
- assert (sb_f1.st_mode == sb_f2.st_mode)
- close(fd);
- unlink (name);
- /* mkostemps test */
- sprintf(name_suffix, "%s-uClibc-test.XXXXXX.txt", __FILE__);
- fd = mkostemps(name_suffix, 4, flags);
- fstat(fd, &sb_f1);
- assert ((sb_f1.st_mode & S_IFMT) == S_IFREG)
- stat(name, &sb_f2);
- assert ((sb_f2.st_mode & S_IFMT) == S_IFREG)
- assert (sb_f1.st_ino == sb_f2.st_ino)
- assert (sb_f1.st_mode == sb_f2.st_mode)
- close(fd);
- unlink (name_suffix);
- /* suffixlen = 0 */
- sprintf(name_suffix, "%s-uClibc-test.XXXXXX", __FILE__);
- fd = mkostemps(name_suffix, 0, flags);
- fstat(fd, &sb_f1);
- assert ((sb_f1.st_mode & S_IFMT) == S_IFREG)
- stat(name, &sb_f2);
- assert ((sb_f2.st_mode & S_IFMT) == S_IFREG)
- assert (sb_f1.st_ino == sb_f2.st_ino)
- assert (sb_f1.st_mode == sb_f2.st_mode)
- close(fd);
- unlink (name_suffix);
- /* stress tests */
- /* template len < 6 */
- sprintf(name, "XXXXX");
- fd = mkstemp(name);
- assert(fd == -1);
- assert(errno == EINVAL);
- /* suffixlen < 0 */
- sprintf(name_suffix, "%s-uClibc-test.XXXXXX.txt", __FILE__);
- fd = mkostemps(name_suffix, -1, flags);
- assert(fd == -1);
- assert(errno == EINVAL);
- /* Missing one X */
- sprintf(name_suffix, "%s-uClibc-test.XXXXX.txt", __FILE__);
- fd = mkostemps(name_suffix, 4, flags);
- assert(fd == -1);
- assert(errno == EINVAL);
- /* wrong suffixlen */
- sprintf(name_suffix, "%s-uClibc-test.XXXXXX.txt", __FILE__);
- fd = mkostemps(name_suffix, 2, flags);
- assert(fd == -1);
- assert(errno == EINVAL);
+the_end:
- if (fp != NULL)
- assert (fclose (fp) == 0);
- unlink (name);
- unlink (name_suffix);
- return retval;
+}
2.4.3
devel mailing list devel@uclibc-ng.org http://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel