diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2014-12-25 22:48:20 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2014-12-25 22:48:20 +0100 |
commit | da932d59161a2d833596be5443c81ff244d2db58 (patch) | |
tree | f0be076d5698256344227fb8c63f5da29ff57939 /test | |
parent | 88842f7126daccf205204be05d3143c73fa0624d (diff) | |
parent | 638a23483b40c5b606ee323e6612e7e454e5154b (diff) |
merge upstream changes
Diffstat (limited to 'test')
-rw-r--r-- | test/Rules.mak | 3 | ||||
-rw-r--r-- | test/misc/Makefile.in | 8 | ||||
-rw-r--r-- | test/misc/bug-glob2.c | 1 | ||||
-rw-r--r-- | test/misc/tst-inotify.c | 7 | ||||
-rw-r--r-- | test/misc/tst-utmp.c | 45 | ||||
-rw-r--r-- | test/nptl/tst-cancel7.c | 7 | ||||
-rw-r--r-- | test/nptl/tst-mqueue7.c | 6 | ||||
-rw-r--r-- | test/pwd_grp/getgroups.c | 11 | ||||
-rw-r--r-- | test/stdlib/Makefile.in | 5 | ||||
-rw-r--r-- | test/stdlib/test-mkostemp-O_CLOEXEC.c | 5 | ||||
-rw-r--r-- | test/test-skeleton.c | 17 |
11 files changed, 78 insertions, 37 deletions
diff --git a/test/Rules.mak b/test/Rules.mak index ed72db246..805a3498d 100644 --- a/test/Rules.mak +++ b/test/Rules.mak @@ -78,6 +78,9 @@ CFLAGS := -nostdinc -I$(top_builddir)$(LOCAL_INSTALL_PATH)/usr/include CFLAGS += $(XCOMMON_CFLAGS) $(KERNEL_INCLUDES) $(CC_INC) CFLAGS += $(OPTIMIZATION) $(CPU_CFLAGS) $(XWARNINGS) +$(eval $(call check-gcc-var,-Wno-missing-field-initializers)) +CFLAGS += $(CFLAG_-Wno-missing-field-initializers) + # Can't add $(OPTIMIZATION) here, it may be target-specific. # Just adding -Os for now. HOST_CFLAGS += $(XCOMMON_CFLAGS) -Os $(XWARNINGS) -std=gnu99 diff --git a/test/misc/Makefile.in b/test/misc/Makefile.in index 3dfe6179c..04b677f69 100644 --- a/test/misc/Makefile.in +++ b/test/misc/Makefile.in @@ -13,6 +13,14 @@ TESTS_DISABLED += tst-statfs # assuming host has LFS on endif CFLAGS_dirent64 := -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +ifeq ($(UCLIBC_LINUX_SPECIFIC),) +TESTS_DISABLED += tst-inotify +endif + +ifeq ($(UCLIBC_HAS_GLOB),) +TESTS_DISABLED += bug-glob2 +endif + DODIFF_dirent := 1 DODIFF_dirent64 := 1 DODIFF_tst-statfs := 1 diff --git a/test/misc/bug-glob2.c b/test/misc/bug-glob2.c index 98e3bf737..069891b03 100644 --- a/test/misc/bug-glob2.c +++ b/test/misc/bug-glob2.c @@ -18,7 +18,6 @@ <http://www.gnu.org/licenses/>. */ #include <errno.h> -#include <error.h> #include <dirent.h> #include <glob.h> #include <stdlib.h> diff --git a/test/misc/tst-inotify.c b/test/misc/tst-inotify.c index 9d940f7fd..f9f6830e3 100644 --- a/test/misc/tst-inotify.c +++ b/test/misc/tst-inotify.c @@ -11,7 +11,6 @@ #include <string.h> #include <unistd.h> #include <errno.h> -#include <error.h> #include <inttypes.h> #include <sys/inotify.h> #include <sys/fcntl.h> @@ -39,7 +38,7 @@ do_test(void) /* nonblocking inotify should return immediately with no events */ ret = read(ifd, &e, sizeof(e)); if (ret != -1 || errno != EAGAIN) { - error(0, 0, "first read() returned %d", ret); + fprintf(stderr, "first read() returned %d\n", ret); result = 1; } @@ -49,12 +48,12 @@ do_test(void) /* now check whether our event was seen */ ret = read(ifd, &e, sizeof(e)); if (ret != sizeof(e)) { - error(0, 0, "second read() returned %d", ret); + fprintf(stderr, "second read() returned %d\n", ret); result = 1; } if (!(e.mask & IN_DELETE_SELF)) { - error(0, 0, "incorrect event mask: %" PRIx32, e.mask); + fprintf(stderr, "incorrect event mask: %" PRIx32 "\n", e.mask); result = 1; } diff --git a/test/misc/tst-utmp.c b/test/misc/tst-utmp.c index ca92cf210..08a6f8ea3 100644 --- a/test/misc/tst-utmp.c +++ b/test/misc/tst-utmp.c @@ -18,7 +18,6 @@ <http://www.gnu.org/licenses/>. */ #include <errno.h> -#include <error.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> @@ -69,8 +68,11 @@ do_prepare (int argc, char *argv[]) /* Open our test file. */ fd = mkstemp (name); - if (fd == -1) - error (EXIT_FAILURE, errno, "cannot open test file `%s'", name); + if (fd == -1) { + fprintf (stderr, "cannot open test file `%s': ", name); + perror (NULL); + exit (EXIT_FAILURE); + } } struct utmp entry[] = @@ -110,7 +112,7 @@ do_init (void) { if (pututline (&entry[n]) == NULL) { - error (0, errno, "cannot write UTMP entry"); + perror ("cannot write UTMP entry"); return 1; } } @@ -135,7 +137,7 @@ do_check (void) if (n < num_entries && memcmp (ut, &entry[n], sizeof (struct utmp))) { - error (0, 0, "UTMP entry does not match"); + fprintf (stderr, "UTMP entry does not match\n"); return 1; } @@ -144,7 +146,7 @@ do_check (void) if (n != num_entries) { - error (0, 0, "number of UTMP entries is incorrect"); + fprintf (stderr, "number of UTMP entries is incorrect\n"); return 1; } @@ -176,7 +178,7 @@ simulate_login (const char *line, const char *user) if (pututline (&entry[n]) == NULL) { - error (0, errno, "cannot write UTMP entry"); + perror ("cannot write UTMP entry"); return 1; } @@ -186,7 +188,7 @@ simulate_login (const char *line, const char *user) } } - error (0, 0, "no entries available"); + fprintf (stderr, "no entries available\n"); return 1; } @@ -210,7 +212,7 @@ simulate_logout (const char *line) if (pututline (&entry[n]) == NULL) { - error (0, errno, "cannot write UTMP entry"); + perror ("cannot write UTMP entry"); return 1; } @@ -220,7 +222,7 @@ simulate_logout (const char *line) } } - error (0, 0, "no entry found for `%s'", line); + fprintf (stderr, "no entry found for `%s'\n", line); return 1; } @@ -237,7 +239,8 @@ check_login (const char *line) up = getutline (&ut); if (up == NULL) { - error (0, errno, "cannot get entry for line `%s'", line); + fprintf (stderr, "cannot get entry for line `%s': ", line); + perror(NULL); return 1; } @@ -249,7 +252,7 @@ check_login (const char *line) { if (memcmp (up, &entry[n], sizeof (struct utmp))) { - error (0, 0, "UTMP entry does not match"); + fprintf (stderr, "UTMP entry does not match\n"); return 1; } @@ -257,7 +260,7 @@ check_login (const char *line) } } - error (0, 0, "bogus entry for line `%s'", line); + fprintf (stderr, "bogus entry for line `%s'\n", line); return 1; } @@ -271,7 +274,7 @@ check_logout (const char *line) strcpy (ut.ut_line, line); if (getutline (&ut) != NULL) { - error (0, 0, "bogus login entry for `%s'", line); + fprintf (stderr, "bogus login entry for `%s'\n", line); return 1; } @@ -294,7 +297,8 @@ check_id (const char *id) up = getutid (&ut); if (up == NULL) { - error (0, errno, "cannot get entry for ID `%s'", id); + fprintf (stderr, "cannot get entry for ID `%s': ", id); + perror (NULL); return 1; } @@ -306,7 +310,7 @@ check_id (const char *id) { if (memcmp (up, &entry[n], sizeof (struct utmp))) { - error (0, 0, "UTMP entry does not match"); + fprintf (stderr, "UTMP entry does not match\n"); return 1; } @@ -314,7 +318,7 @@ check_id (const char *id) } } - error (0, 0, "bogus entry for ID `%s'", id); + fprintf (stderr, "bogus entry for ID `%s'\n", id); return 1; } @@ -331,7 +335,8 @@ check_type (int type) up = getutid (&ut); if (up == NULL) { - error (0, errno, "cannot get entry for type `%d'", type); + fprintf (stderr, "cannot get entry for type `%d': ", type); + perror (NULL); return 1; } @@ -343,7 +348,7 @@ check_type (int type) { if (memcmp (up, &entry[n], sizeof (struct utmp))) { - error (0, 0, "UTMP entry does not match"); + fprintf (stderr, "UTMP entry does not match\n"); return 1; } @@ -351,7 +356,7 @@ check_type (int type) } } - error (0, 0, "bogus entry for type `%d'", type); + fprintf (stderr, "bogus entry for type `%d'\n", type); return 1; } diff --git a/test/nptl/tst-cancel7.c b/test/nptl/tst-cancel7.c index 3bdfa9fa6..fe543f73f 100644 --- a/test/nptl/tst-cancel7.c +++ b/test/nptl/tst-cancel7.c @@ -196,13 +196,16 @@ do_cleanup (void) #define OPT_COMMAND 10000 #define OPT_PIDFILE 10001 #define CMDLINE_OPTIONS \ + "c:p:" +/* { "command", required_argument, NULL, OPT_COMMAND }, \ { "pidfile", required_argument, NULL, OPT_PIDFILE }, +*/ #define CMDLINE_PROCESS \ - case OPT_COMMAND: \ + case 'c': \ command = optarg; \ break; \ - case OPT_PIDFILE: \ + case 'p': \ pidfile = optarg; \ break; // #define CLEANUP_HANDLER do_cleanup () diff --git a/test/nptl/tst-mqueue7.c b/test/nptl/tst-mqueue7.c index e8d53ad83..01d7cd7d6 100644 --- a/test/nptl/tst-mqueue7.c +++ b/test/nptl/tst-mqueue7.c @@ -32,10 +32,12 @@ static mqd_t after_exec = (mqd_t) -1; #define CMDLINE_OPTIONS \ + "a:" +/* { "after-exec", required_argument, NULL, OPT_AFTEREXEC }, - +*/ #define CMDLINE_PROCESS \ - case OPT_AFTEREXEC: \ + case 'a': \ after_exec = (mqd_t) strtoul (optarg, NULL, 0); \ break; diff --git a/test/pwd_grp/getgroups.c b/test/pwd_grp/getgroups.c index 5769b180b..c34355215 100644 --- a/test/pwd_grp/getgroups.c +++ b/test/pwd_grp/getgroups.c @@ -13,7 +13,6 @@ #include <sys/types.h> #include <pwd.h> #include <grp.h> -#include <err.h> /* The number of errors encountered so far. */ static int problems = 0; @@ -25,7 +24,7 @@ static void print_group(gid_t gid) grp = getgrgid(gid); if (grp == NULL) { - warn("cannot find name for group ID %u", gid); + fprintf(stderr, "cannot find name for group ID %u\n", gid); problems++; } @@ -46,12 +45,14 @@ static int xgetgroups(gid_t gid, int *n_groups, gid_t ** groups) /* Add 1 just in case max_n_groups is zero. */ g = (gid_t *) malloc(max_n_groups * sizeof(gid_t) + 1); - if (g == NULL) - err(EXIT_FAILURE, "out of memory"); + if (g == NULL) { + fprintf(stderr, "out of memory\n"); + exit(EXIT_FAILURE); + } ng = getgroups(max_n_groups, g); if (ng < 0) { - warn("cannot get supplemental group list"); + fprintf(stderr, "cannot get supplemental group list\n"); ++fail; free(g); } diff --git a/test/stdlib/Makefile.in b/test/stdlib/Makefile.in index b0c724af2..135db6b33 100644 --- a/test/stdlib/Makefile.in +++ b/test/stdlib/Makefile.in @@ -6,6 +6,7 @@ DODIFF_testatexit := 1 DODIFF_teston_exit := 1 DODIFF_teststrtol := 1 -ifeq ($(ARCH_USE_MMU),) -TESTS_DISABLED := test-mkostemp-O_CLOEXEC +TESTS_DISABLED := +ifeq ($(UCLIBC_HAS_PTY),) +TESTS_DISABLED += ptytest endif diff --git a/test/stdlib/test-mkostemp-O_CLOEXEC.c b/test/stdlib/test-mkostemp-O_CLOEXEC.c index 5652086bd..9ff229af1 100644 --- a/test/stdlib/test-mkostemp-O_CLOEXEC.c +++ b/test/stdlib/test-mkostemp-O_CLOEXEC.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE_EXTENDED #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -8,6 +9,10 @@ #include <sys/wait.h> #include <errno.h> +#if !defined __ARCH_USE_MMU__ +# define fork vfork +#endif + int main(int argc, char *argv[]) { int fd, status; char buff[5]; diff --git a/test/test-skeleton.c b/test/test-skeleton.c index 6d4a8b636..69ef99f76 100644 --- a/test/test-skeleton.c +++ b/test/test-skeleton.c @@ -18,7 +18,6 @@ <http://www.gnu.org/licenses/>. */ #include <errno.h> -#include <getopt.h> #include <malloc.h> #include <search.h> #include <signal.h> @@ -46,6 +45,7 @@ #define OPT_DIRECT 1000 #define OPT_TESTDIR 1001 +#if 0 /* Not used in uClibc */ static struct option options[] = { #ifdef CMDLINE_OPTIONS @@ -55,6 +55,7 @@ static struct option options[] = { "test-dir", required_argument, NULL, OPT_TESTDIR }, { NULL, 0, NULL, 0 } }; +#endif /* PID of the test itself. */ static pid_t pid; @@ -144,7 +145,9 @@ signal_handler (int sig __attribute__ ((unused))) /* Wait for it to terminate. */ for (i = 0; i < 5; ++i) { +#ifdef __UCLIBC_HAS_REALTIME__ struct timespec ts; +#endif killed = waitpid (pid, &status, WNOHANG|WUNTRACED); if (killed != 0) break; @@ -153,9 +156,14 @@ signal_handler (int sig __attribute__ ((unused))) nanosleep() call return prematurely, all the better. We won't restart it since this probably means the child process finally died. */ +#ifdef __UCLIBC_HAS_REALTIME__ ts.tv_sec = 0; ts.tv_nsec = 100000000; nanosleep (&ts, NULL); +#else + /* No nanosleep, just sleep 1s instead of 0.1s */ + sleep(1); +#endif } if (killed != 0 && killed != pid) { @@ -234,7 +242,14 @@ main (int argc, char *argv[]) setbuf (stdout, NULL); #endif +#if 0 /* Not used in uClibc */ while ((opt = getopt_long (argc, argv, "+", options, NULL)) != -1) +#else +# ifndef CMDLINE_OPTIONS +# define CMDLINE_OPTIONS "" +# endif + while ((opt = getopt (argc, argv, "+" CMDLINE_OPTIONS)) >= 0) +#endif switch (opt) { case '?': |