summaryrefslogtreecommitdiffstats
path: root/tools/regression/lib/libc
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-12-10 17:01:14 -0200
committerRenato Botelho <renato@netgate.com>2015-12-10 17:01:14 -0200
commita7ed3b08bcfc9de3d1e75679fe9292e5b09aea82 (patch)
tree71acee51f11c433be4c4a51635ce1ea4302ca4b6 /tools/regression/lib/libc
parent54cf5d1b6607c1e6f2cbf32784c33720517bce49 (diff)
parent3bc7f4d78d27696df85e118c07aa5a2630188922 (diff)
downloadFreeBSD-src-a7ed3b08bcfc9de3d1e75679fe9292e5b09aea82.zip
FreeBSD-src-a7ed3b08bcfc9de3d1e75679fe9292e5b09aea82.tar.gz
Merge remote-tracking branch 'origin/stable/10' into devel
Diffstat (limited to 'tools/regression/lib/libc')
-rw-r--r--tools/regression/lib/libc/nss/mach1
-rw-r--r--tools/regression/lib/libc/nss/test-getaddr.c134
-rw-r--r--tools/regression/lib/libc/nss/test-getgr.c140
-rw-r--r--tools/regression/lib/libc/nss/test-gethostby.c298
-rw-r--r--tools/regression/lib/libc/nss/test-getproto.c146
-rw-r--r--tools/regression/lib/libc/nss/test-getpw.c96
-rw-r--r--tools/regression/lib/libc/nss/test-getrpc.c146
-rw-r--r--tools/regression/lib/libc/nss/test-getserv.c148
-rw-r--r--tools/regression/lib/libc/nss/test-getusershell.c40
-rw-r--r--tools/regression/lib/libc/nss/testutil.h17
-rw-r--r--tools/regression/lib/libc/resolv/mach3
-rw-r--r--tools/regression/lib/libc/resolv/resolv.c5
-rw-r--r--tools/regression/lib/libc/stdio/Makefile24
-rw-r--r--tools/regression/lib/libc/stdio/test-fdopen.c105
-rw-r--r--tools/regression/lib/libc/stdio/test-fdopen.t10
-rw-r--r--tools/regression/lib/libc/stdio/test-fopen.c113
-rw-r--r--tools/regression/lib/libc/stdio/test-fopen.t10
-rw-r--r--tools/regression/lib/libc/stdio/test-freopen.c109
-rw-r--r--tools/regression/lib/libc/stdio/test-freopen.t10
-rw-r--r--tools/regression/lib/libc/stdio/test-getdelim.c187
-rw-r--r--tools/regression/lib/libc/stdio/test-getdelim.t10
-rw-r--r--tools/regression/lib/libc/stdio/test-mkostemp.c164
-rw-r--r--tools/regression/lib/libc/stdio/test-mkostemp.t10
-rw-r--r--tools/regression/lib/libc/stdio/test-open_memstream.c203
-rw-r--r--tools/regression/lib/libc/stdio/test-open_memstream.t15
-rw-r--r--tools/regression/lib/libc/stdio/test-open_wmemstream.c203
-rw-r--r--tools/regression/lib/libc/stdio/test-open_wmemstream.t15
-rw-r--r--tools/regression/lib/libc/stdio/test-perror.c108
-rw-r--r--tools/regression/lib/libc/stdio/test-perror.t10
-rw-r--r--tools/regression/lib/libc/stdio/test-print-positional.c132
-rw-r--r--tools/regression/lib/libc/stdio/test-print-positional.t10
-rw-r--r--tools/regression/lib/libc/stdio/test-printbasic.c156
-rw-r--r--tools/regression/lib/libc/stdio/test-printbasic.t10
-rw-r--r--tools/regression/lib/libc/stdio/test-printfloat.c357
-rw-r--r--tools/regression/lib/libc/stdio/test-printfloat.t10
-rw-r--r--tools/regression/lib/libc/stdio/test-scanfloat.c305
-rw-r--r--tools/regression/lib/libc/stdio/test-scanfloat.t10
37 files changed, 588 insertions, 2882 deletions
diff --git a/tools/regression/lib/libc/nss/mach b/tools/regression/lib/libc/nss/mach
index d25d8d6..ab7ce24 100644
--- a/tools/regression/lib/libc/nss/mach
+++ b/tools/regression/lib/libc/nss/mach
@@ -11,7 +11,6 @@ antioche.antioche.eu.org
boulder.tele.dk
centaurus.4web.cz
chur.math.ntnu.no
-cnftp.bjpu.edu.cn
console.netbsd.org
cvs.fi.netbsd.org
cvs.mikrolahti.fi
diff --git a/tools/regression/lib/libc/nss/test-getaddr.c b/tools/regression/lib/libc/nss/test-getaddr.c
index aae1605..f0729ec 100644
--- a/tools/regression/lib/libc/nss/test-getaddr.c
+++ b/tools/regression/lib/libc/nss/test-getaddr.c
@@ -67,22 +67,22 @@ IMPLEMENT_TEST_DATA(addrinfo)
IMPLEMENT_TEST_FILE_SNAPSHOT(addrinfo)
IMPLEMENT_2PASS_TEST(addrinfo)
-static void
+static void
clone_addrinfo(struct addrinfo *dest, struct addrinfo const *src)
{
assert(dest != NULL);
assert(src != NULL);
-
+
memcpy(dest, src, sizeof(struct addrinfo));
if (src->ai_canonname != NULL)
dest->ai_canonname = strdup(src->ai_canonname);
-
+
if (src->ai_addr != NULL) {
dest->ai_addr = (struct sockaddr *)malloc(src->ai_addrlen);
assert(dest->ai_addr != NULL);
memcpy(dest->ai_addr, src->ai_addr, src->ai_addrlen);
}
-
+
if (src->ai_next != NULL) {
dest->ai_next = (struct addrinfo *)malloc(
sizeof(struct addrinfo));
@@ -96,7 +96,7 @@ compare_addrinfo_(struct addrinfo *ai1, struct addrinfo *ai2)
{
if ((ai1 == NULL) || (ai2 == NULL))
return (-1);
-
+
if ((ai1->ai_flags != ai2->ai_flags) ||
(ai1->ai_family != ai2->ai_family) ||
(ai1->ai_socktype != ai2->ai_socktype) ||
@@ -107,11 +107,11 @@ compare_addrinfo_(struct addrinfo *ai1, struct addrinfo *ai2)
(((ai1->ai_canonname == NULL) || (ai2->ai_canonname == NULL)) &&
(ai1->ai_canonname != ai2->ai_canonname)))
return (-1);
-
- if ((ai1->ai_canonname != NULL) &&
+
+ if ((ai1->ai_canonname != NULL) &&
(strcmp(ai1->ai_canonname, ai2->ai_canonname) != 0))
return (-1);
-
+
if ((ai1->ai_addr != NULL) &&
(memcmp(ai1->ai_addr, ai2->ai_addr, ai1->ai_addrlen) != 0))
return (-1);
@@ -122,17 +122,17 @@ compare_addrinfo_(struct addrinfo *ai1, struct addrinfo *ai2)
return (compare_addrinfo_(ai1->ai_next, ai2->ai_next));
}
-static int
+static int
compare_addrinfo(struct addrinfo *ai1, struct addrinfo *ai2, void *mdata)
{
int rv;
-
+
if (debug) {
printf("testing equality of 2 addrinfo structures\n");
}
rv = compare_addrinfo_(ai1, ai2);
-
+
if (debug) {
if (rv == 0)
printf("equal\n");
@@ -142,16 +142,16 @@ compare_addrinfo(struct addrinfo *ai1, struct addrinfo *ai2, void *mdata)
printf("not equal\n");
}
}
-
+
return (rv);
}
-void
+void
free_addrinfo(struct addrinfo *ai)
{
if (ai == NULL)
return;
-
+
free(ai->ai_addr);
free(ai->ai_canonname);
free_addrinfo(ai->ai_next);
@@ -159,9 +159,9 @@ free_addrinfo(struct addrinfo *ai)
void
sdump_addrinfo(struct addrinfo *ai, char *buffer, size_t buflen)
-{
+{
int written, i;
-
+
written = snprintf(buffer, buflen, "%d %d %d %d %d ",
ai->ai_flags, ai->ai_family, ai->ai_socktype, ai->ai_protocol,
ai->ai_addrlen);
@@ -169,14 +169,14 @@ sdump_addrinfo(struct addrinfo *ai, char *buffer, size_t buflen)
if (written > buflen)
return;
buflen -= written;
-
+
written = snprintf(buffer, buflen, "%s ",
ai->ai_canonname == NULL ? "(null)" : ai->ai_canonname);
buffer += written;
if (written > buflen)
return;
buflen -= written;
-
+
if (ai->ai_addr == NULL) {
written = snprintf(buffer, buflen, "(null)");
buffer += written;
@@ -185,26 +185,26 @@ sdump_addrinfo(struct addrinfo *ai, char *buffer, size_t buflen)
buflen -= written;
} else {
for (i = 0; i < ai->ai_addrlen; ++i ) {
- written = snprintf(buffer, buflen,
+ written = snprintf(buffer, buflen,
i + 1 != ai->ai_addrlen ? "%d." : "%d",
((unsigned char *)ai->ai_addr)[i]);
buffer += written;
if (written > buflen)
return;
buflen -= written;
-
+
if (buflen == 0)
return;
- }
+ }
}
-
+
if (ai->ai_next != NULL) {
written = snprintf(buffer, buflen, ":");
buffer += written;
if (written > buflen)
return;
buflen -= written;
-
+
sdump_addrinfo(ai->ai_next, buffer, buflen);
}
}
@@ -224,12 +224,12 @@ static int
addrinfo_read_snapshot_addr(char *addr, unsigned char *result, size_t len)
{
char *s, *ps, *ts;
-
+
ps = addr;
while ( (s = strsep(&ps, ".")) != NULL) {
if (len == 0)
return (-1);
-
+
*result = (unsigned char)strtol(s, &ts, 10);
++result;
if (*ts != '\0')
@@ -265,7 +265,7 @@ addrinfo_read_snapshot_ai(struct addrinfo *ai, char *line)
goto fin;
break;
case 4:
- ai->ai_addrlen = (socklen_t)strtol(s, &ts, 10);
+ ai->ai_addrlen = (socklen_t)strtol(s, &ts, 10);
if (*ts != '\0')
goto fin;
break;
@@ -274,7 +274,7 @@ addrinfo_read_snapshot_ai(struct addrinfo *ai, char *line)
ai->ai_canonname = strdup(s);
assert(ai->ai_canonname != NULL);
}
- break;
+ break;
case 6:
if (strcmp(s, "(null)") != 0) {
ai->ai_addr = (struct sockaddr *)malloc(
@@ -284,7 +284,7 @@ addrinfo_read_snapshot_ai(struct addrinfo *ai, char *line)
rv = addrinfo_read_snapshot_addr(s,
(unsigned char *)ai->ai_addr,
ai->ai_addrlen);
-
+
if (rv != 0)
goto fin;
}
@@ -294,18 +294,18 @@ addrinfo_read_snapshot_ai(struct addrinfo *ai, char *line)
rv = -1;
goto fin;
};
-
+
++i;
}
fin:
- if ((i != 7) || (rv != 0)) {
+ if ((i != 7) || (rv != 0)) {
free_addrinfo(ai);
memset(ai, 0, sizeof(struct addrinfo));
return (-1);
}
-
- return (0);
+
+ return (0);
}
static int
@@ -317,33 +317,33 @@ addrinfo_read_snapshot_func(struct addrinfo *ai, char *line)
if (debug)
printf("1 line read from snapshot:\n%s\n", line);
-
+
rv = 0;
i = 0;
ps = line;
-
+
s = strsep(&ps, ":");
if (s == NULL)
return (-1);
-
+
rv = addrinfo_read_snapshot_ai(ai, s);
if (rv != 0)
return (-1);
-
+
ai2 = ai;
while ( (s = strsep(&ps, ":")) != NULL) {
ai2->ai_next = (struct addrinfo *)malloc(
sizeof(struct addrinfo));
assert(ai2->ai_next != NULL);
memset(ai2->ai_next, 0, sizeof(struct addrinfo));
-
+
rv = addrinfo_read_snapshot_ai(ai2->ai_next, s);
if (rv != 0) {
- free_addrinfo(ai);
+ free_addrinfo(ai);
return (-1);
}
- ai2 = ai2->ai_next;
+ ai2 = ai2->ai_next;
}
return (0);
@@ -356,36 +356,36 @@ addrinfo_test_correctness(struct addrinfo *ai, void *mdata)
printf("testing correctness with the following data:\n");
dump_addrinfo(ai);
}
-
+
if (ai == NULL)
goto errfin;
-
+
if (!((ai->ai_family >= 0) && (ai->ai_family < AF_MAX)))
goto errfin;
-
+
if ((ai->ai_socktype != 0) && (ai->ai_socktype != SOCK_STREAM) &&
(ai->ai_socktype != SOCK_DGRAM) && (ai->ai_socktype != SOCK_RAW))
goto errfin;
-
+
if ((ai->ai_protocol != 0) && (ai->ai_protocol != IPPROTO_UDP) &&
(ai->ai_protocol != IPPROTO_TCP))
goto errfin;
-
+
if ((ai->ai_flags & ~(AI_CANONNAME | AI_NUMERICHOST | AI_PASSIVE)) != 0)
goto errfin;
- if ((ai->ai_addrlen != ai->ai_addr->sa_len) ||
+ if ((ai->ai_addrlen != ai->ai_addr->sa_len) ||
(ai->ai_family != ai->ai_addr->sa_family))
goto errfin;
-
+
if (debug)
printf("correct\n");
-
- return (0);
+
+ return (0);
errfin:
if (debug)
printf("incorrect\n");
-
+
return (-1);
}
@@ -393,27 +393,27 @@ static int
addrinfo_read_hostlist_func(struct addrinfo *ai, char *line)
{
struct addrinfo *result;
- int rv;
-
+ int rv;
+
if (debug)
printf("resolving %s: ", line);
rv = getaddrinfo(line, NULL, &hints, &result);
if (rv == 0) {
if (debug)
printf("found\n");
-
+
rv = addrinfo_test_correctness(result, NULL);
if (rv != 0) {
freeaddrinfo(result);
return (rv);
}
-
+
clone_addrinfo(ai, result);
freeaddrinfo(result);
} else {
if (debug)
printf("not found\n");
-
+
memset(ai, 0, sizeof(struct addrinfo));
}
return (0);
@@ -435,10 +435,10 @@ main(int argc, char **argv)
char *snapshot_file, *hostlist_file;
int rv;
int c;
-
+
if (argc < 2)
usage();
-
+
snapshot_file = NULL;
hostlist_file = NULL;
memset(&hints, 0, sizeof(struct addrinfo));
@@ -465,38 +465,38 @@ main(int argc, char **argv)
default:
usage();
}
-
+
TEST_DATA_INIT(addrinfo, &td, clone_addrinfo, free_addrinfo);
TEST_DATA_INIT(addrinfo, &td_snap, clone_addrinfo, free_addrinfo);
-
+
if (hostlist_file == NULL)
usage();
-
+
if (access(hostlist_file, R_OK) != 0) {
if (debug)
printf("can't access the hostlist file %s\n",
hostlist_file);
-
+
usage();
}
-
+
if (debug)
printf("building host lists from %s\n", hostlist_file);
-
+
rv = TEST_SNAPSHOT_FILE_READ(addrinfo, hostlist_file, &td,
addrinfo_read_hostlist_func);
if (rv != 0)
goto fin;
-
+
if (snapshot_file != NULL) {
- if (access(snapshot_file, W_OK | R_OK) != 0) {
+ if (access(snapshot_file, W_OK | R_OK) != 0) {
if (errno == ENOENT)
method = TEST_BUILD_SNAPSHOT;
else {
if (debug)
printf("can't access the snapshot file %s\n",
snapshot_file);
-
+
rv = -1;
goto fin;
}
@@ -510,7 +510,7 @@ main(int argc, char **argv)
}
}
}
-
+
switch (method) {
case TEST_GETADDRINFO:
if (snapshot_file != NULL)
@@ -519,7 +519,7 @@ main(int argc, char **argv)
break;
case TEST_BUILD_SNAPSHOT:
if (snapshot_file != NULL) {
- rv = TEST_SNAPSHOT_FILE_WRITE(addrinfo, snapshot_file, &td,
+ rv = TEST_SNAPSHOT_FILE_WRITE(addrinfo, snapshot_file, &td,
sdump_addrinfo);
}
break;
diff --git a/tools/regression/lib/libc/nss/test-getgr.c b/tools/regression/lib/libc/nss/test-getgr.c
index 322c636..0ccebae 100644
--- a/tools/regression/lib/libc/nss/test-getgr.c
+++ b/tools/regression/lib/libc/nss/test-getgr.c
@@ -63,14 +63,14 @@ static void free_group(struct group *);
static void sdump_group(struct group *, char *, size_t);
static int group_read_snapshot_func(struct group *, char *);
-static int group_check_ambiguity(struct group_test_data *,
+static int group_check_ambiguity(struct group_test_data *,
struct group *);
static int group_fill_test_data(struct group_test_data *);
static int group_test_correctness(struct group *, void *);
static int group_test_getgrnam(struct group *, void *);
static int group_test_getgrgid(struct group *, void *);
static int group_test_getgrent(struct group *, void *);
-
+
static void usage(void) __attribute__((__noreturn__));
IMPLEMENT_TEST_DATA(group)
@@ -83,33 +83,33 @@ clone_group(struct group *dest, struct group const *src)
{
assert(dest != NULL);
assert(src != NULL);
-
+
char **cp;
int members_num;
-
+
memset(dest, 0, sizeof(struct group));
-
+
if (src->gr_name != NULL) {
dest->gr_name = strdup(src->gr_name);
assert(dest->gr_name != NULL);
}
-
+
if (src->gr_passwd != NULL) {
dest->gr_passwd = strdup(src->gr_passwd);
assert(dest->gr_passwd != NULL);
}
dest->gr_gid = src->gr_gid;
-
+
if (src->gr_mem != NULL) {
members_num = 0;
for (cp = src->gr_mem; *cp; ++cp)
++members_num;
-
+
dest->gr_mem = (char **)malloc(
(members_num + 1) * (sizeof(char *)));
assert(dest->gr_mem != NULL);
memset(dest->gr_mem, 0, (members_num+1) * (sizeof(char *)));
-
+
for (cp = src->gr_mem; *cp; ++cp) {
dest->gr_mem[cp - src->gr_mem] = strdup(*cp);
assert(dest->gr_mem[cp - src->gr_mem] != NULL);
@@ -117,52 +117,52 @@ clone_group(struct group *dest, struct group const *src)
}
}
-static void
+static void
free_group(struct group *grp)
{
char **cp;
-
+
assert(grp != NULL);
-
+
free(grp->gr_name);
free(grp->gr_passwd);
-
+
for (cp = grp->gr_mem; *cp; ++cp)
free(*cp);
free(grp->gr_mem);
}
-static int
+static int
compare_group(struct group *grp1, struct group *grp2, void *mdata)
{
char **c1, **c2;
-
+
if (grp1 == grp2)
return (0);
-
+
if ((grp1 == NULL) || (grp2 == NULL))
goto errfin;
-
+
if ((strcmp(grp1->gr_name, grp2->gr_name) != 0) ||
(strcmp(grp1->gr_passwd, grp2->gr_passwd) != 0) ||
(grp1->gr_gid != grp2->gr_gid))
goto errfin;
-
+
c1 = grp1->gr_mem;
c2 = grp2->gr_mem;
-
+
if ((grp1->gr_mem == NULL) || (grp2->gr_mem == NULL))
goto errfin;
-
+
for (;*c1 && *c2; ++c1, ++c2)
if (strcmp(*c1, *c2) != 0)
goto errfin;
-
+
if ((*c1 != '\0') || (*c2 != '\0'))
goto errfin;
-
+
return 0;
-
+
errfin:
if ((debug) && (mdata == NULL)) {
printf("following structures are not equal:\n");
@@ -178,14 +178,14 @@ sdump_group(struct group *grp, char *buffer, size_t buflen)
{
char **cp;
int written;
-
+
written = snprintf(buffer, buflen, "%s %s %d",
- grp->gr_name, grp->gr_passwd, grp->gr_gid);
+ grp->gr_name, grp->gr_passwd, grp->gr_gid);
buffer += written;
if (written > buflen)
return;
buflen -= written;
-
+
if (grp->gr_mem != NULL) {
if (*(grp->gr_mem) != '\0') {
for (cp = grp->gr_mem; *cp; ++cp) {
@@ -194,9 +194,9 @@ sdump_group(struct group *grp, char *buffer, size_t buflen)
if (written > buflen)
return;
buflen -= written;
-
+
if (buflen == 0)
- return;
+ return;
}
} else
snprintf(buffer, buflen, " nomem");
@@ -213,7 +213,7 @@ group_read_snapshot_func(struct group *grp, char *line)
if (debug)
printf("1 line read from snapshot:\n%s\n", line);
-
+
i = 0;
sl = NULL;
ps = line;
@@ -243,10 +243,10 @@ group_read_snapshot_func(struct group *grp, char *line)
if (sl == NULL) {
if (strcmp(s, "(null)") == 0)
return (0);
-
+
sl = sl_init();
assert(sl != NULL);
-
+
if (strcmp(s, "nomem") != 0) {
ts = strdup(s);
assert(ts != NULL);
@@ -257,7 +257,7 @@ group_read_snapshot_func(struct group *grp, char *line)
assert(ts != NULL);
sl_add(sl, ts);
}
- break;
+ break;
};
++i;
}
@@ -268,16 +268,16 @@ group_read_snapshot_func(struct group *grp, char *line)
memset(grp, 0, sizeof(struct group));
return (-1);
}
-
+
sl_add(sl, NULL);
grp->gr_mem = sl->sl_str;
/* NOTE: is it a dirty hack or not? */
- free(sl);
+ free(sl);
return (0);
}
-static void
+static void
dump_group(struct group *result)
{
if (result != NULL) {
@@ -292,7 +292,7 @@ static int
group_fill_test_data(struct group_test_data *td)
{
struct group *grp;
-
+
setgroupent(1);
while ((grp = getgrent()) != NULL) {
if (group_test_correctness(grp, NULL) == 0)
@@ -301,7 +301,7 @@ group_fill_test_data(struct group_test_data *td)
return (-1);
}
endgrent();
-
+
return (0);
}
@@ -312,37 +312,37 @@ group_test_correctness(struct group *grp, void *mdata)
printf("testing correctness with the following data:\n");
dump_group(grp);
}
-
+
if (grp == NULL)
goto errfin;
-
+
if (grp->gr_name == NULL)
goto errfin;
-
+
if (grp->gr_passwd == NULL)
goto errfin;
-
+
if (grp->gr_mem == NULL)
goto errfin;
-
+
if (debug)
printf("correct\n");
-
- return (0);
+
+ return (0);
errfin:
if (debug)
printf("incorrect\n");
-
+
return (-1);
}
/* group_check_ambiguity() is needed here because when doing the getgrent()
- * calls sequence, records from different nsswitch sources can be different,
+ * calls sequence, records from different nsswitch sources can be different,
* though having the same pw_name/pw_uid */
static int
group_check_ambiguity(struct group_test_data *td, struct group *pwd)
{
-
+
return (TEST_DATA_FIND(group, td, pwd, compare_group,
NULL) != NULL ? 0 : -1);
}
@@ -351,7 +351,7 @@ static int
group_test_getgrnam(struct group *grp_model, void *mdata)
{
struct group *grp;
-
+
if (debug) {
printf("testing getgrnam() with the following data:\n");
dump_group(grp_model);
@@ -360,20 +360,20 @@ group_test_getgrnam(struct group *grp_model, void *mdata)
grp = getgrnam(grp_model->gr_name);
if (group_test_correctness(grp, NULL) != 0)
goto errfin;
-
+
if ((compare_group(grp, grp_model, NULL) != 0) &&
- (group_check_ambiguity((struct group_test_data *)mdata, grp)
+ (group_check_ambiguity((struct group_test_data *)mdata, grp)
!=0))
goto errfin;
-
+
if (debug)
printf("ok\n");
return (0);
-
+
errfin:
if (debug)
printf("not ok\n");
-
+
return (-1);
}
@@ -381,14 +381,14 @@ static int
group_test_getgrgid(struct group *grp_model, void *mdata)
{
struct group *grp;
-
+
if (debug) {
printf("testing getgrgid() with the following data...\n");
dump_group(grp_model);
- }
-
+ }
+
grp = getgrgid(grp_model->gr_gid);
- if ((group_test_correctness(grp, NULL) != 0) ||
+ if ((group_test_correctness(grp, NULL) != 0) ||
((compare_group(grp, grp_model, NULL) != 0) &&
(group_check_ambiguity((struct group_test_data *)mdata, grp)
!= 0))) {
@@ -402,7 +402,7 @@ group_test_getgrgid(struct group *grp_model, void *mdata)
}
}
-static int
+static int
group_test_getgrent(struct group *grp, void *mdata)
{
/* Only correctness can be checked when doing 1-pass test for
@@ -426,10 +426,10 @@ main(int argc, char **argv)
char *snapshot_file;
int rv;
int c;
-
+
if (argc < 2)
usage();
-
+
snapshot_file = NULL;
while ((c = getopt(argc, argv, "nge2ds:")) != -1)
switch (c) {
@@ -454,18 +454,18 @@ main(int argc, char **argv)
default:
usage();
}
-
+
TEST_DATA_INIT(group, &td, clone_group, free_group);
TEST_DATA_INIT(group, &td_snap, clone_group, free_group);
if (snapshot_file != NULL) {
- if (access(snapshot_file, W_OK | R_OK) != 0) {
+ if (access(snapshot_file, W_OK | R_OK) != 0) {
if (errno == ENOENT)
method = TEST_BUILD_SNAPSHOT;
else {
if (debug)
printf("can't access the file %s\n",
snapshot_file);
-
+
rv = -1;
goto fin;
}
@@ -474,12 +474,12 @@ main(int argc, char **argv)
rv = 0;
goto fin;
}
-
+
TEST_SNAPSHOT_FILE_READ(group, snapshot_file,
&td_snap, group_read_snapshot_func);
}
}
-
+
rv = group_fill_test_data(&td);
if (rv == -1)
return (-1);
@@ -489,7 +489,7 @@ main(int argc, char **argv)
rv = DO_1PASS_TEST(group, &td,
group_test_getgrnam, (void *)&td);
else
- rv = DO_1PASS_TEST(group, &td_snap,
+ rv = DO_1PASS_TEST(group, &td_snap,
group_test_getgrnam, (void *)&td_snap);
break;
case TEST_GETGRGID:
@@ -497,7 +497,7 @@ main(int argc, char **argv)
rv = DO_1PASS_TEST(group, &td,
group_test_getgrgid, (void *)&td);
else
- rv = DO_1PASS_TEST(group, &td_snap,
+ rv = DO_1PASS_TEST(group, &td_snap,
group_test_getgrgid, (void *)&td_snap);
break;
case TEST_GETGRENT:
@@ -510,7 +510,7 @@ main(int argc, char **argv)
break;
case TEST_GETGRENT_2PASS:
TEST_DATA_INIT(group, &td_2pass, clone_group, free_group);
- rv = group_fill_test_data(&td_2pass);
+ rv = group_fill_test_data(&td_2pass);
if (rv != -1)
rv = DO_2PASS_TEST(group, &td, &td_2pass,
compare_group, NULL);
@@ -518,7 +518,7 @@ main(int argc, char **argv)
break;
case TEST_BUILD_SNAPSHOT:
if (snapshot_file != NULL)
- rv = TEST_SNAPSHOT_FILE_WRITE(group, snapshot_file, &td,
+ rv = TEST_SNAPSHOT_FILE_WRITE(group, snapshot_file, &td,
sdump_group);
break;
default:
@@ -529,6 +529,6 @@ main(int argc, char **argv)
fin:
TEST_DATA_DESTROY(group, &td_snap);
TEST_DATA_DESTROY(group, &td);
- free(snapshot_file);
+ free(snapshot_file);
return (rv);
}
diff --git a/tools/regression/lib/libc/nss/test-gethostby.c b/tools/regression/lib/libc/nss/test-gethostby.c
index 77455e7..c6cacc0 100644
--- a/tools/regression/lib/libc/nss/test-gethostby.c
+++ b/tools/regression/lib/libc/nss/test-gethostby.c
@@ -90,7 +90,7 @@ static int hostent_test_correctness(struct hostent *, void *);
static int hostent_test_gethostbyaddr(struct hostent *, void *);
static int hostent_test_getaddrinfo_eq(struct hostent *, void *);
static int hostent_test_getnameinfo_eq(struct hostent *, void *);
-
+
static void usage(void) __attribute__((__noreturn__));
IMPLEMENT_TEST_DATA(hostent)
@@ -103,7 +103,7 @@ __gethostbyname2(const char *name, int af)
{
struct hostent *he;
int error;
-
+
if (use_ipnode_functions == 0)
he = gethostbyname2(name, af);
else {
@@ -112,7 +112,7 @@ __gethostbyname2(const char *name, int af)
if (he == NULL);
errno = error;
}
-
+
return (he);
}
@@ -121,7 +121,7 @@ __gethostbyaddr(const void *addr, socklen_t len, int af)
{
struct hostent *he;
int error;
-
+
if (use_ipnode_functions == 0)
he = gethostbyaddr(addr, len, af);
else {
@@ -130,8 +130,8 @@ __gethostbyaddr(const void *addr, socklen_t len, int af)
if (he == NULL)
errno = error;
}
-
- return (he);
+
+ return (he);
}
static void
@@ -147,44 +147,44 @@ clone_hostent(struct hostent *dest, struct hostent const *src)
{
assert(dest != NULL);
assert(src != NULL);
-
+
char **cp;
int aliases_num;
int addrs_num;
size_t offset;
-
+
memset(dest, 0, sizeof(struct hostent));
-
+
if (src->h_name != NULL) {
dest->h_name = strdup(src->h_name);
assert(dest->h_name != NULL);
}
-
+
dest->h_addrtype = src->h_addrtype;
dest->h_length = src->h_length;
-
+
if (src->h_aliases != NULL) {
aliases_num = 0;
for (cp = src->h_aliases; *cp; ++cp)
++aliases_num;
-
+
dest->h_aliases = (char **)malloc((aliases_num + 1) *
(sizeof(char *)));
assert(dest->h_aliases != NULL);
memset(dest->h_aliases, 0, (aliases_num + 1) *
(sizeof(char *)));
-
+
for (cp = src->h_aliases; *cp; ++cp) {
dest->h_aliases[cp - src->h_aliases] = strdup(*cp);
assert(dest->h_aliases[cp - src->h_aliases] != NULL);
}
}
-
+
if (src->h_addr_list != NULL) {
addrs_num = 0;
for (cp = src->h_addr_list; *cp; ++cp)
++addrs_num;
-
+
dest->h_addr_list = (char **)malloc((addrs_num + 1) *
(sizeof(char *)));
assert(dest->h_addr_list != NULL);
@@ -193,7 +193,7 @@ clone_hostent(struct hostent *dest, struct hostent const *src)
for (cp = src->h_addr_list; *cp; ++cp) {
offset = cp - src->h_addr_list;
- dest->h_addr_list[offset] =
+ dest->h_addr_list[offset] =
(char *)malloc(src->h_length);
assert(dest->h_addr_list[offset] != NULL);
memcpy(dest->h_addr_list[offset],
@@ -202,15 +202,15 @@ clone_hostent(struct hostent *dest, struct hostent const *src)
}
}
-static void
+static void
free_hostent(struct hostent *ht)
{
char **cp;
-
+
assert(ht != NULL);
-
+
free(ht->h_name);
-
+
if (ht->h_aliases != NULL) {
for (cp = ht->h_aliases; *cp; ++cp)
free(*cp);
@@ -224,33 +224,33 @@ free_hostent(struct hostent *ht)
}
}
-static int
+static int
compare_hostent(struct hostent *ht1, struct hostent *ht2, void *mdata)
{
char **c1, **c2, **ct, **cb;
int b;
-
+
if (ht1 == ht2)
return 0;
-
+
if ((ht1 == NULL) || (ht2 == NULL))
goto errfin;
-
+
if ((ht1->h_name == NULL) || (ht2->h_name == NULL))
goto errfin;
-
+
if ((ht1->h_addrtype != ht2->h_addrtype) ||
- (ht1->h_length != ht2->h_length) ||
+ (ht1->h_length != ht2->h_length) ||
(strcmp(ht1->h_name, ht2->h_name) != 0))
goto errfin;
-
+
c1 = ht1->h_aliases;
c2 = ht2->h_aliases;
-
+
if (((ht1->h_aliases == NULL) || (ht2->h_aliases == NULL)) &&
(ht1->h_aliases != ht2->h_aliases))
goto errfin;
-
+
if ((c1 != NULL) && (c2 != NULL)) {
cb = c1;
for (;*c1; ++c1) {
@@ -286,14 +286,14 @@ compare_hostent(struct hostent *ht1, struct hostent *ht2, void *mdata)
}
}
}
-
+
c1 = ht1->h_addr_list;
c2 = ht2->h_addr_list;
-
+
if (((ht1->h_addr_list == NULL) || (ht2->h_addr_list== NULL)) &&
(ht1->h_addr_list != ht2->h_addr_list))
goto errfin;
-
+
if ((c1 != NULL) && (c2 != NULL)) {
cb = c1;
for (;*c1; ++c1) {
@@ -311,7 +311,7 @@ compare_hostent(struct hostent *ht1, struct hostent *ht2, void *mdata)
goto errfin;
}
}
-
+
c1 = cb;
for (;*c2; ++c2) {
b = 0;
@@ -331,7 +331,7 @@ compare_hostent(struct hostent *ht1, struct hostent *ht2, void *mdata)
}
return 0;
-
+
errfin:
if ((debug) && (mdata == NULL)) {
printf("following structures are not equal:\n");
@@ -346,28 +346,28 @@ static int
check_addrinfo_for_name(struct addrinfo *ai, char const *name)
{
struct addrinfo *ai2;
-
+
for (ai2 = ai; ai2 != NULL; ai2 = ai2->ai_next) {
if (strcmp(ai2->ai_canonname, name) == 0)
return (0);
}
-
+
return (-1);
}
static int
-check_addrinfo_for_addr(struct addrinfo *ai, char const *addr,
+check_addrinfo_for_addr(struct addrinfo *ai, char const *addr,
socklen_t addrlen, int af)
{
struct addrinfo *ai2;
-
+
for (ai2 = ai; ai2 != NULL; ai2 = ai2->ai_next) {
if (af != ai2->ai_family)
continue;
-
+
switch (af) {
case AF_INET:
- if (memcmp(addr,
+ if (memcmp(addr,
(void *)&((struct sockaddr_in *)ai2->ai_addr)->sin_addr,
min(addrlen, ai2->ai_addrlen)) == 0)
return (0);
@@ -382,24 +382,24 @@ check_addrinfo_for_addr(struct addrinfo *ai, char const *addr,
break;
}
}
-
+
return (-1);
}
-static int
+static int
is_hostent_equal(struct hostent *he, struct addrinfo *ai)
{
char **cp;
int rv;
-
+
if (debug)
printf("checking equality of he and ai\n");
-
+
rv = check_addrinfo_for_name(ai, he->h_name);
if (rv != 0) {
if (debug)
printf("not equal - he->h_name couldn't be found\n");
-
+
return (rv);
}
@@ -409,14 +409,14 @@ is_hostent_equal(struct hostent *he, struct addrinfo *ai)
if (rv != 0) {
if (debug)
printf("not equal - one of he->h_addr_list couldn't be found\n");
-
+
return (rv);
}
}
-
+
if (debug)
printf("equal\n");
-
+
return (0);
}
@@ -426,14 +426,14 @@ sdump_hostent(struct hostent *ht, char *buffer, size_t buflen)
char **cp;
size_t i;
int written;
-
+
written = snprintf(buffer, buflen, "%s %d %d",
ht->h_name, ht->h_addrtype, ht->h_length);
buffer += written;
if (written > buflen)
return;
buflen -= written;
-
+
if (ht->h_aliases != NULL) {
if (*(ht->h_aliases) != NULL) {
for (cp = ht->h_aliases; *cp; ++cp) {
@@ -442,53 +442,53 @@ sdump_hostent(struct hostent *ht, char *buffer, size_t buflen)
if (written > buflen)
return;
buflen -= written;
-
+
if (buflen == 0)
- return;
+ return;
}
} else {
written = snprintf(buffer, buflen, " noaliases");
buffer += written;
if (written > buflen)
return;
- buflen -= written;
+ buflen -= written;
}
} else {
written = snprintf(buffer, buflen, " (null)");
buffer += written;
if (written > buflen)
return;
- buflen -= written;
+ buflen -= written;
}
-
+
written = snprintf(buffer, buflen, " : ");
buffer += written;
if (written > buflen)
return;
- buflen -= written;
+ buflen -= written;
if (ht->h_addr_list != NULL) {
if (*(ht->h_addr_list) != NULL) {
for (cp = ht->h_addr_list; *cp; ++cp) {
for (i = 0; i < ht->h_length; ++i ) {
- written = snprintf(buffer, buflen,
+ written = snprintf(buffer, buflen,
i + 1 != ht->h_length ? "%d." : "%d",
(unsigned char)(*cp)[i]);
buffer += written;
if (written > buflen)
return;
buflen -= written;
-
+
if (buflen == 0)
return;
}
-
+
if (*(cp + 1) ) {
written = snprintf(buffer, buflen, " ");
buffer += written;
if (written > buflen)
return;
- buflen -= written;
+ buflen -= written;
}
}
} else {
@@ -496,42 +496,42 @@ sdump_hostent(struct hostent *ht, char *buffer, size_t buflen)
buffer += written;
if (written > buflen)
return;
- buflen -= written;
+ buflen -= written;
}
} else {
written = snprintf(buffer, buflen, " (null)");
buffer += written;
if (written > buflen)
return;
- buflen -= written;
- }
+ buflen -= written;
+ }
}
static int
hostent_read_hostlist_func(struct hostent *he, char *line)
{
struct hostent *result;
- int rv;
-
+ int rv;
+
if (debug)
printf("resolving %s: ", line);
result = __gethostbyname2(line, af_type);
if (result != NULL) {
if (debug)
printf("found\n");
-
+
rv = hostent_test_correctness(result, NULL);
if (rv != 0) {
__freehostent(result);
return (rv);
}
-
+
clone_hostent(he, result);
__freehostent(result);
} else {
if (debug)
printf("not found\n");
-
+
memset(he, 0, sizeof(struct hostent));
he->h_name = strdup(line);
assert(he->h_name != NULL);
@@ -543,12 +543,12 @@ static int
hostent_read_snapshot_addr(char *addr, unsigned char *result, size_t len)
{
char *s, *ps, *ts;
-
+
ps = addr;
while ( (s = strsep(&ps, ".")) != NULL) {
if (len == 0)
return (-1);
-
+
*result = (unsigned char)strtol(s, &ts, 10);
++result;
if (*ts != '\0')
@@ -571,7 +571,7 @@ hostent_read_snapshot_func(struct hostent *ht, char *line)
if (debug)
printf("1 line read from snapshot:\n%s\n", line);
-
+
rv = 0;
i = 0;
sl1 = sl2 = NULL;
@@ -595,15 +595,15 @@ hostent_read_snapshot_func(struct hostent *ht, char *line)
if (*ts != '\0')
goto fin;
break;
-
+
case 3:
if (sl1 == NULL) {
if (strcmp(s, "(null)") == 0)
return (0);
-
+
sl1 = sl_init();
assert(sl1 != NULL);
-
+
if (strcmp(s, "noaliases") != 0) {
ts = strdup(s);
assert(ts != NULL);
@@ -618,16 +618,16 @@ hostent_read_snapshot_func(struct hostent *ht, char *line)
sl_add(sl1, ts);
}
}
- break;
+ break;
case 4:
if (sl2 == NULL) {
if (strcmp(s, "(null)") == 0)
return (0);
-
+
sl2 = sl_init();
assert(sl2 != NULL);
-
+
if (strcmp(s, "noaddrs") != 0) {
ts = (char *)malloc(ht->h_length);
assert(ts != NULL);
@@ -650,9 +650,9 @@ hostent_read_snapshot_func(struct hostent *ht, char *line)
}
break;
default:
- break;
+ break;
};
-
+
if ((i != 3) && (i != 4))
++i;
}
@@ -667,19 +667,19 @@ fin:
ht->h_addr_list = sl2->sl_str;
}
- if ((i != 4) || (rv != 0)) {
+ if ((i != 4) || (rv != 0)) {
free_hostent(ht);
memset(ht, 0, sizeof(struct hostent));
return (-1);
}
-
+
/* NOTE: is it a dirty hack or not? */
free(sl1);
- free(sl2);
+ free(sl2);
return (0);
}
-static void
+static void
dump_hostent(struct hostent *result)
{
if (result != NULL) {
@@ -697,34 +697,34 @@ hostent_test_correctness(struct hostent *ht, void *mdata)
printf("testing correctness with the following data:\n");
dump_hostent(ht);
}
-
+
if (ht == NULL)
goto errfin;
-
+
if (ht->h_name == NULL)
goto errfin;
if (!((ht->h_addrtype >= 0) && (ht->h_addrtype < AF_MAX)))
goto errfin;
-
- if ((ht->h_length != sizeof(struct in_addr)) &&
+
+ if ((ht->h_length != sizeof(struct in_addr)) &&
(ht->h_length != sizeof(struct in6_addr)))
goto errfin;
-
+
if (ht->h_aliases == NULL)
goto errfin;
-
+
if (ht->h_addr_list == NULL)
goto errfin;
-
+
if (debug)
printf("correct\n");
-
- return (0);
+
+ return (0);
errfin:
if (debug)
printf("incorrect\n");
-
+
return (-1);
}
@@ -733,23 +733,23 @@ hostent_test_gethostbyaddr(struct hostent *he, void *mdata)
{
struct hostent *result;
struct hostent_test_data *addr_test_data;
- int rv;
-
+ int rv;
+
addr_test_data = (struct hostent_test_data *)mdata;
-
+
/* We should omit unresolved hostents */
if (he->h_addr_list != NULL) {
char **cp;
for (cp = he->h_addr_list; *cp; ++cp) {
if (debug)
printf("doing reverse lookup for %s\n", he->h_name);
-
+
result = __gethostbyaddr(*cp, he->h_length,
he->h_addrtype);
if (result == NULL) {
if (debug)
printf("warning: reverse lookup failed\n");
-
+
continue;
}
rv = hostent_test_correctness(result, NULL);
@@ -757,14 +757,14 @@ hostent_test_gethostbyaddr(struct hostent *he, void *mdata)
__freehostent(result);
return (rv);
}
-
+
if (addr_test_data != NULL)
TEST_DATA_APPEND(hostent, addr_test_data, result);
-
+
__freehostent(result);
}
}
-
+
return (0);
}
@@ -772,16 +772,16 @@ static int
hostent_test_getaddrinfo_eq(struct hostent *he, void *mdata)
{
struct addrinfo *ai, hints;
- int rv;
-
+ int rv;
+
ai = NULL;
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = af_type;
hints.ai_flags = AI_CANONNAME;
-
+
if (debug)
printf("using getaddrinfo() to resolve %s\n", he->h_name);
-
+
/* struct hostent *he was not resolved */
if (he->h_addr_list == NULL) {
/* We can be sure that he->h_name is not NULL */
@@ -798,20 +798,20 @@ hostent_test_getaddrinfo_eq(struct hostent *he, void *mdata)
printf("not ok - should have beed resolved\n");
return (-1);
}
-
+
rv = is_hostent_equal(he, ai);
if (rv != 0) {
if (debug)
printf("not ok - addrinfo and hostent are not equal\n");
return (-1);
}
-
+
}
-
+
return (0);
}
-static int
+static int
hostent_test_getnameinfo_eq(struct hostent *he, void *mdata)
{
char buffer[NI_MAXHOST];
@@ -820,13 +820,13 @@ hostent_test_getnameinfo_eq(struct hostent *he, void *mdata)
struct sockaddr *saddr;
struct hostent *result;
int rv;
-
+
if (he->h_addr_list != NULL) {
char **cp;
for (cp = he->h_addr_list; *cp; ++cp) {
if (debug)
printf("doing reverse lookup for %s\n", he->h_name);
-
+
result = __gethostbyaddr(*cp, he->h_length,
he->h_addrtype);
if (result != NULL) {
@@ -837,16 +837,16 @@ hostent_test_getnameinfo_eq(struct hostent *he, void *mdata)
}
} else {
if (debug)
- printf("reverse lookup failed\n");
+ printf("reverse lookup failed\n");
}
-
+
switch (he->h_addrtype) {
case AF_INET:
memset(&sin, 0, sizeof(struct sockaddr_in));
sin.sin_len = sizeof(struct sockaddr_in);
sin.sin_family = AF_INET;
memcpy(&sin.sin_addr, *cp, he->h_length);
-
+
saddr = (struct sockaddr *)&sin;
break;
case AF_INET6:
@@ -854,7 +854,7 @@ hostent_test_getnameinfo_eq(struct hostent *he, void *mdata)
sin6.sin6_len = sizeof(struct sockaddr_in6);
sin6.sin6_family = AF_INET6;
memcpy(&sin6.sin6_addr, *cp, he->h_length);
-
+
saddr = (struct sockaddr *)&sin6;
break;
default:
@@ -863,38 +863,38 @@ hostent_test_getnameinfo_eq(struct hostent *he, void *mdata)
he->h_addrtype);
continue;
}
-
+
assert(saddr != NULL);
- rv = getnameinfo(saddr, saddr->sa_len, buffer,
+ rv = getnameinfo(saddr, saddr->sa_len, buffer,
sizeof(buffer), NULL, 0, NI_NAMEREQD);
-
+
if ((rv != 0) && (result != NULL)) {
if (debug)
printf("not ok - getnameinfo() didn't make the reverse lookup, when it should have (%s)\n",
gai_strerror(rv));
return (rv);
}
-
+
if ((rv == 0) && (result == NULL)) {
if (debug)
- printf("not ok - getnameinfo() made the reverse lookup, when it shouldn't have\n");
+ printf("not ok - getnameinfo() made the reverse lookup, when it shouldn't have\n");
return (rv);
}
-
+
if ((rv != 0) && (result == NULL)) {
if (debug)
printf("ok - both getnameinfo() and ***byaddr() failed\n");
-
+
continue;
}
-
+
if (debug)
printf("comparing %s with %s\n", result->h_name,
- buffer);
-
+ buffer);
+
rv = strcmp(result->h_name, buffer);
__freehostent(result);
-
+
if (rv != 0) {
if (debug)
printf("not ok - getnameinfo() and ***byaddr() results are not equal\n");
@@ -903,10 +903,10 @@ hostent_test_getnameinfo_eq(struct hostent *he, void *mdata)
if (debug)
printf("ok - getnameinfo() and ***byaddr() results are equal\n");
}
- }
+ }
}
-
- return (0);
+
+ return (0);
}
static void
@@ -923,13 +923,13 @@ main(int argc, char **argv)
{
struct hostent_test_data td, td_addr, td_snap;
char *snapshot_file, *hostlist_file;
- res_state statp;
+ res_state statp;
int rv;
int c;
-
+
if (argc < 2)
usage();
-
+
snapshot_file = NULL;
hostlist_file = NULL;
while ((c = getopt(argc, argv, "nad2iod46mAcMs:f:")) != -1)
@@ -986,37 +986,37 @@ main(int argc, char **argv)
if (use_ipnode_functions == 0) {
statp = __res_state();
- if ((statp == NULL) || ((statp->options & RES_INIT) == 0 &&
+ if ((statp == NULL) || ((statp->options & RES_INIT) == 0 &&
res_ninit(statp) == -1)) {
if (debug)
printf("error: can't init res_state\n");
-
+
free(snapshot_file);
free(hostlist_file);
return (-1);
}
-
- if (use_ipv6_mapping == 0)
+
+ if (use_ipv6_mapping == 0)
statp->options &= ~RES_USE_INET6;
else
statp->options |= RES_USE_INET6;
}
-
+
TEST_DATA_INIT(hostent, &td, clone_hostent, free_hostent);
TEST_DATA_INIT(hostent, &td_addr, clone_hostent, free_hostent);
TEST_DATA_INIT(hostent, &td_snap, clone_hostent, free_hostent);
-
+
if (hostlist_file == NULL)
usage();
-
+
if (access(hostlist_file, R_OK) != 0) {
if (debug)
printf("can't access the hostlist file %s\n",
hostlist_file);
-
+
usage();
}
-
+
if (debug)
printf("building host lists from %s\n", hostlist_file);
@@ -1024,9 +1024,9 @@ main(int argc, char **argv)
hostent_read_hostlist_func);
if (rv != 0)
goto fin;
-
+
if (snapshot_file != NULL) {
- if (access(snapshot_file, W_OK | R_OK) != 0) {
+ if (access(snapshot_file, W_OK | R_OK) != 0) {
if (errno == ENOENT) {
if (method != TEST_GETHOSTBYADDR)
method = TEST_BUILD_SNAPSHOT;
@@ -1036,7 +1036,7 @@ main(int argc, char **argv)
if (debug)
printf("can't access the snapshot file %s\n",
snapshot_file);
-
+
rv = -1;
goto fin;
}
@@ -1050,7 +1050,7 @@ main(int argc, char **argv)
}
}
}
-
+
switch (method) {
case TEST_GETHOSTBYNAME2:
if (snapshot_file != NULL)
@@ -1062,7 +1062,7 @@ main(int argc, char **argv)
hostent_test_gethostbyaddr, (void *)&td_addr);
if (snapshot_file != NULL)
- rv = DO_2PASS_TEST(hostent, &td_addr, &td_snap,
+ rv = DO_2PASS_TEST(hostent, &td_addr, &td_snap,
compare_hostent, NULL);
break;
case TEST_GETHOSTBYNAME2_GETADDRINFO:
@@ -1075,7 +1075,7 @@ main(int argc, char **argv)
break;
case TEST_BUILD_SNAPSHOT:
if (snapshot_file != NULL) {
- rv = TEST_SNAPSHOT_FILE_WRITE(hostent, snapshot_file, &td,
+ rv = TEST_SNAPSHOT_FILE_WRITE(hostent, snapshot_file, &td,
sdump_hostent);
}
break;
@@ -1083,8 +1083,8 @@ main(int argc, char **argv)
if (snapshot_file != NULL) {
rv = DO_1PASS_TEST(hostent, &td,
hostent_test_gethostbyaddr, (void *)&td_addr);
-
- rv = TEST_SNAPSHOT_FILE_WRITE(hostent, snapshot_file,
+
+ rv = TEST_SNAPSHOT_FILE_WRITE(hostent, snapshot_file,
&td_addr, sdump_hostent);
}
break;
diff --git a/tools/regression/lib/libc/nss/test-getproto.c b/tools/regression/lib/libc/nss/test-getproto.c
index 89ad087..a3ba271 100644
--- a/tools/regression/lib/libc/nss/test-getproto.c
+++ b/tools/regression/lib/libc/nss/test-getproto.c
@@ -63,14 +63,14 @@ static void free_protoent(struct protoent *);
static void sdump_protoent(struct protoent *, char *, size_t);
static int protoent_read_snapshot_func(struct protoent *, char *);
-static int protoent_check_ambiguity(struct protoent_test_data *,
+static int protoent_check_ambiguity(struct protoent_test_data *,
struct protoent *);
static int protoent_fill_test_data(struct protoent_test_data *);
static int protoent_test_correctness(struct protoent *, void *);
static int protoent_test_getprotobyname(struct protoent *, void *);
static int protoent_test_getprotobynumber(struct protoent *, void *);
static int protoent_test_getprotoent(struct protoent *, void *);
-
+
static void usage(void) __attribute__((__noreturn__));
IMPLEMENT_TEST_DATA(protoent)
@@ -83,28 +83,28 @@ clone_protoent(struct protoent *dest, struct protoent const *src)
{
assert(dest != NULL);
assert(src != NULL);
-
+
char **cp;
int aliases_num;
-
+
memset(dest, 0, sizeof(struct protoent));
-
+
if (src->p_name != NULL) {
dest->p_name = strdup(src->p_name);
assert(dest->p_name != NULL);
}
-
+
dest->p_proto = src->p_proto;
-
+
if (src->p_aliases != NULL) {
aliases_num = 0;
for (cp = src->p_aliases; *cp; ++cp)
++aliases_num;
-
+
dest->p_aliases = (char **)malloc((aliases_num+1) * (sizeof(char *)));
assert(dest->p_aliases != NULL);
memset(dest->p_aliases, 0, (aliases_num+1) * (sizeof(char *)));
-
+
for (cp = src->p_aliases; *cp; ++cp) {
dest->p_aliases[cp - src->p_aliases] = strdup(*cp);
assert(dest->p_aliases[cp - src->p_aliases] != NULL);
@@ -112,50 +112,50 @@ clone_protoent(struct protoent *dest, struct protoent const *src)
}
}
-static void
+static void
free_protoent(struct protoent *pe)
{
char **cp;
-
+
assert(pe != NULL);
-
+
free(pe->p_name);
-
+
for (cp = pe->p_aliases; *cp; ++cp)
free(*cp);
free(pe->p_aliases);
}
-static int
+static int
compare_protoent(struct protoent *pe1, struct protoent *pe2, void *mdata)
{
char **c1, **c2;
-
+
if (pe1 == pe2)
return 0;
-
+
if ((pe1 == NULL) || (pe2 == NULL))
goto errfin;
-
+
if ((strcmp(pe1->p_name, pe2->p_name) != 0) ||
(pe1->p_proto != pe2->p_proto))
goto errfin;
-
+
c1 = pe1->p_aliases;
c2 = pe2->p_aliases;
-
+
if ((pe1->p_aliases == NULL) || (pe2->p_aliases == NULL))
goto errfin;
-
+
for (;*c1 && *c2; ++c1, ++c2)
if (strcmp(*c1, *c2) != 0)
goto errfin;
-
+
if ((*c1 != '\0') || (*c2 != '\0'))
goto errfin;
-
+
return 0;
-
+
errfin:
if ((debug) && (mdata == NULL)) {
printf("following structures are not equal:\n");
@@ -171,14 +171,14 @@ sdump_protoent(struct protoent *pe, char *buffer, size_t buflen)
{
char **cp;
int written;
-
+
written = snprintf(buffer, buflen, "%s %d",
- pe->p_name, pe->p_proto);
+ pe->p_name, pe->p_proto);
buffer += written;
if (written > buflen)
return;
buflen -= written;
-
+
if (pe->p_aliases != NULL) {
if (*(pe->p_aliases) != '\0') {
for (cp = pe->p_aliases; *cp; ++cp) {
@@ -187,9 +187,9 @@ sdump_protoent(struct protoent *pe, char *buffer, size_t buflen)
if (written > buflen)
return;
buflen -= written;
-
+
if (buflen == 0)
- return;
+ return;
}
} else
snprintf(buffer, buflen, " noaliases");
@@ -206,7 +206,7 @@ protoent_read_snapshot_func(struct protoent *pe, char *line)
if (debug)
printf("1 line read from snapshot:\n%s\n", line);
-
+
i = 0;
sl = NULL;
ps = line;
@@ -230,10 +230,10 @@ protoent_read_snapshot_func(struct protoent *pe, char *line)
if (sl == NULL) {
if (strcmp(s, "(null)") == 0)
return (0);
-
+
sl = sl_init();
assert(sl != NULL);
-
+
if (strcmp(s, "noaliases") != 0) {
ts = strdup(s);
assert(ts != NULL);
@@ -244,7 +244,7 @@ protoent_read_snapshot_func(struct protoent *pe, char *line)
assert(ts != NULL);
sl_add(sl, ts);
}
- break;
+ break;
};
++i;
}
@@ -254,16 +254,16 @@ protoent_read_snapshot_func(struct protoent *pe, char *line)
memset(pe, 0, sizeof(struct protoent));
return (-1);
}
-
+
sl_add(sl, NULL);
pe->p_aliases = sl->sl_str;
/* NOTE: is it a dirty hack or not? */
- free(sl);
+ free(sl);
return (0);
}
-static void
+static void
dump_protoent(struct protoent *result)
{
if (result != NULL) {
@@ -278,7 +278,7 @@ static int
protoent_fill_test_data(struct protoent_test_data *td)
{
struct protoent *pe;
-
+
setprotoent(1);
while ((pe = getprotoent()) != NULL) {
if (protoent_test_correctness(pe, NULL) == 0)
@@ -287,7 +287,7 @@ protoent_fill_test_data(struct protoent_test_data *td)
return (-1);
}
endprotoent();
-
+
return (0);
}
@@ -298,39 +298,39 @@ protoent_test_correctness(struct protoent *pe, void *mdata)
printf("testing correctness with the following data:\n");
dump_protoent(pe);
}
-
+
if (pe == NULL)
goto errfin;
-
+
if (pe->p_name == NULL)
goto errfin;
-
+
if (pe->p_proto < 0)
goto errfin;
-
+
if (pe->p_aliases == NULL)
goto errfin;
-
+
if (debug)
printf("correct\n");
-
- return (0);
+
+ return (0);
errfin:
if (debug)
printf("incorrect\n");
-
+
return (-1);
}
/* protoent_check_ambiguity() is needed when one port+proto is associated with
* more than one peice (these cases are usually marked as PROBLEM in
- * /etc/peices. This functions is needed also when one peice+proto is
+ * /etc/peices. This functions is needed also when one peice+proto is
* associated with several ports. We have to check all the protoent structures
* to make sure that pe really exists and correct */
static int
protoent_check_ambiguity(struct protoent_test_data *td, struct protoent *pe)
{
-
+
return (TEST_DATA_FIND(protoent, td, pe, compare_protoent,
NULL) != NULL ? 0 : -1);
}
@@ -340,7 +340,7 @@ protoent_test_getprotobyname(struct protoent *pe_model, void *mdata)
{
char **alias;
struct protoent *pe;
-
+
if (debug) {
printf("testing getprotobyname() with the following data:\n");
dump_protoent(pe_model);
@@ -349,32 +349,32 @@ protoent_test_getprotobyname(struct protoent *pe_model, void *mdata)
pe = getprotobyname(pe_model->p_name);
if (protoent_test_correctness(pe, NULL) != 0)
goto errfin;
-
+
if ((compare_protoent(pe, pe_model, NULL) != 0) &&
- (protoent_check_ambiguity((struct protoent_test_data *)mdata, pe)
+ (protoent_check_ambiguity((struct protoent_test_data *)mdata, pe)
!=0))
goto errfin;
-
+
for (alias = pe_model->p_aliases; *alias; ++alias) {
pe = getprotobyname(*alias);
-
+
if (protoent_test_correctness(pe, NULL) != 0)
goto errfin;
-
+
if ((compare_protoent(pe, pe_model, NULL) != 0) &&
(protoent_check_ambiguity(
(struct protoent_test_data *)mdata, pe) != 0))
goto errfin;
}
-
+
if (debug)
printf("ok\n");
return (0);
-
+
errfin:
if (debug)
printf("not ok\n");
-
+
return (-1);
}
@@ -382,14 +382,14 @@ static int
protoent_test_getprotobynumber(struct protoent *pe_model, void *mdata)
{
struct protoent *pe;
-
+
if (debug) {
printf("testing getprotobyport() with the following data...\n");
dump_protoent(pe_model);
- }
-
+ }
+
pe = getprotobynumber(pe_model->p_proto);
- if ((protoent_test_correctness(pe, NULL) != 0) ||
+ if ((protoent_test_correctness(pe, NULL) != 0) ||
((compare_protoent(pe, pe_model, NULL) != 0) &&
(protoent_check_ambiguity((struct protoent_test_data *)mdata, pe)
!= 0))) {
@@ -403,7 +403,7 @@ protoent_test_getprotobynumber(struct protoent *pe_model, void *mdata)
}
}
-static int
+static int
protoent_test_getprotoent(struct protoent *pe, void *mdata)
{
/* Only correctness can be checked when doing 1-pass test for
@@ -427,10 +427,10 @@ main(int argc, char **argv)
char *snapshot_file;
int rv;
int c;
-
+
if (argc < 2)
usage();
-
+
snapshot_file = NULL;
while ((c = getopt(argc, argv, "nve2ds:")) != -1)
switch (c) {
@@ -455,18 +455,18 @@ main(int argc, char **argv)
default:
usage();
}
-
+
TEST_DATA_INIT(protoent, &td, clone_protoent, free_protoent);
TEST_DATA_INIT(protoent, &td_snap, clone_protoent, free_protoent);
if (snapshot_file != NULL) {
- if (access(snapshot_file, W_OK | R_OK) != 0) {
+ if (access(snapshot_file, W_OK | R_OK) != 0) {
if (errno == ENOENT)
method = TEST_BUILD_SNAPSHOT;
else {
if (debug)
printf("can't access the file %s\n",
snapshot_file);
-
+
rv = -1;
goto fin;
}
@@ -475,12 +475,12 @@ main(int argc, char **argv)
rv = 0;
goto fin;
}
-
+
TEST_SNAPSHOT_FILE_READ(protoent, snapshot_file,
&td_snap, protoent_read_snapshot_func);
}
}
-
+
rv = protoent_fill_test_data(&td);
if (rv == -1)
return (-1);
@@ -490,7 +490,7 @@ main(int argc, char **argv)
rv = DO_1PASS_TEST(protoent, &td,
protoent_test_getprotobyname, (void *)&td);
else
- rv = DO_1PASS_TEST(protoent, &td_snap,
+ rv = DO_1PASS_TEST(protoent, &td_snap,
protoent_test_getprotobyname, (void *)&td_snap);
break;
case TEST_GETPROTOBYNUMBER:
@@ -498,12 +498,12 @@ main(int argc, char **argv)
rv = DO_1PASS_TEST(protoent, &td,
protoent_test_getprotobynumber, (void *)&td);
else
- rv = DO_1PASS_TEST(protoent, &td_snap,
+ rv = DO_1PASS_TEST(protoent, &td_snap,
protoent_test_getprotobynumber, (void *)&td_snap);
break;
case TEST_GETPROTOENT:
if (snapshot_file == NULL)
- rv = DO_1PASS_TEST(protoent, &td,
+ rv = DO_1PASS_TEST(protoent, &td,
protoent_test_getprotoent, (void *)&td);
else
rv = DO_2PASS_TEST(protoent, &td, &td_snap,
@@ -520,7 +520,7 @@ main(int argc, char **argv)
break;
case TEST_BUILD_SNAPSHOT:
if (snapshot_file != NULL)
- rv = TEST_SNAPSHOT_FILE_WRITE(protoent, snapshot_file, &td,
+ rv = TEST_SNAPSHOT_FILE_WRITE(protoent, snapshot_file, &td,
sdump_protoent);
break;
default:
@@ -531,6 +531,6 @@ main(int argc, char **argv)
fin:
TEST_DATA_DESTROY(protoent, &td_snap);
TEST_DATA_DESTROY(protoent, &td);
- free(snapshot_file);
+ free(snapshot_file);
return (rv);
}
diff --git a/tools/regression/lib/libc/nss/test-getpw.c b/tools/regression/lib/libc/nss/test-getpw.c
index bb88f6a..a0b348d 100644
--- a/tools/regression/lib/libc/nss/test-getpw.c
+++ b/tools/regression/lib/libc/nss/test-getpw.c
@@ -68,7 +68,7 @@ static int passwd_test_correctness(struct passwd *, void *);
static int passwd_test_getpwnam(struct passwd *, void *);
static int passwd_test_getpwuid(struct passwd *, void *);
static int passwd_test_getpwent(struct passwd *, void *);
-
+
static void usage(void) __attribute__((__noreturn__));
IMPLEMENT_TEST_DATA(passwd)
@@ -76,12 +76,12 @@ IMPLEMENT_TEST_FILE_SNAPSHOT(passwd)
IMPLEMENT_1PASS_TEST(passwd)
IMPLEMENT_2PASS_TEST(passwd)
-static void
+static void
clone_passwd(struct passwd *dest, struct passwd const *src)
{
assert(dest != NULL);
assert(src != NULL);
-
+
memcpy(dest, src, sizeof(struct passwd));
if (src->pw_name != NULL)
dest->pw_name = strdup(src->pw_name);
@@ -97,15 +97,15 @@ clone_passwd(struct passwd *dest, struct passwd const *src)
dest->pw_shell = strdup(dest->pw_shell);
}
-static int
+static int
compare_passwd(struct passwd *pwd1, struct passwd *pwd2, void *mdata)
{
assert(pwd1 != NULL);
assert(pwd2 != NULL);
-
+
if (pwd1 == pwd2)
return (0);
-
+
if ((pwd1->pw_uid != pwd2->pw_uid) ||
(pwd1->pw_gid != pwd2->pw_gid) ||
(pwd1->pw_change != pwd2->pw_change) ||
@@ -116,14 +116,14 @@ compare_passwd(struct passwd *pwd1, struct passwd *pwd2, void *mdata)
(strcmp(pwd1->pw_class, pwd2->pw_class) != 0) ||
(strcmp(pwd1->pw_gecos, pwd2->pw_gecos) != 0) ||
(strcmp(pwd1->pw_dir, pwd2->pw_dir) != 0) ||
- (strcmp(pwd1->pw_shell, pwd2->pw_shell) != 0)
+ (strcmp(pwd1->pw_shell, pwd2->pw_shell) != 0)
)
return (-1);
else
return (0);
}
-static void
+static void
free_passwd(struct passwd *pwd)
{
free(pwd->pw_name);
@@ -134,7 +134,7 @@ free_passwd(struct passwd *pwd)
free(pwd->pw_shell);
}
-static void
+static void
sdump_passwd(struct passwd *pwd, char *buffer, size_t buflen)
{
snprintf(buffer, buflen, "%s:%s:%d:%d:%d:%s:%s:%s:%s:%d:%d",
@@ -154,7 +154,7 @@ dump_passwd(struct passwd *pwd)
printf("(null)\n");
}
-static int
+static int
passwd_read_snapshot_func(struct passwd *pwd, char *line)
{
char *s, *ps, *ts;
@@ -162,7 +162,7 @@ passwd_read_snapshot_func(struct passwd *pwd, char *line)
if (debug)
printf("1 line read from snapshot:\n%s\n", line);
-
+
i = 0;
ps = line;
memset(pwd, 0, sizeof(struct passwd));
@@ -174,7 +174,7 @@ passwd_read_snapshot_func(struct passwd *pwd, char *line)
break;
case 1:
pwd->pw_passwd = strdup(s);
- assert(pwd->pw_passwd != NULL);
+ assert(pwd->pw_passwd != NULL);
break;
case 2:
pwd->pw_uid = (uid_t)strtol(s, &ts, 10);
@@ -218,7 +218,7 @@ passwd_read_snapshot_func(struct passwd *pwd, char *line)
goto fin;
break;
default:
- break;
+ break;
};
++i;
}
@@ -229,7 +229,7 @@ fin:
memset(pwd, 0, sizeof(struct passwd));
return (-1);
}
-
+
return (0);
}
@@ -237,7 +237,7 @@ static int
passwd_fill_test_data(struct passwd_test_data *td)
{
struct passwd *pwd;
-
+
setpassent(1);
while ((pwd = getpwent()) != NULL) {
if (passwd_test_correctness(pwd, NULL) == 0)
@@ -246,7 +246,7 @@ passwd_fill_test_data(struct passwd_test_data *td)
return (-1);
}
endpwent();
-
+
return (0);
}
@@ -257,9 +257,9 @@ passwd_test_correctness(struct passwd *pwd, void *mdata)
printf("testing correctness with the following data:\n");
dump_passwd(pwd);
}
-
+
if (pwd == NULL)
- return (-1);
+ return (-1);
if (pwd->pw_name == NULL)
goto errfin;
@@ -278,25 +278,25 @@ passwd_test_correctness(struct passwd *pwd, void *mdata)
if (pwd->pw_shell == NULL)
goto errfin;
-
+
if (debug)
printf("correct\n");
-
- return (0);
+
+ return (0);
errfin:
if (debug)
printf("incorrect\n");
-
+
return (-1);
}
/* passwd_check_ambiguity() is needed here because when doing the getpwent()
- * calls sequence, records from different nsswitch sources can be different,
+ * calls sequence, records from different nsswitch sources can be different,
* though having the same pw_name/pw_uid */
static int
passwd_check_ambiguity(struct passwd_test_data *td, struct passwd *pwd)
{
-
+
return (TEST_DATA_FIND(passwd, td, pwd, compare_passwd,
NULL) != NULL ? 0 : -1);
}
@@ -305,7 +305,7 @@ static int
passwd_test_getpwnam(struct passwd *pwd_model, void *mdata)
{
struct passwd *pwd;
-
+
if (debug) {
printf("testing getpwnam() with the following data:\n");
dump_passwd(pwd_model);
@@ -314,20 +314,20 @@ passwd_test_getpwnam(struct passwd *pwd_model, void *mdata)
pwd = getpwnam(pwd_model->pw_name);
if (passwd_test_correctness(pwd, NULL) != 0)
goto errfin;
-
+
if ((compare_passwd(pwd, pwd_model, NULL) != 0) &&
- (passwd_check_ambiguity((struct passwd_test_data *)mdata, pwd)
+ (passwd_check_ambiguity((struct passwd_test_data *)mdata, pwd)
!=0))
goto errfin;
-
+
if (debug)
printf("ok\n");
return (0);
-
+
errfin:
if (debug)
printf("not ok\n");
-
+
return (-1);
}
@@ -335,14 +335,14 @@ static int
passwd_test_getpwuid(struct passwd *pwd_model, void *mdata)
{
struct passwd *pwd;
-
+
if (debug) {
printf("testing getpwuid() with the following data...\n");
dump_passwd(pwd_model);
- }
-
+ }
+
pwd = getpwuid(pwd_model->pw_uid);
- if ((passwd_test_correctness(pwd, NULL) != 0) ||
+ if ((passwd_test_correctness(pwd, NULL) != 0) ||
((compare_passwd(pwd, pwd_model, NULL) != 0) &&
(passwd_check_ambiguity((struct passwd_test_data *)mdata, pwd)
!= 0))) {
@@ -356,7 +356,7 @@ passwd_test_getpwuid(struct passwd *pwd_model, void *mdata)
}
}
-static int
+static int
passwd_test_getpwent(struct passwd *pwd, void *mdata)
{
/* Only correctness can be checked when doing 1-pass test for
@@ -380,10 +380,10 @@ main(int argc, char **argv)
char *snapshot_file;
int rv;
int c;
-
+
if (argc < 2)
usage();
-
+
snapshot_file = NULL;
while ((c = getopt(argc, argv, "nue2ds:")) != -1)
switch (c) {
@@ -408,18 +408,18 @@ main(int argc, char **argv)
default:
usage();
}
-
+
TEST_DATA_INIT(passwd, &td, clone_passwd, free_passwd);
TEST_DATA_INIT(passwd, &td_snap, clone_passwd, free_passwd);
if (snapshot_file != NULL) {
- if (access(snapshot_file, W_OK | R_OK) != 0) {
+ if (access(snapshot_file, W_OK | R_OK) != 0) {
if (errno == ENOENT)
method = TEST_BUILD_SNAPSHOT;
else {
if (debug)
printf("can't access the file %s\n",
snapshot_file);
-
+
rv = -1;
goto fin;
}
@@ -428,23 +428,23 @@ main(int argc, char **argv)
rv = 0;
goto fin;
}
-
+
TEST_SNAPSHOT_FILE_READ(passwd, snapshot_file,
&td_snap, passwd_read_snapshot_func);
}
}
-
+
rv = passwd_fill_test_data(&td);
if (rv == -1)
return (-1);
-
+
switch (method) {
case TEST_GETPWNAM:
if (snapshot_file == NULL)
rv = DO_1PASS_TEST(passwd, &td,
passwd_test_getpwnam, (void *)&td);
else
- rv = DO_1PASS_TEST(passwd, &td_snap,
+ rv = DO_1PASS_TEST(passwd, &td_snap,
passwd_test_getpwnam, (void *)&td_snap);
break;
case TEST_GETPWUID:
@@ -452,7 +452,7 @@ main(int argc, char **argv)
rv = DO_1PASS_TEST(passwd, &td,
passwd_test_getpwuid, (void *)&td);
else
- rv = DO_1PASS_TEST(passwd, &td_snap,
+ rv = DO_1PASS_TEST(passwd, &td_snap,
passwd_test_getpwuid, (void *)&td_snap);
break;
case TEST_GETPWENT:
@@ -465,7 +465,7 @@ main(int argc, char **argv)
break;
case TEST_GETPWENT_2PASS:
TEST_DATA_INIT(passwd, &td_2pass, clone_passwd, free_passwd);
- rv = passwd_fill_test_data(&td_2pass);
+ rv = passwd_fill_test_data(&td_2pass);
if (rv != -1)
rv = DO_2PASS_TEST(passwd, &td, &td_2pass,
compare_passwd, NULL);
@@ -473,7 +473,7 @@ main(int argc, char **argv)
break;
case TEST_BUILD_SNAPSHOT:
if (snapshot_file != NULL)
- rv = TEST_SNAPSHOT_FILE_WRITE(passwd, snapshot_file, &td,
+ rv = TEST_SNAPSHOT_FILE_WRITE(passwd, snapshot_file, &td,
sdump_passwd);
break;
default:
@@ -484,6 +484,6 @@ main(int argc, char **argv)
fin:
TEST_DATA_DESTROY(passwd, &td_snap);
TEST_DATA_DESTROY(passwd, &td);
- free(snapshot_file);
+ free(snapshot_file);
return (rv);
}
diff --git a/tools/regression/lib/libc/nss/test-getrpc.c b/tools/regression/lib/libc/nss/test-getrpc.c
index 4041e88..707186e 100644
--- a/tools/regression/lib/libc/nss/test-getrpc.c
+++ b/tools/regression/lib/libc/nss/test-getrpc.c
@@ -63,14 +63,14 @@ static void free_rpcent(struct rpcent *);
static void sdump_rpcent(struct rpcent *, char *, size_t);
static int rpcent_read_snapshot_func(struct rpcent *, char *);
-static int rpcent_check_ambiguity(struct rpcent_test_data *,
+static int rpcent_check_ambiguity(struct rpcent_test_data *,
struct rpcent *);
static int rpcent_fill_test_data(struct rpcent_test_data *);
static int rpcent_test_correctness(struct rpcent *, void *);
static int rpcent_test_getrpcbyname(struct rpcent *, void *);
static int rpcent_test_getrpcbynumber(struct rpcent *, void *);
static int rpcent_test_getrpcent(struct rpcent *, void *);
-
+
static void usage(void) __attribute__((__noreturn__));
IMPLEMENT_TEST_DATA(rpcent)
@@ -83,28 +83,28 @@ clone_rpcent(struct rpcent *dest, struct rpcent const *src)
{
assert(dest != NULL);
assert(src != NULL);
-
+
char **cp;
int aliases_num;
-
+
memset(dest, 0, sizeof(struct rpcent));
-
+
if (src->r_name != NULL) {
dest->r_name = strdup(src->r_name);
assert(dest->r_name != NULL);
}
-
+
dest->r_number = src->r_number;
-
+
if (src->r_aliases != NULL) {
aliases_num = 0;
for (cp = src->r_aliases; *cp; ++cp)
++aliases_num;
-
+
dest->r_aliases = (char **)malloc((aliases_num+1) * (sizeof(char *)));
assert(dest->r_aliases != NULL);
memset(dest->r_aliases, 0, (aliases_num+1) * (sizeof(char *)));
-
+
for (cp = src->r_aliases; *cp; ++cp) {
dest->r_aliases[cp - src->r_aliases] = strdup(*cp);
assert(dest->r_aliases[cp - src->r_aliases] != NULL);
@@ -112,50 +112,50 @@ clone_rpcent(struct rpcent *dest, struct rpcent const *src)
}
}
-static void
+static void
free_rpcent(struct rpcent *rpc)
{
char **cp;
-
+
assert(rpc != NULL);
-
+
free(rpc->r_name);
-
+
for (cp = rpc->r_aliases; *cp; ++cp)
free(*cp);
free(rpc->r_aliases);
}
-static int
+static int
compare_rpcent(struct rpcent *rpc1, struct rpcent *rpc2, void *mdata)
{
char **c1, **c2;
-
+
if (rpc1 == rpc2)
return 0;
-
+
if ((rpc1 == NULL) || (rpc2 == NULL))
goto errfin;
-
+
if ((strcmp(rpc1->r_name, rpc2->r_name) != 0) ||
(rpc1->r_number != rpc2->r_number))
goto errfin;
-
+
c1 = rpc1->r_aliases;
c2 = rpc2->r_aliases;
-
+
if ((rpc1->r_aliases == NULL) || (rpc2->r_aliases == NULL))
goto errfin;
-
+
for (;*c1 && *c2; ++c1, ++c2)
if (strcmp(*c1, *c2) != 0)
goto errfin;
-
+
if ((*c1 != '\0') || (*c2 != '\0'))
goto errfin;
-
+
return 0;
-
+
errfin:
if ((debug) && (mdata == NULL)) {
printf("following structures are not equal:\n");
@@ -171,14 +171,14 @@ sdump_rpcent(struct rpcent *rpc, char *buffer, size_t buflen)
{
char **cp;
int written;
-
+
written = snprintf(buffer, buflen, "%s %d",
- rpc->r_name, rpc->r_number);
+ rpc->r_name, rpc->r_number);
buffer += written;
if (written > buflen)
return;
buflen -= written;
-
+
if (rpc->r_aliases != NULL) {
if (*(rpc->r_aliases) != '\0') {
for (cp = rpc->r_aliases; *cp; ++cp) {
@@ -187,9 +187,9 @@ sdump_rpcent(struct rpcent *rpc, char *buffer, size_t buflen)
if (written > buflen)
return;
buflen -= written;
-
+
if (buflen == 0)
- return;
+ return;
}
} else
snprintf(buffer, buflen, " noaliases");
@@ -206,7 +206,7 @@ rpcent_read_snapshot_func(struct rpcent *rpc, char *line)
if (debug)
printf("1 line read from snapshot:\n%s\n", line);
-
+
i = 0;
sl = NULL;
ps = line;
@@ -230,10 +230,10 @@ rpcent_read_snapshot_func(struct rpcent *rpc, char *line)
if (sl == NULL) {
if (strcmp(s, "(null)") == 0)
return (0);
-
+
sl = sl_init();
assert(sl != NULL);
-
+
if (strcmp(s, "noaliases") != 0) {
ts = strdup(s);
assert(ts != NULL);
@@ -244,7 +244,7 @@ rpcent_read_snapshot_func(struct rpcent *rpc, char *line)
assert(ts != NULL);
sl_add(sl, ts);
}
- break;
+ break;
};
++i;
}
@@ -254,16 +254,16 @@ rpcent_read_snapshot_func(struct rpcent *rpc, char *line)
memset(rpc, 0, sizeof(struct rpcent));
return (-1);
}
-
+
sl_add(sl, NULL);
rpc->r_aliases = sl->sl_str;
/* NOTE: is it a dirty hack or not? */
- free(sl);
+ free(sl);
return (0);
}
-static void
+static void
dump_rpcent(struct rpcent *result)
{
if (result != NULL) {
@@ -278,7 +278,7 @@ static int
rpcent_fill_test_data(struct rpcent_test_data *td)
{
struct rpcent *rpc;
-
+
setrpcent(1);
while ((rpc = getrpcent()) != NULL) {
if (rpcent_test_correctness(rpc, NULL) == 0)
@@ -287,7 +287,7 @@ rpcent_fill_test_data(struct rpcent_test_data *td)
return (-1);
}
endrpcent();
-
+
return (0);
}
@@ -298,39 +298,39 @@ rpcent_test_correctness(struct rpcent *rpc, void *mdata)
printf("testing correctness with the following data:\n");
dump_rpcent(rpc);
}
-
+
if (rpc == NULL)
goto errfin;
-
+
if (rpc->r_name == NULL)
goto errfin;
-
+
if (rpc->r_number < 0)
goto errfin;
-
+
if (rpc->r_aliases == NULL)
goto errfin;
-
+
if (debug)
printf("correct\n");
-
- return (0);
+
+ return (0);
errfin:
if (debug)
printf("incorrect\n");
-
+
return (-1);
}
/* rpcent_check_ambiguity() is needed when one port+rpc is associated with
* more than one peice (these cases are usually marked as PROBLEM in
- * /etc/peices. This functions is needed also when one peice+rpc is
+ * /etc/peices. This functions is needed also when one peice+rpc is
* associated with several ports. We have to check all the rpcent structures
* to make sure that rpc really exists and correct */
static int
rpcent_check_ambiguity(struct rpcent_test_data *td, struct rpcent *rpc)
{
-
+
return (TEST_DATA_FIND(rpcent, td, rpc, compare_rpcent,
NULL) != NULL ? 0 : -1);
}
@@ -340,7 +340,7 @@ rpcent_test_getrpcbyname(struct rpcent *rpc_model, void *mdata)
{
char **alias;
struct rpcent *rpc;
-
+
if (debug) {
printf("testing getrpcbyname() with the following data:\n");
dump_rpcent(rpc_model);
@@ -349,32 +349,32 @@ rpcent_test_getrpcbyname(struct rpcent *rpc_model, void *mdata)
rpc = getrpcbyname(rpc_model->r_name);
if (rpcent_test_correctness(rpc, NULL) != 0)
goto errfin;
-
+
if ((compare_rpcent(rpc, rpc_model, NULL) != 0) &&
- (rpcent_check_ambiguity((struct rpcent_test_data *)mdata, rpc)
+ (rpcent_check_ambiguity((struct rpcent_test_data *)mdata, rpc)
!=0))
goto errfin;
-
+
for (alias = rpc_model->r_aliases; *alias; ++alias) {
rpc = getrpcbyname(*alias);
-
+
if (rpcent_test_correctness(rpc, NULL) != 0)
goto errfin;
-
+
if ((compare_rpcent(rpc, rpc_model, NULL) != 0) &&
(rpcent_check_ambiguity(
(struct rpcent_test_data *)mdata, rpc) != 0))
goto errfin;
}
-
+
if (debug)
printf("ok\n");
return (0);
-
+
errfin:
if (debug)
printf("not ok\n");
-
+
return (-1);
}
@@ -382,14 +382,14 @@ static int
rpcent_test_getrpcbynumber(struct rpcent *rpc_model, void *mdata)
{
struct rpcent *rpc;
-
+
if (debug) {
printf("testing getrpcbyport() with the following data...\n");
dump_rpcent(rpc_model);
- }
-
+ }
+
rpc = getrpcbynumber(rpc_model->r_number);
- if ((rpcent_test_correctness(rpc, NULL) != 0) ||
+ if ((rpcent_test_correctness(rpc, NULL) != 0) ||
((compare_rpcent(rpc, rpc_model, NULL) != 0) &&
(rpcent_check_ambiguity((struct rpcent_test_data *)mdata, rpc)
!= 0))) {
@@ -403,7 +403,7 @@ rpcent_test_getrpcbynumber(struct rpcent *rpc_model, void *mdata)
}
}
-static int
+static int
rpcent_test_getrpcent(struct rpcent *rpc, void *mdata)
{
/* Only correctness can be checked when doing 1-pass test for
@@ -427,10 +427,10 @@ main(int argc, char **argv)
char *snapshot_file;
int rv;
int c;
-
+
if (argc < 2)
usage();
-
+
snapshot_file = NULL;
while ((c = getopt(argc, argv, "nve2ds:")) != -1)
switch (c) {
@@ -455,18 +455,18 @@ main(int argc, char **argv)
default:
usage();
}
-
+
TEST_DATA_INIT(rpcent, &td, clone_rpcent, free_rpcent);
TEST_DATA_INIT(rpcent, &td_snap, clone_rpcent, free_rpcent);
if (snapshot_file != NULL) {
- if (access(snapshot_file, W_OK | R_OK) != 0) {
+ if (access(snapshot_file, W_OK | R_OK) != 0) {
if (errno == ENOENT)
method = TEST_BUILD_SNAPSHOT;
else {
if (debug)
printf("can't access the file %s\n",
snapshot_file);
-
+
rv = -1;
goto fin;
}
@@ -475,12 +475,12 @@ main(int argc, char **argv)
rv = 0;
goto fin;
}
-
+
TEST_SNAPSHOT_FILE_READ(rpcent, snapshot_file,
&td_snap, rpcent_read_snapshot_func);
}
}
-
+
rv = rpcent_fill_test_data(&td);
if (rv == -1)
return (-1);
@@ -490,7 +490,7 @@ main(int argc, char **argv)
rv = DO_1PASS_TEST(rpcent, &td,
rpcent_test_getrpcbyname, (void *)&td);
else
- rv = DO_1PASS_TEST(rpcent, &td_snap,
+ rv = DO_1PASS_TEST(rpcent, &td_snap,
rpcent_test_getrpcbyname, (void *)&td_snap);
break;
case TEST_GETRPCBYNUMBER:
@@ -498,7 +498,7 @@ main(int argc, char **argv)
rv = DO_1PASS_TEST(rpcent, &td,
rpcent_test_getrpcbynumber, (void *)&td);
else
- rv = DO_1PASS_TEST(rpcent, &td_snap,
+ rv = DO_1PASS_TEST(rpcent, &td_snap,
rpcent_test_getrpcbynumber, (void *)&td_snap);
break;
case TEST_GETRPCENT:
@@ -511,7 +511,7 @@ main(int argc, char **argv)
break;
case TEST_GETRPCENT_2PASS:
TEST_DATA_INIT(rpcent, &td_2pass, clone_rpcent, free_rpcent);
- rv = rpcent_fill_test_data(&td_2pass);
+ rv = rpcent_fill_test_data(&td_2pass);
if (rv != -1)
rv = DO_2PASS_TEST(rpcent, &td, &td_2pass,
compare_rpcent, NULL);
@@ -519,7 +519,7 @@ main(int argc, char **argv)
break;
case TEST_BUILD_SNAPSHOT:
if (snapshot_file != NULL)
- rv = TEST_SNAPSHOT_FILE_WRITE(rpcent, snapshot_file, &td,
+ rv = TEST_SNAPSHOT_FILE_WRITE(rpcent, snapshot_file, &td,
sdump_rpcent);
break;
default:
@@ -530,6 +530,6 @@ main(int argc, char **argv)
fin:
TEST_DATA_DESTROY(rpcent, &td_snap);
TEST_DATA_DESTROY(rpcent, &td);
- free(snapshot_file);
+ free(snapshot_file);
return (rv);
}
diff --git a/tools/regression/lib/libc/nss/test-getserv.c b/tools/regression/lib/libc/nss/test-getserv.c
index 79d42f0..31e4700 100644
--- a/tools/regression/lib/libc/nss/test-getserv.c
+++ b/tools/regression/lib/libc/nss/test-getserv.c
@@ -63,14 +63,14 @@ static void free_servent(struct servent *);
static void sdump_servent(struct servent *, char *, size_t);
static int servent_read_snapshot_func(struct servent *, char *);
-static int servent_check_ambiguity(struct servent_test_data *,
+static int servent_check_ambiguity(struct servent_test_data *,
struct servent *);
static int servent_fill_test_data(struct servent_test_data *);
static int servent_test_correctness(struct servent *, void *);
static int servent_test_getservbyname(struct servent *, void *);
static int servent_test_getservbyport(struct servent *, void *);
static int servent_test_getservent(struct servent *, void *);
-
+
static void usage(void) __attribute__((__noreturn__));
IMPLEMENT_TEST_DATA(servent)
@@ -83,32 +83,32 @@ clone_servent(struct servent *dest, struct servent const *src)
{
assert(dest != NULL);
assert(src != NULL);
-
+
char **cp;
int aliases_num;
-
+
memset(dest, 0, sizeof(struct servent));
-
+
if (src->s_name != NULL) {
dest->s_name = strdup(src->s_name);
assert(dest->s_name != NULL);
}
-
+
if (src->s_proto != NULL) {
dest->s_proto = strdup(src->s_proto);
assert(dest->s_proto != NULL);
}
dest->s_port = src->s_port;
-
+
if (src->s_aliases != NULL) {
aliases_num = 0;
for (cp = src->s_aliases; *cp; ++cp)
++aliases_num;
-
+
dest->s_aliases = (char **)malloc((aliases_num+1) * (sizeof(char *)));
assert(dest->s_aliases != NULL);
memset(dest->s_aliases, 0, (aliases_num+1) * (sizeof(char *)));
-
+
for (cp = src->s_aliases; *cp; ++cp) {
dest->s_aliases[cp - src->s_aliases] = strdup(*cp);
assert(dest->s_aliases[cp - src->s_aliases] != NULL);
@@ -116,52 +116,52 @@ clone_servent(struct servent *dest, struct servent const *src)
}
}
-static void
+static void
free_servent(struct servent *serv)
{
char **cp;
-
+
assert(serv != NULL);
-
+
free(serv->s_name);
free(serv->s_proto);
-
+
for (cp = serv->s_aliases; *cp; ++cp)
free(*cp);
free(serv->s_aliases);
}
-static int
+static int
compare_servent(struct servent *serv1, struct servent *serv2, void *mdata)
{
char **c1, **c2;
-
+
if (serv1 == serv2)
return 0;
-
+
if ((serv1 == NULL) || (serv2 == NULL))
goto errfin;
-
+
if ((strcmp(serv1->s_name, serv2->s_name) != 0) ||
(strcmp(serv1->s_proto, serv2->s_proto) != 0) ||
(serv1->s_port != serv2->s_port))
goto errfin;
-
+
c1 = serv1->s_aliases;
c2 = serv2->s_aliases;
-
+
if ((serv1->s_aliases == NULL) || (serv2->s_aliases == NULL))
goto errfin;
-
+
for (;*c1 && *c2; ++c1, ++c2)
if (strcmp(*c1, *c2) != 0)
goto errfin;
-
+
if ((*c1 != '\0') || (*c2 != '\0'))
goto errfin;
-
+
return 0;
-
+
errfin:
if ((debug) && (mdata == NULL)) {
printf("following structures are not equal:\n");
@@ -177,14 +177,14 @@ sdump_servent(struct servent *serv, char *buffer, size_t buflen)
{
char **cp;
int written;
-
+
written = snprintf(buffer, buflen, "%s %d %s",
- serv->s_name, ntohs(serv->s_port), serv->s_proto);
+ serv->s_name, ntohs(serv->s_port), serv->s_proto);
buffer += written;
if (written > buflen)
return;
buflen -= written;
-
+
if (serv->s_aliases != NULL) {
if (*(serv->s_aliases) != '\0') {
for (cp = serv->s_aliases; *cp; ++cp) {
@@ -193,9 +193,9 @@ sdump_servent(struct servent *serv, char *buffer, size_t buflen)
if (written > buflen)
return;
buflen -= written;
-
+
if (buflen == 0)
- return;
+ return;
}
} else
snprintf(buffer, buflen, " noaliases");
@@ -212,7 +212,7 @@ servent_read_snapshot_func(struct servent *serv, char *line)
if (debug)
printf("1 line read from snapshot:\n%s\n", line);
-
+
i = 0;
sl = NULL;
ps = line;
@@ -242,10 +242,10 @@ servent_read_snapshot_func(struct servent *serv, char *line)
if (sl == NULL) {
if (strcmp(s, "(null)") == 0)
return (0);
-
+
sl = sl_init();
assert(sl != NULL);
-
+
if (strcmp(s, "noaliases") != 0) {
ts = strdup(s);
assert(ts != NULL);
@@ -256,7 +256,7 @@ servent_read_snapshot_func(struct servent *serv, char *line)
assert(ts != NULL);
sl_add(sl, ts);
}
- break;
+ break;
};
++i;
}
@@ -267,16 +267,16 @@ servent_read_snapshot_func(struct servent *serv, char *line)
memset(serv, 0, sizeof(struct servent));
return (-1);
}
-
+
sl_add(sl, NULL);
serv->s_aliases = sl->sl_str;
/* NOTE: is it a dirty hack or not? */
- free(sl);
+ free(sl);
return (0);
}
-static void
+static void
dump_servent(struct servent *result)
{
if (result != NULL) {
@@ -291,7 +291,7 @@ static int
servent_fill_test_data(struct servent_test_data *td)
{
struct servent *serv;
-
+
setservent(1);
while ((serv = getservent()) != NULL) {
if (servent_test_correctness(serv, NULL) == 0)
@@ -300,7 +300,7 @@ servent_fill_test_data(struct servent_test_data *td)
return (-1);
}
endservent();
-
+
return (0);
}
@@ -311,42 +311,42 @@ servent_test_correctness(struct servent *serv, void *mdata)
printf("testing correctness with the following data:\n");
dump_servent(serv);
}
-
+
if (serv == NULL)
goto errfin;
-
+
if (serv->s_name == NULL)
goto errfin;
-
+
if (serv->s_proto == NULL)
goto errfin;
-
+
if (ntohs(serv->s_port < 0))
goto errfin;
-
+
if (serv->s_aliases == NULL)
goto errfin;
-
+
if (debug)
printf("correct\n");
-
- return (0);
+
+ return (0);
errfin:
if (debug)
printf("incorrect\n");
-
+
return (-1);
}
/* servent_check_ambiguity() is needed when one port+proto is associated with
* more than one service (these cases are usually marked as PROBLEM in
- * /etc/services. This functions is needed also when one service+proto is
+ * /etc/services. This functions is needed also when one service+proto is
* associated with several ports. We have to check all the servent structures
* to make sure that serv really exists and correct */
static int
servent_check_ambiguity(struct servent_test_data *td, struct servent *serv)
{
-
+
return (TEST_DATA_FIND(servent, td, serv, compare_servent,
NULL) != NULL ? 0 : -1);
}
@@ -356,7 +356,7 @@ servent_test_getservbyname(struct servent *serv_model, void *mdata)
{
char **alias;
struct servent *serv;
-
+
if (debug) {
printf("testing getservbyname() with the following data:\n");
dump_servent(serv_model);
@@ -365,32 +365,32 @@ servent_test_getservbyname(struct servent *serv_model, void *mdata)
serv = getservbyname(serv_model->s_name, serv_model->s_proto);
if (servent_test_correctness(serv, NULL) != 0)
goto errfin;
-
+
if ((compare_servent(serv, serv_model, NULL) != 0) &&
- (servent_check_ambiguity((struct servent_test_data *)mdata, serv)
+ (servent_check_ambiguity((struct servent_test_data *)mdata, serv)
!=0))
goto errfin;
-
+
for (alias = serv_model->s_aliases; *alias; ++alias) {
serv = getservbyname(*alias, serv_model->s_proto);
-
+
if (servent_test_correctness(serv, NULL) != 0)
goto errfin;
-
+
if ((compare_servent(serv, serv_model, NULL) != 0) &&
(servent_check_ambiguity(
(struct servent_test_data *)mdata, serv) != 0))
goto errfin;
}
-
+
if (debug)
printf("ok\n");
return (0);
-
+
errfin:
if (debug)
printf("not ok\n");
-
+
return (-1);
}
@@ -398,14 +398,14 @@ static int
servent_test_getservbyport(struct servent *serv_model, void *mdata)
{
struct servent *serv;
-
+
if (debug) {
printf("testing getservbyport() with the following data...\n");
dump_servent(serv_model);
- }
-
+ }
+
serv = getservbyport(serv_model->s_port, serv_model->s_proto);
- if ((servent_test_correctness(serv, NULL) != 0) ||
+ if ((servent_test_correctness(serv, NULL) != 0) ||
((compare_servent(serv, serv_model, NULL) != 0) &&
(servent_check_ambiguity((struct servent_test_data *)mdata, serv)
!= 0))) {
@@ -419,7 +419,7 @@ servent_test_getservbyport(struct servent *serv_model, void *mdata)
}
}
-static int
+static int
servent_test_getservent(struct servent *serv, void *mdata)
{
/* Only correctness can be checked when doing 1-pass test for
@@ -443,10 +443,10 @@ main(int argc, char **argv)
char *snapshot_file;
int rv;
int c;
-
+
if (argc < 2)
usage();
-
+
snapshot_file = NULL;
while ((c = getopt(argc, argv, "npe2ds:")) != -1)
switch (c) {
@@ -471,18 +471,18 @@ main(int argc, char **argv)
default:
usage();
}
-
+
TEST_DATA_INIT(servent, &td, clone_servent, free_servent);
TEST_DATA_INIT(servent, &td_snap, clone_servent, free_servent);
if (snapshot_file != NULL) {
- if (access(snapshot_file, W_OK | R_OK) != 0) {
+ if (access(snapshot_file, W_OK | R_OK) != 0) {
if (errno == ENOENT)
method = TEST_BUILD_SNAPSHOT;
else {
if (debug)
printf("can't access the file %s\n",
snapshot_file);
-
+
rv = -1;
goto fin;
}
@@ -491,12 +491,12 @@ main(int argc, char **argv)
rv = 0;
goto fin;
}
-
+
TEST_SNAPSHOT_FILE_READ(servent, snapshot_file,
&td_snap, servent_read_snapshot_func);
}
}
-
+
rv = servent_fill_test_data(&td);
if (rv == -1)
return (-1);
@@ -506,7 +506,7 @@ main(int argc, char **argv)
rv = DO_1PASS_TEST(servent, &td,
servent_test_getservbyname, (void *)&td);
else
- rv = DO_1PASS_TEST(servent, &td_snap,
+ rv = DO_1PASS_TEST(servent, &td_snap,
servent_test_getservbyname, (void *)&td_snap);
break;
case TEST_GETSERVBYPORT:
@@ -514,7 +514,7 @@ main(int argc, char **argv)
rv = DO_1PASS_TEST(servent, &td,
servent_test_getservbyport, (void *)&td);
else
- rv = DO_1PASS_TEST(servent, &td_snap,
+ rv = DO_1PASS_TEST(servent, &td_snap,
servent_test_getservbyport, (void *)&td_snap);
break;
case TEST_GETSERVENT:
@@ -527,7 +527,7 @@ main(int argc, char **argv)
break;
case TEST_GETSERVENT_2PASS:
TEST_DATA_INIT(servent, &td_2pass, clone_servent, free_servent);
- rv = servent_fill_test_data(&td_2pass);
+ rv = servent_fill_test_data(&td_2pass);
if (rv != -1)
rv = DO_2PASS_TEST(servent, &td, &td_2pass,
compare_servent, NULL);
@@ -535,7 +535,7 @@ main(int argc, char **argv)
break;
case TEST_BUILD_SNAPSHOT:
if (snapshot_file != NULL)
- rv = TEST_SNAPSHOT_FILE_WRITE(servent, snapshot_file, &td,
+ rv = TEST_SNAPSHOT_FILE_WRITE(servent, snapshot_file, &td,
sdump_servent);
break;
default:
@@ -546,6 +546,6 @@ main(int argc, char **argv)
fin:
TEST_DATA_DESTROY(servent, &td_snap);
TEST_DATA_DESTROY(servent, &td);
- free(snapshot_file);
+ free(snapshot_file);
return (rv);
}
diff --git a/tools/regression/lib/libc/nss/test-getusershell.c b/tools/regression/lib/libc/nss/test-getusershell.c
index 8682591..b7b835f 100644
--- a/tools/regression/lib/libc/nss/test-getusershell.c
+++ b/tools/regression/lib/libc/nss/test-getusershell.c
@@ -67,29 +67,29 @@ IMPLEMENT_TEST_DATA(usershell)
IMPLEMENT_TEST_FILE_SNAPSHOT(usershell)
IMPLEMENT_2PASS_TEST(usershell)
-static void
+static void
clone_usershell(struct usershell *dest, struct usershell const *src)
{
assert(dest != NULL);
assert(src != NULL);
-
+
if (src->path != NULL) {
dest->path = strdup(src->path);
assert(dest->path != NULL);
}
}
-static int
+static int
compare_usershell(struct usershell *us1, struct usershell *us2, void *mdata)
{
int rv;
-
+
assert(us1 != NULL);
assert(us2 != NULL);
-
+
dump_usershell(us1);
dump_usershell(us2);
-
+
if (us1 == us2)
return (0);
@@ -99,17 +99,17 @@ compare_usershell(struct usershell *us1, struct usershell *us2, void *mdata)
dump_usershell(us1);
dump_usershell(us2);
}
-
+
return (rv);
}
-static void
+static void
free_usershell(struct usershell *us)
{
free(us->path);
}
-static void
+static void
sdump_usershell(struct usershell *us, char *buffer, size_t buflen)
{
snprintf(buffer, buflen, "%s", us->path);
@@ -126,12 +126,12 @@ dump_usershell(struct usershell *us)
printf("(null)\n");
}
-static int
+static int
usershell_read_snapshot_func(struct usershell *us, char *line)
{
us->path = strdup(line);
assert(us->path != NULL);
-
+
return (0);
}
@@ -152,7 +152,7 @@ main(int argc, char **argv)
char *snapshot_file;
int rv;
int c;
-
+
if (argc < 2)
usage();
@@ -170,10 +170,10 @@ main(int argc, char **argv)
usage();
}
}
-
+
TEST_DATA_INIT(usershell, &td, clone_usershell, free_usershell);
TEST_DATA_INIT(usershell, &td_snap, clone_usershell, free_usershell);
-
+
setusershell();
while ((ushell.path = getusershell()) != NULL) {
if (debug) {
@@ -183,17 +183,17 @@ main(int argc, char **argv)
TEST_DATA_APPEND(usershell, &td, &ushell);
}
endusershell();
-
-
+
+
if (snapshot_file != NULL) {
- if (access(snapshot_file, W_OK | R_OK) != 0) {
+ if (access(snapshot_file, W_OK | R_OK) != 0) {
if (errno == ENOENT)
method = TEST_BUILD_SNAPSHOT;
else {
if (debug)
printf("can't access the snapshot file %s\n",
snapshot_file);
-
+
rv = -1;
goto fin;
}
@@ -207,7 +207,7 @@ main(int argc, char **argv)
}
}
}
-
+
switch (method) {
case TEST_GETUSERSHELL:
if (snapshot_file != NULL) {
@@ -217,7 +217,7 @@ main(int argc, char **argv)
break;
case TEST_BUILD_SNAPSHOT:
if (snapshot_file != NULL) {
- rv = TEST_SNAPSHOT_FILE_WRITE(usershell, snapshot_file, &td,
+ rv = TEST_SNAPSHOT_FILE_WRITE(usershell, snapshot_file, &td,
sdump_usershell);
}
break;
diff --git a/tools/regression/lib/libc/nss/testutil.h b/tools/regression/lib/libc/nss/testutil.h
index acd69ac..711c49f 100644
--- a/tools/regression/lib/libc/nss/testutil.h
+++ b/tools/regression/lib/libc/nss/testutil.h
@@ -53,8 +53,8 @@ int __##ent##_test_data_compare(struct ent##_test_data *, \
void *), void *); \
struct ent *__##ent##_test_data_find(struct ent##_test_data *, struct ent *,\
int (*)(struct ent *, struct ent *, void *), void *); \
-void __##ent##_test_data_clear(struct ent##_test_data *);
-
+void __##ent##_test_data_clear(struct ent##_test_data *);
+
#define TEST_DATA_INIT(ent, td, clonef, freef)\
__##ent##_test_data_init(td, clonef, freef)
#define TEST_DATA_DESTROY(ent, td) __##ent##_test_data_destroy(td)
@@ -191,9 +191,8 @@ __##ent##_test_data_clear(struct ent##_test_data *td) \
td->free_func(&e->data); \
free(e); \
} \
-}
+}
- \
#define DECLARE_TEST_FILE_SNAPSHOT(ent) \
struct ent##_snp_param { \
FILE *fp; \
@@ -204,8 +203,8 @@ int __##ent##_snapshot_write_func(struct ent *, void *); \
int __##ent##_snapshot_write(char const *, struct ent##_test_data *, \
void (*)(struct ent *, char *, size_t)); \
int __##ent##_snapshot_read(char const *, struct ent##_test_data *, \
- int (*)(struct ent *, char *));
-
+ int (*)(struct ent *, char *));
+
#define TEST_SNAPSHOT_FILE_WRITE(ent, fname, td, f) \
__##ent##_snapshot_write(fname, td, f)
#define TEST_SNAPSHOT_FILE_READ(ent, fname, td, f) \
@@ -294,8 +293,8 @@ fin: \
#define DECLARE_1PASS_TEST(ent) \
int __##ent##_1pass_test(struct ent##_test_data *, \
int (*)(struct ent *, void *), \
- void *);
-
+ void *);
+
#define DO_1PASS_TEST(ent, td, f, mdata) \
__##ent##_1pass_test(td, f, mdata)
@@ -318,7 +317,7 @@ int __##ent##_2pass_test(struct ent##_test_data *, \
#define DO_2PASS_TEST(ent, td1, td2, f, mdata) \
__##ent##_2pass_test(td1, td2, f, mdata)
-
+
#define IMPLEMENT_2PASS_TEST(ent) \
int \
__##ent##_2pass_test(struct ent##_test_data *td1, \
diff --git a/tools/regression/lib/libc/resolv/mach b/tools/regression/lib/libc/resolv/mach
index f3c3981..ab7ce24 100644
--- a/tools/regression/lib/libc/resolv/mach
+++ b/tools/regression/lib/libc/resolv/mach
@@ -1,3 +1,5 @@
+# $FreeBSD$
+localhost
above.warped.net
anoncvs.cirr.com
anoncvs.isc.netbsd.org
@@ -9,7 +11,6 @@ antioche.antioche.eu.org
boulder.tele.dk
centaurus.4web.cz
chur.math.ntnu.no
-cnftp.bjpu.edu.cn
console.netbsd.org
cvs.fi.netbsd.org
cvs.mikrolahti.fi
diff --git a/tools/regression/lib/libc/resolv/resolv.c b/tools/regression/lib/libc/resolv/resolv.c
index d481ecf..2ec3eeb 100644
--- a/tools/regression/lib/libc/resolv/resolv.c
+++ b/tools/regression/lib/libc/resolv/resolv.c
@@ -90,8 +90,11 @@ load(const char *fname)
char c = line[len];
char *ptr;
line[len] = '\0';
- for (ptr = strtok(line, WS); ptr; ptr = strtok(NULL, WS))
+ for (ptr = strtok(line, WS); ptr; ptr = strtok(NULL, WS)) {
+ if (ptr == '\0' || ptr[0] == '#')
+ continue;
sl_add(hosts, strdup(ptr));
+ }
line[len] = c;
}
diff --git a/tools/regression/lib/libc/stdio/Makefile b/tools/regression/lib/libc/stdio/Makefile
deleted file mode 100644
index 688ea2a..0000000
--- a/tools/regression/lib/libc/stdio/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# $FreeBSD$
-
-TESTS= test-fdopen \
- test-fopen \
- test-freopen \
- test-getdelim \
- test-mkostemp \
- test-open_memstream \
- test-open_wmemstream \
- test-perror \
- test-print-positional \
- test-printbasic \
- test-printfloat \
- test-scanfloat
-
-CFLAGS+= -lm
-
-.PHONY: tests
-tests: ${TESTS}
- for p in ${TESTS}; do ${.OBJDIR}/$$p; done
-
-.PHONY: clean
-clean:
- -rm -f ${TESTS}
diff --git a/tools/regression/lib/libc/stdio/test-fdopen.c b/tools/regression/lib/libc/stdio/test-fdopen.c
deleted file mode 100644
index 33b33c5..0000000
--- a/tools/regression/lib/libc/stdio/test-fdopen.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*-
- * Copyright (c) 2014 Jilles Tjoelker
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <fcntl.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-
-static int testnum = 1;
-
-static void
-runtest(const char *fname, int intmode, const char *strmode, bool success)
-{
- FILE *fp;
- int fd;
-
- fd = open(fname, intmode);
- if (fd == -1) {
- printf("not ok %d - open(\"%s\", %#x) failed\n",
- testnum++, fname, intmode);
- return;
- }
- fp = fdopen(fd, strmode);
- if (fp == NULL) {
- close(fd);
- if (success)
- printf("not ok %d - "
- "fdopen(open(\"%s\", %#x), \"%s\") failed\n",
- testnum++, fname, intmode, strmode);
- else
- printf("ok %d - "
- "fdopen(open(\"%s\", %#x), \"%s\") failed\n",
- testnum++, fname, intmode, strmode);
- return;
- }
- if (success)
- printf("ok %d - "
- "fdopen(open(\"%s\", %#x), \"%s\") succeeded\n",
- testnum++, fname, intmode, strmode);
- else
- printf("not ok %d - "
- "fdopen(open(\"%s\", %#x), \"%s\") succeeded\n",
- testnum++, fname, intmode, strmode);
- fclose(fp);
-}
-
-/*
- * Test program for fdopen().
- */
-int
-main(int argc, char *argv[])
-{
- printf("1..19\n");
- runtest("/dev/null", O_RDONLY, "r", true);
- runtest("/dev/null", O_WRONLY, "r", false);
- runtest("/dev/null", O_RDWR, "r", true);
- runtest("/dev/null", O_RDONLY, "w", false);
- runtest("/dev/null", O_WRONLY, "w", true);
- runtest("/dev/null", O_RDWR, "w", true);
- runtest("/dev/null", O_RDONLY, "a", false);
- runtest("/dev/null", O_WRONLY, "a", true);
- runtest("/dev/null", O_RDWR, "a", true);
- runtest("/dev/null", O_RDONLY, "r+", false);
- runtest("/dev/null", O_WRONLY, "r+", false);
- runtest("/dev/null", O_RDWR, "r+", true);
- runtest("/dev/null", O_RDONLY, "w+", false);
- runtest("/dev/null", O_WRONLY, "w+", false);
- runtest("/dev/null", O_RDWR, "w+", true);
- runtest("/bin/sh", O_EXEC, "r", false);
- runtest("/bin/sh", O_EXEC, "w", false);
- runtest("/bin/sh", O_EXEC, "r+", false);
- runtest("/bin/sh", O_EXEC, "w+", false);
-
- return 0;
-}
-
-/* vim:ts=8:cin:sw=8
- * */
diff --git a/tools/regression/lib/libc/stdio/test-fdopen.t b/tools/regression/lib/libc/stdio/test-fdopen.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-fdopen.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
diff --git a/tools/regression/lib/libc/stdio/test-fopen.c b/tools/regression/lib/libc/stdio/test-fopen.c
deleted file mode 100644
index 8605717..0000000
--- a/tools/regression/lib/libc/stdio/test-fopen.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*-
- * Copyright (c) 2013 Jilles Tjoelker
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <string.h>
-
-/*
- * O_ACCMODE is currently defined incorrectly. This is what it should be.
- * Various code depends on the incorrect value.
- */
-#define CORRECT_O_ACCMODE (O_ACCMODE | O_EXEC)
-
-static int testnum = 1;
-
-static void
-runtest(const char *fname, const char *mode)
-{
- FILE *fp;
- int fd, flags, wantedflags;
-
- fp = fopen(fname, mode);
- if (fp == NULL) {
- printf("not ok %d - fopen(\"%s\", \"%s\") failed\n",
- testnum++, fname, mode);
- printf("not ok %d - FD_CLOEXEC # SKIP\n",
- testnum++);
- return;
- }
- fd = fileno(fp);
- if (fd < 0)
- printf("not ok %d - fileno() failed\n", testnum++);
- else
- printf("ok %d - fopen(\"%s\", \"%s\") and fileno() succeeded\n",
- testnum++, fname, mode);
- if (fcntl(fd, F_GETFD) == (strchr(mode, 'e') != NULL ? FD_CLOEXEC : 0))
- printf("ok %d - FD_CLOEXEC flag correct\n", testnum++);
- else
- printf("not ok %d - FD_CLOEXEC flag incorrect\n", testnum++);
- flags = fcntl(fd, F_GETFL);
- if (strchr(mode, '+'))
- wantedflags = O_RDWR | (*mode == 'a' ? O_APPEND : 0);
- else if (*mode == 'r')
- wantedflags = O_RDONLY;
- else if (*mode == 'w')
- wantedflags = O_WRONLY;
- else if (*mode == 'a')
- wantedflags = O_WRONLY | O_APPEND;
- else
- wantedflags = -1;
- if (wantedflags == -1)
- printf("not ok %d - unrecognized mode\n", testnum++);
- else if ((flags & (CORRECT_O_ACCMODE | O_APPEND)) == wantedflags)
- printf("ok %d - correct access mode\n", testnum++);
- else
- printf("not ok %d - incorrect access mode\n", testnum++);
- fclose(fp);
-}
-
-/*
- * Test program for fopen().
- */
-int
-main(int argc, char *argv[])
-{
- printf("1..45\n");
- runtest("/dev/null", "r");
- runtest("/dev/null", "r+");
- runtest("/dev/null", "w");
- runtest("/dev/null", "w+");
- runtest("/dev/null", "a");
- runtest("/dev/null", "a+");
- runtest("/dev/null", "re");
- runtest("/dev/null", "r+e");
- runtest("/dev/null", "we");
- runtest("/dev/null", "w+e");
- runtest("/dev/null", "ae");
- runtest("/dev/null", "a+e");
- runtest("/dev/null", "re+");
- runtest("/dev/null", "we+");
- runtest("/dev/null", "ae+");
-
- return 0;
-}
-
-/* vim:ts=8:cin:sw=8
- * */
diff --git a/tools/regression/lib/libc/stdio/test-fopen.t b/tools/regression/lib/libc/stdio/test-fopen.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-fopen.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
diff --git a/tools/regression/lib/libc/stdio/test-freopen.c b/tools/regression/lib/libc/stdio/test-freopen.c
deleted file mode 100644
index 37f3598..0000000
--- a/tools/regression/lib/libc/stdio/test-freopen.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*-
- * Copyright (c) 2014 Jilles Tjoelker
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <string.h>
-
-static int testnum = 1;
-
-static void
-runtest(const char *fname1, const char *mode1, const char *fname2,
- const char *mode2, bool success)
-{
- FILE *fp1, *fp2;
- const char *fname2_print;
-
- fname2_print = fname2 != NULL ? fname2 : "<NULL>";
- fp1 = fopen(fname1, mode1);
- if (fp1 == NULL) {
- printf("not ok %d - fopen(\"%s\", \"%s\") failed\n",
- testnum++, fname1, mode1);
- return;
- }
- fp2 = freopen(fname2, mode2, fp1);
- if (fp2 == NULL) {
- fclose(fp1);
- if (success)
- printf("not ok %d - "
- "freopen(\"%s\", \"%s\", fopen(\"%s\", \"%s\")) "
- "failed\n",
- testnum++, fname2_print, mode2, fname1, mode1);
- else
- printf("ok %d - "
- "freopen(\"%s\", \"%s\", fopen(\"%s\", \"%s\")) "
- "failed\n",
- testnum++, fname2_print, mode2, fname1, mode1);
- return;
- }
- if (success)
- printf("ok %d - "
- "freopen(\"%s\", \"%s\", fopen(\"%s\", \"%s\")) "
- "succeeded\n",
- testnum++, fname2_print, mode2, fname1, mode1);
- else
- printf("not ok %d - "
- "freopen(\"%s\", \"%s\", fopen(\"%s\", \"%s\")) "
- "succeeded\n",
- testnum++, fname2_print, mode2, fname1, mode1);
- fclose(fp2);
-}
-
-/*
- * Test program for freopen().
- */
-int
-main(int argc, char *argv[])
-{
- printf("1..19\n");
- runtest("/dev/null", "r", NULL, "r", true);
- runtest("/dev/null", "w", NULL, "r", false);
- runtest("/dev/null", "r+", NULL, "r", true);
- runtest("/dev/null", "r", NULL, "w", false);
- runtest("/dev/null", "w", NULL, "w", true);
- runtest("/dev/null", "r+", NULL, "w", true);
- runtest("/dev/null", "r", NULL, "a", false);
- runtest("/dev/null", "w", NULL, "a", true);
- runtest("/dev/null", "r+", NULL, "a", true);
- runtest("/dev/null", "r", NULL, "r+", false);
- runtest("/dev/null", "w", NULL, "r+", false);
- runtest("/dev/null", "r+", NULL, "r+", true);
- runtest("/dev/null", "r", NULL, "w+", false);
- runtest("/dev/null", "w", NULL, "w+", false);
- runtest("/dev/null", "r+", NULL, "w+", true);
- runtest("/bin/sh", "r", NULL, "r", true);
- runtest("/bin/sh", "r", "/bin/sh", "r", true);
- runtest("/bin/sh", "r", "/dev/null", "r", true);
- runtest("/bin/sh", "r", "/dev/null", "w", true);
-
- return 0;
-}
-
-/* vim:ts=8:cin:sw=8
- * */
diff --git a/tools/regression/lib/libc/stdio/test-freopen.t b/tools/regression/lib/libc/stdio/test-freopen.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-freopen.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
diff --git a/tools/regression/lib/libc/stdio/test-getdelim.c b/tools/regression/lib/libc/stdio/test-getdelim.c
deleted file mode 100644
index c68c21e..0000000
--- a/tools/regression/lib/libc/stdio/test-getdelim.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*-
- * Copyright (c) 2009 David Schultz <das@FreeBSD.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#define _WITH_GETLINE
-#include <assert.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define CHUNK_MAX 10
-
-/* The assertions depend on this string. */
-char apothegm[] = "All work and no play\0 makes Jack a dull boy.\n";
-
-/*
- * This is a neurotic reader function designed to give getdelim() a
- * hard time. It reads through the string `apothegm' and returns a
- * random number of bytes up to the requested length.
- */
-static int
-_reader(void *cookie, char *buf, int len)
-{
- size_t *offp = cookie;
- size_t r;
-
- r = random() % CHUNK_MAX + 1;
- if (len > r)
- len = r;
- if (len > sizeof(apothegm) - *offp)
- len = sizeof(apothegm) - *offp;
- memcpy(buf, apothegm + *offp, len);
- *offp += len;
- return (len);
-}
-
-static FILE *
-mkfilebuf(void)
-{
- size_t *offp;
-
- offp = malloc(sizeof(*offp)); /* XXX leak */
- *offp = 0;
- return (fropen(offp, _reader));
-}
-
-int
-main(int argc, char *argv[])
-{
- FILE *fp;
- char *line;
- size_t linecap;
- int i, n;
-
- srandom(0);
-
- printf("1..6\n");
-
- /*
- * Test multiple times with different buffer sizes
- * and different _reader() return values.
- */
- errno = 0;
- for (i = 0; i < 8; i++) {
- fp = mkfilebuf();
- linecap = i;
- line = malloc(i);
- /* First line: the full apothegm */
- assert(getline(&line, &linecap, fp) == sizeof(apothegm) - 1);
- assert(memcmp(line, apothegm, sizeof(apothegm)) == 0);
- assert(linecap >= sizeof(apothegm));
- /* Second line: the NUL terminator following the newline */
- assert(getline(&line, &linecap, fp) == 1);
- assert(line[0] == '\0' && line[1] == '\0');
- /* Third line: EOF */
- line[0] = 'X';
- assert(getline(&line, &linecap, fp) == -1);
- assert(line[0] == '\0');
- free(line);
- line = NULL;
- assert(feof(fp));
- assert(!ferror(fp));
- fclose(fp);
- }
- assert(errno == 0);
- printf("ok 1 - getline basic\n");
-
- /* Make sure read errors are handled properly. */
- linecap = 0;
- errno = 0;
- assert(getline(&line, &linecap, stdout) == -1);
- assert(errno == EBADF);
- errno = 0;
- assert(getdelim(&line, &linecap, 'X', stdout) == -1);
- assert(errno == EBADF);
- assert(ferror(stdout));
- printf("ok 2 - stream error\n");
-
- /* Make sure NULL linep or linecapp pointers are handled. */
- fp = mkfilebuf();
- assert(getline(NULL, &linecap, fp) == -1);
- assert(errno == EINVAL);
- assert(getline(&line, NULL, fp) == -1);
- assert(errno == EINVAL);
- assert(ferror(fp));
- fclose(fp);
- printf("ok 3 - invalid params\n");
-
- /* Make sure getline() allocates memory as needed if fp is at EOF. */
- errno = 0;
- fp = mkfilebuf();
- while (!feof(fp)) /* advance to EOF; can't fseek this stream */
- getc(fp);
- free(line);
- line = NULL;
- linecap = 0;
- assert(getline(&line, &linecap, fp) == -1);
- assert(line[0] == '\0');
- assert(linecap > 0);
- assert(errno == 0);
- assert(feof(fp));
- assert(!ferror(fp));
- fclose(fp);
- printf("ok 4 - eof\n");
-
- /* Make sure a NUL delimiter works. */
- fp = mkfilebuf();
- n = strlen(apothegm);
- assert(getdelim(&line, &linecap, '\0', fp) == n + 1);
- assert(strcmp(line, apothegm) == 0);
- assert(line[n + 1] == '\0');
- assert(linecap > n + 1);
- n = strlen(apothegm + n + 1);
- assert(getdelim(&line, &linecap, '\0', fp) == n + 1);
- assert(line[n + 1] == '\0');
- assert(linecap > n + 1);
- assert(errno == 0);
- assert(!ferror(fp));
- fclose(fp);
- printf("ok 5 - nul\n");
-
- /* Make sure NULL *linep and zero *linecapp are handled. */
- fp = mkfilebuf();
- free(line);
- line = NULL;
- linecap = 42;
- assert(getline(&line, &linecap, fp) == sizeof(apothegm) - 1);
- assert(memcmp(line, apothegm, sizeof(apothegm)) == 0);
- fp = mkfilebuf();
- free(line);
- line = malloc(100);
- linecap = 0;
- assert(getline(&line, &linecap, fp) == sizeof(apothegm) - 1);
- assert(memcmp(line, apothegm, sizeof(apothegm)) == 0);
- free(line);
- assert(!ferror(fp));
- fclose(fp);
- printf("ok 6 - empty/NULL initial buffer\n");
-
- exit(0);
-}
diff --git a/tools/regression/lib/libc/stdio/test-getdelim.t b/tools/regression/lib/libc/stdio/test-getdelim.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-getdelim.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
diff --git a/tools/regression/lib/libc/stdio/test-mkostemp.c b/tools/regression/lib/libc/stdio/test-mkostemp.c
deleted file mode 100644
index 5f67c72..0000000
--- a/tools/regression/lib/libc/stdio/test-mkostemp.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*-
- * Copyright (c) 2013 Jilles Tjoelker
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Test program for mkostemp().
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/stat.h>
-
-#include <errno.h>
-#include <fcntl.h>
-#include <paths.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-static const char template[] = _PATH_TMP "mkostemp.XXXXXXXX";
-static int testnum;
-
-#define MISCFLAGS (O_APPEND | O_DIRECT | O_SHLOCK | O_EXLOCK | O_SYNC)
-
-static void
-test_one(int oflags)
-{
- char tmpf[sizeof(template)];
- struct stat st1, st2;
- int fd;
-
- memcpy(tmpf, template, sizeof(tmpf));
- fd = mkostemp(tmpf, oflags);
- if (fd < 0) {
- printf("not ok %d - oflags=%#x "
- "mkostemp() reported failure: %s\n",
- testnum++, oflags, strerror(errno));
- return;
- }
- if (memcmp(tmpf, template, sizeof(tmpf) - 8 - 1) != 0) {
- printf("not ok %d - oflags=%#x "
- "returned pathname does not match template: %s\n",
- testnum++, oflags, tmpf);
- return;
- }
- do {
- if (fcntl(fd, F_GETFD) !=
- (oflags & O_CLOEXEC ? FD_CLOEXEC : 0)) {
- printf("not ok %d - oflags=%#x "
- "close-on-exec flag incorrect\n",
- testnum++, oflags);
- break;
- }
- if ((fcntl(fd, F_GETFL) & MISCFLAGS) != (oflags & MISCFLAGS)) {
- printf("not ok %d - oflags=%#x "
- "open flags incorrect\n",
- testnum++, oflags);
- break;
- }
- if (stat(tmpf, &st1) == -1) {
- printf("not ok %d - oflags=%#x "
- "cannot stat returned pathname %s: %s\n",
- testnum++, oflags, tmpf, strerror(errno));
- break;
- }
- if (fstat(fd, &st2) == -1) {
- printf("not ok %d - oflags=%#x "
- "cannot fstat returned fd %d: %s\n",
- testnum++, oflags, fd, strerror(errno));
- break;
- }
- if (!S_ISREG(st1.st_mode) || (st1.st_mode & 0777) != 0600 ||
- st1.st_nlink != 1 || st1.st_size != 0) {
- printf("not ok %d - oflags=%#x "
- "named file attributes incorrect\n",
- testnum++, oflags);
- break;
- }
- if (!S_ISREG(st2.st_mode) || (st2.st_mode & 0777) != 0600 ||
- st2.st_nlink != 1 || st2.st_size != 0) {
- printf("not ok %d - oflags=%#x "
- "opened file attributes incorrect\n",
- testnum++, oflags);
- break;
- }
- if (st1.st_dev != st2.st_dev || st1.st_ino != st2.st_ino) {
- printf("not ok %d - oflags=%#x "
- "named and opened file do not match\n",
- testnum++, oflags);
- break;
- }
- (void)unlink(tmpf);
- if (fstat(fd, &st2) == -1)
- printf("not ok %d - oflags=%#x "
- "cannot fstat returned fd %d again: %s\n",
- testnum++, oflags, fd, strerror(errno));
- else if (st2.st_nlink != 0)
- printf("not ok %d - oflags=%#x "
- "st_nlink is not 0 after unlink\n",
- testnum++, oflags);
- else
- printf("ok %d - oflags=%#x\n", testnum++, oflags);
- (void)close(fd);
- return;
- } while (0);
- (void)close(fd);
- (void)unlink(tmpf);
-}
-
-static void
-test_badflags(void)
-{
- char tmpf[sizeof(template)];
-
- memcpy(tmpf, template, sizeof(tmpf));
- if (mkostemp(tmpf, O_CREAT) == -1)
- printf("ok %d - mkostemp(O_CREAT) correctly failed\n",
- testnum++);
- else
- printf("not ok %d - mkostemp(O_CREAT) wrongly succeeded\n",
- testnum++);
-}
-
-int
-main(int argc, char *argv[])
-{
- int i;
- const char *e;
-
- printf("1..5\n");
- testnum = 1;
-
- test_one(0);
- test_one(O_CLOEXEC);
- test_one(O_APPEND);
- test_one(O_APPEND | O_CLOEXEC);
- test_badflags();
-
- return (0);
-}
diff --git a/tools/regression/lib/libc/stdio/test-mkostemp.t b/tools/regression/lib/libc/stdio/test-mkostemp.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-mkostemp.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
diff --git a/tools/regression/lib/libc/stdio/test-open_memstream.c b/tools/regression/lib/libc/stdio/test-open_memstream.c
deleted file mode 100644
index fdbda30..0000000
--- a/tools/regression/lib/libc/stdio/test-open_memstream.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*-
- * Copyright (c) 2013 Hudson River Trading LLC
- * Written by: John H. Baldwin <jhb@FreeBSD.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <err.h>
-#include <errno.h>
-#include <limits.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-
-static char *buf;
-static size_t len;
-
-static void
-assert_stream(const char *contents)
-{
- if (strlen(contents) != len)
- printf("bad length %zd for \"%s\"\n", len, contents);
- else if (strncmp(buf, contents, strlen(contents)) != 0)
- printf("bad buffer \"%s\" for \"%s\"\n", buf, contents);
-}
-
-static void
-open_group_test(void)
-{
- FILE *fp;
- off_t eob;
-
- fp = open_memstream(&buf, &len);
- if (fp == NULL)
- err(1, "failed to open stream");
-
- fprintf(fp, "hello my world");
- fflush(fp);
- assert_stream("hello my world");
- eob = ftello(fp);
- rewind(fp);
- fprintf(fp, "good-bye");
- fseeko(fp, eob, SEEK_SET);
- fclose(fp);
- assert_stream("good-bye world");
- free(buf);
-}
-
-static void
-simple_tests(void)
-{
- static const char zerobuf[] =
- { 'f', 'o', 'o', 0, 0, 0, 0, 'b', 'a', 'r', 0 };
- char c;
- FILE *fp;
-
- fp = open_memstream(&buf, NULL);
- if (fp != NULL)
- errx(1, "did not fail to open stream");
- else if (errno != EINVAL)
- err(1, "incorrect error for bad length pointer");
- fp = open_memstream(NULL, &len);
- if (fp != NULL)
- errx(1, "did not fail to open stream");
- else if (errno != EINVAL)
- err(1, "incorrect error for bad buffer pointer");
- fp = open_memstream(&buf, &len);
- if (fp == NULL)
- err(1, "failed to open stream");
- fflush(fp);
- assert_stream("");
- if (fwide(fp, 0) >= 0)
- printf("stream is not byte-oriented\n");
-
- fprintf(fp, "fo");
- fflush(fp);
- assert_stream("fo");
- fputc('o', fp);
- fflush(fp);
- assert_stream("foo");
- rewind(fp);
- fflush(fp);
- assert_stream("");
- fseek(fp, 0, SEEK_END);
- fflush(fp);
- assert_stream("foo");
-
- /*
- * Test seeking out past the current end. Should zero-fill the
- * intermediate area.
- */
- fseek(fp, 4, SEEK_END);
- fprintf(fp, "bar");
- fflush(fp);
-
- /*
- * Can't use assert_stream() here since this should contain
- * embedded null characters.
- */
- if (len != 10)
- printf("bad length %zd for zero-fill test\n", len);
- else if (memcmp(buf, zerobuf, sizeof(zerobuf)) != 0)
- printf("bad buffer for zero-fill test\n");
-
- fseek(fp, 3, SEEK_SET);
- fprintf(fp, " in ");
- fflush(fp);
- assert_stream("foo in ");
- fseek(fp, 0, SEEK_END);
- fflush(fp);
- assert_stream("foo in bar");
-
- rewind(fp);
- if (fread(&c, sizeof(c), 1, fp) != 0)
- printf("fread did not fail\n");
- else if (!ferror(fp))
- printf("error indicator not set after fread\n");
- else
- clearerr(fp);
-
- fseek(fp, 4, SEEK_SET);
- fprintf(fp, "bar baz");
- fclose(fp);
- assert_stream("foo bar baz");
- free(buf);
-}
-
-static void
-seek_tests(void)
-{
- FILE *fp;
-
- fp = open_memstream(&buf, &len);
- if (fp == NULL)
- err(1, "failed to open stream");
-#define SEEK_FAIL(offset, whence, error) do { \
- errno = 0; \
- if (fseeko(fp, (offset), (whence)) == 0) \
- printf("fseeko(%s, %s) did not fail, set pos to %jd\n", \
- __STRING(offset), __STRING(whence), \
- (intmax_t)ftello(fp)); \
- else if (errno != (error)) \
- printf("fseeko(%s, %s) failed with %d rather than %s\n",\
- __STRING(offset), __STRING(whence), errno, \
- __STRING(error)); \
-} while (0)
-
-#define SEEK_OK(offset, whence, result) do { \
- if (fseeko(fp, (offset), (whence)) != 0) \
- printf("fseeko(%s, %s) failed: %s\n", \
- __STRING(offset), __STRING(whence), strerror(errno)); \
- else if (ftello(fp) != (result)) \
- printf("fseeko(%s, %s) seeked to %jd rather than %s\n", \
- __STRING(offset), __STRING(whence), \
- (intmax_t)ftello(fp), __STRING(result)); \
-} while (0)
-
- SEEK_FAIL(-1, SEEK_SET, EINVAL);
- SEEK_FAIL(-1, SEEK_CUR, EINVAL);
- SEEK_FAIL(-1, SEEK_END, EINVAL);
- fprintf(fp, "foo");
- SEEK_OK(-1, SEEK_CUR, 2);
- SEEK_OK(0, SEEK_SET, 0);
- SEEK_OK(-1, SEEK_END, 2);
- SEEK_OK(OFF_MAX - 1, SEEK_SET, OFF_MAX - 1);
- SEEK_FAIL(2, SEEK_CUR, EOVERFLOW);
- fclose(fp);
-}
-
-int
-main(int ac, char **av)
-{
-
- open_group_test();
- simple_tests();
- seek_tests();
- return (0);
-}
diff --git a/tools/regression/lib/libc/stdio/test-open_memstream.t b/tools/regression/lib/libc/stdio/test-open_memstream.t
deleted file mode 100644
index bd5157b..0000000
--- a/tools/regression/lib/libc/stdio/test-open_memstream.t
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-echo 1..1
-if ./$executable; then
- echo ok 1 - $executable successful
-else
- echo not ok 1 - $executable failed
-fi
diff --git a/tools/regression/lib/libc/stdio/test-open_wmemstream.c b/tools/regression/lib/libc/stdio/test-open_wmemstream.c
deleted file mode 100644
index 2a90fcd..0000000
--- a/tools/regression/lib/libc/stdio/test-open_wmemstream.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*-
- * Copyright (c) 2013 Hudson River Trading LLC
- * Written by: John H. Baldwin <jhb@FreeBSD.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <err.h>
-#include <errno.h>
-#include <limits.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-
-static wchar_t *buf;
-static size_t len;
-
-static void
-assert_stream(const wchar_t *contents)
-{
- if (wcslen(contents) != len)
- printf("bad length %zd for \"%ls\"\n", len, contents);
- else if (wcsncmp(buf, contents, wcslen(contents)) != 0)
- printf("bad buffer \"%ls\" for \"%ls\"\n", buf, contents);
-}
-
-static void
-open_group_test(void)
-{
- FILE *fp;
- off_t eob;
-
- fp = open_wmemstream(&buf, &len);
- if (fp == NULL)
- err(1, "failed to open stream");
-
- fwprintf(fp, L"hello my world");
- fflush(fp);
- assert_stream(L"hello my world");
- eob = ftello(fp);
- rewind(fp);
- fwprintf(fp, L"good-bye");
- fseeko(fp, eob, SEEK_SET);
- fclose(fp);
- assert_stream(L"good-bye world");
- free(buf);
-}
-
-static void
-simple_tests(void)
-{
- static const wchar_t zerobuf[] =
- { L'f', L'o', L'o', 0, 0, 0, 0, L'b', L'a', L'r', 0 };
- wchar_t c;
- FILE *fp;
-
- fp = open_wmemstream(&buf, NULL);
- if (fp != NULL)
- errx(1, "did not fail to open stream");
- else if (errno != EINVAL)
- err(1, "incorrect error for bad length pointer");
- fp = open_wmemstream(NULL, &len);
- if (fp != NULL)
- errx(1, "did not fail to open stream");
- else if (errno != EINVAL)
- err(1, "incorrect error for bad buffer pointer");
- fp = open_wmemstream(&buf, &len);
- if (fp == NULL)
- err(1, "failed to open stream");
- fflush(fp);
- assert_stream(L"");
- if (fwide(fp, 0) <= 0)
- printf("stream is not wide-oriented\n");
-
- fwprintf(fp, L"fo");
- fflush(fp);
- assert_stream(L"fo");
- fputwc(L'o', fp);
- fflush(fp);
- assert_stream(L"foo");
- rewind(fp);
- fflush(fp);
- assert_stream(L"");
- fseek(fp, 0, SEEK_END);
- fflush(fp);
- assert_stream(L"foo");
-
- /*
- * Test seeking out past the current end. Should zero-fill the
- * intermediate area.
- */
- fseek(fp, 4, SEEK_END);
- fwprintf(fp, L"bar");
- fflush(fp);
-
- /*
- * Can't use assert_stream() here since this should contain
- * embedded null characters.
- */
- if (len != 10)
- printf("bad length %zd for zero-fill test\n", len);
- else if (memcmp(buf, zerobuf, sizeof(zerobuf)) != 0)
- printf("bad buffer for zero-fill test\n");
-
- fseek(fp, 3, SEEK_SET);
- fwprintf(fp, L" in ");
- fflush(fp);
- assert_stream(L"foo in ");
- fseek(fp, 0, SEEK_END);
- fflush(fp);
- assert_stream(L"foo in bar");
-
- rewind(fp);
- if (fread(&c, sizeof(c), 1, fp) != 0)
- printf("fread did not fail\n");
- else if (!ferror(fp))
- printf("error indicator not set after fread\n");
- else
- clearerr(fp);
-
- fseek(fp, 4, SEEK_SET);
- fwprintf(fp, L"bar baz");
- fclose(fp);
- assert_stream(L"foo bar baz");
- free(buf);
-}
-
-static void
-seek_tests(void)
-{
- FILE *fp;
-
- fp = open_wmemstream(&buf, &len);
- if (fp == NULL)
- err(1, "failed to open stream");
-#define SEEK_FAIL(offset, whence, error) do { \
- errno = 0; \
- if (fseeko(fp, (offset), (whence)) == 0) \
- printf("fseeko(%s, %s) did not fail, set pos to %jd\n", \
- __STRING(offset), __STRING(whence), \
- (intmax_t)ftello(fp)); \
- else if (errno != (error)) \
- printf("fseeko(%s, %s) failed with %d rather than %s\n",\
- __STRING(offset), __STRING(whence), errno, \
- __STRING(error)); \
-} while (0)
-
-#define SEEK_OK(offset, whence, result) do { \
- if (fseeko(fp, (offset), (whence)) != 0) \
- printf("fseeko(%s, %s) failed: %s\n", \
- __STRING(offset), __STRING(whence), strerror(errno)); \
- else if (ftello(fp) != (result)) \
- printf("fseeko(%s, %s) seeked to %jd rather than %s\n", \
- __STRING(offset), __STRING(whence), \
- (intmax_t)ftello(fp), __STRING(result)); \
-} while (0)
-
- SEEK_FAIL(-1, SEEK_SET, EINVAL);
- SEEK_FAIL(-1, SEEK_CUR, EINVAL);
- SEEK_FAIL(-1, SEEK_END, EINVAL);
- fwprintf(fp, L"foo");
- SEEK_OK(-1, SEEK_CUR, 2);
- SEEK_OK(0, SEEK_SET, 0);
- SEEK_OK(-1, SEEK_END, 2);
- SEEK_OK(OFF_MAX - 1, SEEK_SET, OFF_MAX - 1);
- SEEK_FAIL(2, SEEK_CUR, EOVERFLOW);
- fclose(fp);
-}
-
-int
-main(int ac, char **av)
-{
-
- open_group_test();
- simple_tests();
- seek_tests();
- return (0);
-}
diff --git a/tools/regression/lib/libc/stdio/test-open_wmemstream.t b/tools/regression/lib/libc/stdio/test-open_wmemstream.t
deleted file mode 100644
index bd5157b..0000000
--- a/tools/regression/lib/libc/stdio/test-open_wmemstream.t
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-echo 1..1
-if ./$executable; then
- echo ok 1 - $executable successful
-else
- echo not ok 1 - $executable failed
-fi
diff --git a/tools/regression/lib/libc/stdio/test-perror.c b/tools/regression/lib/libc/stdio/test-perror.c
deleted file mode 100644
index 24aca89..0000000
--- a/tools/regression/lib/libc/stdio/test-perror.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*-
- * Copyright (c) 2002 Tim J. Robbins
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Test program for perror() as specified by IEEE Std. 1003.1-2001 and
- * ISO/IEC 9899:1999.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <assert.h>
-#include <err.h>
-#include <errno.h>
-#include <limits.h>
-#include <paths.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-static void cleanup(void);
-static char tmpfil[PATH_MAX];
-
-int
-main(int argc, char *argv[])
-{
- char lbuf[512];
- int i;
- char *s;
-
- printf("1..1\n");
-
- strcpy(tmpfil, _PATH_TMP "perror.XXXXXXXX");
- if (mkstemp(tmpfil) < 0)
- err(1, "mkstemp");
- atexit(cleanup);
- /* Reopen stderr on a file descriptor other than 2. */
- fclose(stderr);
- for (i = 0; i < 3; i++)
- dup(0);
- if (freopen(tmpfil, "r+", stderr) == NULL)
- err(1, "%s", tmpfil);
-
- /*
- * Test that perror() doesn't call strerror() (4.4BSD bug),
- * the two ways of omitting a program name, and the formatting when
- * a program name is specified.
- */
- s = strerror(ENOENT);
- assert(strcmp(s, "No such file or directory") == 0);
- errno = EPERM;
- perror(NULL);
- perror("");
- perror("test-perror");
- assert(strcmp(s, "No such file or directory") == 0);
-
- /*
- * Read it back to check...
- */
- rewind(stderr);
- s = fgets(lbuf, sizeof(lbuf), stderr);
- assert(s != NULL);
- assert(strcmp(s, "Operation not permitted\n") == 0);
- s = fgets(lbuf, sizeof(lbuf), stderr);
- assert(s != NULL);
- assert(strcmp(s, "Operation not permitted\n") == 0);
- s = fgets(lbuf, sizeof(lbuf), stderr);
- assert(s != NULL);
- assert(strcmp(s, "test-perror: Operation not permitted\n") == 0);
- s = fgets(lbuf, sizeof(lbuf), stderr);
- assert(s == NULL);
- fclose(stderr);
-
- printf("ok 1 - perror()\n");
-
- return (0);
-}
-
-static void
-cleanup(void)
-{
-
- unlink(tmpfil);
-}
diff --git a/tools/regression/lib/libc/stdio/test-perror.t b/tools/regression/lib/libc/stdio/test-perror.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-perror.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
diff --git a/tools/regression/lib/libc/stdio/test-print-positional.c b/tools/regression/lib/libc/stdio/test-print-positional.c
deleted file mode 100644
index 6eeb8f1..0000000
--- a/tools/regression/lib/libc/stdio/test-print-positional.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/* $OpenBSD: sprintf_test.c,v 1.3 2004/09/16 20:22:26 otto Exp $ */
-
-/*
- * Copyright (c) 2003 Theo de Raadt
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-
-const char correct[] =
- "|xx 01 02 03 04\n"
- "|xx 05 06 07 08\n"
- "|xx 09 10 11 12\n"
- "|xx 13 14 15 16\n"
- "|xx 17 18 19 20\n"
- "|xx 21 22 23 24\n"
- "|xx 25 26 27 28\n"
- "|xx 29 30 31 32\n"
- "|xx 33 34 35 36\n"
- "|xx 37 38 39 40\n"
- "|xx 41 42 43 44\n"
- "|xx 45 -1 1 -1 1\n";
-
-const char correct2[] =
- "b bs BSD";
-
-int
-main(int argc, char *argv[])
-{
- char buf[1024];
- wchar_t wbuf1[1024], wbuf2[1024];
- const char *temp;
-
- printf("1..4\n");
-
- /* Test positional arguments */
- snprintf(buf, sizeof buf,
- "|xx %1$s %2$s %3$s %4$s\n"
- "|xx %5$s %6$s %7$s %8$s\n"
- "|xx %9$s %10$s %11$s %12$s\n"
- "|xx %13$s %14$s %15$s %16$s\n"
- "|xx %17$s %18$s %19$s %20$s\n"
- "|xx %21$s %22$s %23$s %24$s\n"
- "|xx %25$s %26$s %27$s %28$s\n"
- "|xx %29$s %30$s %31$s %32$s\n"
- "|xx %33$s %34$s %35$s %36$s\n"
- "|xx %37$s %38$s %39$s %40$s\n"
- "|xx %41$s %42$s %43$s %44$s\n"
- "|xx %45$d %46$ld %47$lld %48$d %49$lld\n",
- "01", "02", "03", "04", "05", "06",
- "07", "08", "09", "10", "11", "12",
- "13", "14", "15", "16", "17", "18",
- "19", "20", "21", "22", "23", "24",
- "25", "26", "27", "28", "29", "30",
- "31", "32", "33", "34", "35", "36",
- "37", "38", "39", "40", "41", "42",
- "43", "44", 45, -1L, 1LL, -1, 1LL
- );
- printf("%sok 1 - print-positional normal\n",
- strcmp(buf, correct) == 0 ? "" : "not ");
-
- swprintf(wbuf1, sizeof wbuf1,
- L"|xx %1$s %2$s %3$s %4$s\n"
- "|xx %5$s %6$s %7$s %8$s\n"
- "|xx %9$s %10$s %11$s %12$s\n"
- "|xx %13$s %14$s %15$s %16$s\n"
- "|xx %17$s %18$s %19$s %20$s\n"
- "|xx %21$s %22$s %23$s %24$s\n"
- "|xx %25$s %26$s %27$s %28$s\n"
- "|xx %29$s %30$s %31$s %32$s\n"
- "|xx %33$s %34$s %35$s %36$s\n"
- "|xx %37$s %38$s %39$s %40$s\n"
- "|xx %41$s %42$s %43$s %44$s\n"
- "|xx %45$d %46$ld %47$lld %48$d %49$lld\n",
- "01", "02", "03", "04", "05", "06",
- "07", "08", "09", "10", "11", "12",
- "13", "14", "15", "16", "17", "18",
- "19", "20", "21", "22", "23", "24",
- "25", "26", "27", "28", "29", "30",
- "31", "32", "33", "34", "35", "36",
- "37", "38", "39", "40", "41", "42",
- "43", "44", 45, -1L, 1LL, -1, 1LL
- );
- temp = correct;
- mbsrtowcs(wbuf2, &temp, sizeof wbuf2, NULL);
- printf("%sok 2 - print-positional wide\n",
- wcscmp(wbuf1, wbuf2) == 0 ? "" : "not ");
-
- snprintf(buf, sizeof buf, "%2$.*4$s %2$.*3$s %1$s",
- "BSD", "bsd", 2, 1);
- printf("%sok 3 - print-positional precision\n",
- strcmp(buf, correct2) == 0 ? "" : "not ");
-
- swprintf(wbuf1, sizeof buf, L"%2$.*4$s %2$.*3$s %1$s",
- "BSD", "bsd", 2, 1);
- temp = correct2;
- mbsrtowcs(wbuf2, &temp, sizeof wbuf2, NULL);
- printf("%sok 4 - print-positional precision wide\n",
- wcscmp(wbuf1, wbuf2) == 0 ? "" : "not ");
-
- exit(0);
-}
diff --git a/tools/regression/lib/libc/stdio/test-print-positional.t b/tools/regression/lib/libc/stdio/test-print-positional.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-print-positional.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
diff --git a/tools/regression/lib/libc/stdio/test-printbasic.c b/tools/regression/lib/libc/stdio/test-printbasic.c
deleted file mode 100644
index 2e143d7..0000000
--- a/tools/regression/lib/libc/stdio/test-printbasic.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*-
- * Copyright (c) 2009 David Schultz <das@FreeBSD.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Tests for basic and miscellaneous printf() formats.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <assert.h>
-#include <err.h>
-#include <limits.h>
-#include <locale.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-
-#define testfmt(result, fmt, ...) \
- _testfmt((result), __LINE__, #__VA_ARGS__, fmt, __VA_ARGS__)
-void _testfmt(const char *, int, const char *, const char *, ...);
-void smash_stack(void);
-
-#define S_UINT64MAX "18446744073709551615"
-#define S_UINT32MAX "4294967295"
-#define S_INT64MIN "-9223372036854775808"
-#define S_INT32MIN "-2147483648"
-
-#define S_SIZEMAX (SIZE_MAX == UINT64_MAX ? S_UINT64MAX : S_UINT32MAX)
-#define S_ULONGMAX (ULONG_MAX == UINT64_MAX ? S_UINT64MAX : S_UINT32MAX)
-#define S_ULLONGMAX (ULLONG_MAX == UINT64_MAX ? S_UINT64MAX : S_UINT32MAX)
-
-int
-main(int argc, char *argv[])
-{
-
- printf("1..2\n");
- assert(setlocale(LC_NUMERIC, "C"));
-
- /* The test requires these to be true. */
- assert(UINTMAX_MAX == UINT64_MAX);
- assert(UINT_MAX == UINT32_MAX);
- assert(USHRT_MAX == 0xffff);
- assert(UCHAR_MAX == 0xff);
-
- /*
- * Make sure we handle signed vs. unsigned args correctly.
- */
- testfmt("-1", "%jd", (intmax_t)-1);
- testfmt(S_UINT64MAX, "%ju", UINT64_MAX);
-
- testfmt("-1", "%td", (ptrdiff_t)-1);
- testfmt(S_SIZEMAX, "%tu", (size_t)-1);
-
- testfmt("-1", "%zd", (ssize_t)-1);
- testfmt(S_SIZEMAX, "%zu", (ssize_t)-1);
-
- testfmt("-1", "%ld", (long)-1);
- testfmt(S_ULONGMAX, "%lu", ULONG_MAX);
-
- testfmt("-1", "%lld", (long long)-1);
- testfmt(S_ULONGMAX, "%lu", ULLONG_MAX);
-
- testfmt("-1", "%d", -1);
- testfmt(S_UINT32MAX, "%lu", UINT32_MAX);
-
- testfmt("-1", "%hd", -1);
- testfmt("65535", "%hu", USHRT_MAX);
-
- testfmt("-1", "%hhd", -1);
- testfmt("255", "%hhu", UCHAR_MAX);
-
- printf("ok 1 - printbasic signed/unsigned\n");
-
- /*
- * Check that printing the largest negative number does not cause
- * overflow when it is negated.
- */
- testfmt(S_INT32MIN, "%d", INT_MIN);
- testfmt(S_INT64MIN, "%jd", INTMAX_MIN);
-
- printf("ok 2 - printbasic INT_MIN\n");
-
-
- return (0);
-}
-
-void
-smash_stack(void)
-{
- static uint32_t junk = 0xdeadbeef;
- uint32_t buf[512];
- int i;
-
- for (i = 0; i < sizeof(buf) / sizeof(buf[0]); i++)
- buf[i] = junk;
-}
-
-void
-_testfmt(const char *result, int line, const char *argstr, const char *fmt,...)
-{
-#define BUF 100
- wchar_t ws[BUF], wfmt[BUF], wresult[BUF];
- char s[BUF];
- va_list ap, ap2;
-
- va_start(ap, fmt);
- va_copy(ap2, ap);
- smash_stack();
- vsnprintf(s, sizeof(s), fmt, ap);
- if (strcmp(result, s) != 0) {
- fprintf(stderr,
- "%d: printf(\"%s\", %s) ==> [%s], expected [%s]\n",
- line, fmt, argstr, s, result);
- abort();
- }
-
- smash_stack();
- mbstowcs(ws, s, BUF - 1);
- mbstowcs(wfmt, fmt, BUF - 1);
- mbstowcs(wresult, result, BUF - 1);
- vswprintf(ws, sizeof(ws) / sizeof(ws[0]), wfmt, ap2);
- if (wcscmp(wresult, ws) != 0) {
- fprintf(stderr,
- "%d: wprintf(\"%ls\", %s) ==> [%ls], expected [%ls]\n",
- line, wfmt, argstr, ws, wresult);
- abort();
- }
-}
diff --git a/tools/regression/lib/libc/stdio/test-printbasic.t b/tools/regression/lib/libc/stdio/test-printbasic.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-printbasic.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
diff --git a/tools/regression/lib/libc/stdio/test-printfloat.c b/tools/regression/lib/libc/stdio/test-printfloat.c
deleted file mode 100644
index 806a85e..0000000
--- a/tools/regression/lib/libc/stdio/test-printfloat.c
+++ /dev/null
@@ -1,357 +0,0 @@
-/*-
- * Copyright (c) 2002-2009 David Schultz <das@FreeBSD.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Test for printf() floating point formats.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <assert.h>
-#include <err.h>
-#include <fenv.h>
-#include <float.h>
-#include <locale.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-
-#define testfmt(result, fmt, ...) \
- _testfmt((result), __LINE__, #__VA_ARGS__, fmt, __VA_ARGS__)
-void _testfmt(const char *, int, const char *, const char *, ...);
-void smash_stack(void);
-
-int
-main(int argc, char *argv[])
-{
-
- printf("1..11\n");
- assert(setlocale(LC_NUMERIC, "C"));
-
- /*
- * Basic tests of decimal output functionality.
- */
- testfmt(" 1.000000E+00", "%13E", 1.0);
- testfmt(" 1.000000", "%13f", 1.0);
- testfmt(" 1", "%13G", 1.0);
- testfmt(" 1.000000E+00", "%13LE", 1.0L);
- testfmt(" 1.000000", "%13Lf", 1.0L);
- testfmt(" 1", "%13LG", 1.0L);
-
- testfmt("2.718282", "%.*f", -2, 2.7182818);
-
- testfmt("1.234568e+06", "%e", 1234567.8);
- testfmt("1234567.800000", "%f", 1234567.8);
- testfmt("1.23457E+06", "%G", 1234567.8);
- testfmt("1.234568e+06", "%Le", 1234567.8L);
- testfmt("1234567.800000", "%Lf", 1234567.8L);
- testfmt("1.23457E+06", "%LG", 1234567.8L);
-
-#if (LDBL_MANT_DIG > DBL_MANT_DIG) && !defined(__i386__)
- testfmt("123456789.864210", "%Lf", 123456789.8642097531L);
- testfmt("-1.23457E+08", "%LG", -123456789.8642097531L);
- testfmt("123456789.8642097531", "%.10Lf", 123456789.8642097531L);
- testfmt(" 3.141592653589793238e-4000", "%L27.18Le",
- 3.14159265358979323846e-4000L);
-#endif
-
- printf("ok 1 - printfloat\n");
-
- /*
- * Infinities and NaNs
- */
- testfmt("nan", "%e", NAN);
- testfmt("NAN", "%F", NAN);
- testfmt("nan", "%g", NAN);
- testfmt("NAN", "%LE", (long double)NAN);
- testfmt(" nan", "%05e", NAN);
-
- testfmt("INF", "%E", HUGE_VAL);
- testfmt("-inf", "%f", -HUGE_VAL);
- testfmt("+inf", "%+g", HUGE_VAL);
- testfmt(" inf", "%4.2Le", HUGE_VALL);
- testfmt("-inf", "%Lf", -HUGE_VALL);
- testfmt(" inf", "%05e", HUGE_VAL);
- testfmt(" -inf", "%05e", -HUGE_VAL);
-
- printf("ok 2 - printfloat\n");
-
- /*
- * Padding
- */
- testfmt("0.000000e+00", "%e", 0.0);
- testfmt("0.000000", "%F", (double)0.0);
- testfmt("0", "%G", 0.0);
- testfmt(" 0", "%3.0Lg", 0.0L);
- testfmt(" 0", "%5.0f", 0.001);
- printf("ok 3 - printfloat\n");
-
- /*
- * Precision specifiers
- */
- testfmt("1.0123e+00", "%.4e", 1.0123456789);
- testfmt("1.0123", "%.4f", 1.0123456789);
- testfmt("1.012", "%.4g", 1.0123456789);
- testfmt("1.2346e-02", "%.4e", 0.0123456789);
- testfmt("0.0123", "%.4f", 0.0123456789);
- testfmt("0.01235", "%.4g", 0.0123456789);
- printf("ok 4 - printfloat\n");
-
- /*
- * Thousands' separators and other locale fun
- */
- testfmt("12345678.0625", "%'.04f", 12345678.0625);
- testfmt("0012345678.0625", "%'015.4F", 12345678.0625);
-
- assert(setlocale(LC_NUMERIC, "hi_IN.ISCII-DEV")); /* grouping == 2;3 */
- testfmt("123,456,78.0625", "%'.4f", 12345678.0625);
- testfmt("00123,456,78.0625", "%'017.4F", 12345678.0625);
- testfmt(" 90,00", "%'6.0f", 9000.0);
- testfmt("90,00.0", "%'.1f", 9000.0);
-
- assert(setlocale(LC_NUMERIC, "ru_RU.ISO8859-5")); /* decimalpoint==, */
- testfmt("3,1415", "%g", 3.1415);
-
- /* thousands=. decimalpoint=, grouping=3;3 */
- assert(setlocale(LC_NUMERIC, "el_GR.ISO8859-7")); /* decimalpoint==, */
- testfmt("1.234,00", "%'.2f", 1234.00);
- testfmt("123.456,789", "%'.3f", 123456.789);
-
- assert(setlocale(LC_NUMERIC, "C"));
- testfmt("12345678.062500", "%'f", 12345678.0625);
- testfmt("9000.000000", "%'f", 9000.0);
-
- printf("ok 5 - printfloat\n");
-
- /*
- * Signed conversions
- */
- testfmt("+2.500000e-01", "%+e", 0.25);
- testfmt("+0.000000", "%+F", 0.0);
- testfmt("-1", "%+g", -1.0);
-
- testfmt("-1.000000e+00", "% e", -1.0);
- testfmt("+1.000000", "% +f", 1.0);
- testfmt(" 1", "% g", 1.0);
- testfmt(" 0", "% g", 0.0);
-
- printf("ok 6 - printfloat\n");
-
- /*
- * ``Alternate form''
- */
- testfmt("1.250e+00", "%#.3e", 1.25);
- testfmt("123.000000", "%#f", 123.0);
- testfmt(" 12345.", "%#7.5g", 12345.0);
- testfmt(" 1.00000", "%#8g", 1.0);
- testfmt("0.0", "%#.2g", 0.0);
- printf("ok 7 - printfloat\n");
-
- /*
- * Padding and decimal point placement
- */
- testfmt("03.2E+00", "%08.1E", 3.25);
- testfmt("003.25", "%06.2F", 3.25);
- testfmt("0003.25", "%07.4G", 3.25);
-
- testfmt("3.14159e-05", "%g", 3.14159e-5);
- testfmt("0.000314159", "%g", 3.14159e-4);
- testfmt("3.14159e+06", "%g", 3.14159e6);
- testfmt("314159", "%g", 3.14159e5);
- testfmt("314159.", "%#g", 3.14159e5);
-
- testfmt(" 9.000000e+03", "%13e", 9000.0);
- testfmt(" 9000.000000", "%12f", 9000.0);
- testfmt(" 9000", "%5g", 9000.0);
- testfmt(" 900000.", "%#8g", 900000.0);
- testfmt(" 9e+06", "%6g", 9000000.0);
- testfmt(" 9.000000e-04", "%13e", 0.0009);
- testfmt(" 0.000900", "%9f", 0.0009);
- testfmt(" 0.0009", "%7g", 0.0009);
- testfmt(" 9e-05", "%6g", 0.00009);
- testfmt(" 9.00000e-05", "%#12g", 0.00009);
- testfmt(" 9.e-05", "%#7.1g", 0.00009);
-
- testfmt(" 0.0", "%4.1f", 0.0);
- testfmt("90.0", "%4.1f", 90.0);
- testfmt(" 100", "%4.0f", 100.0);
- testfmt("9.0e+01", "%4.1e", 90.0);
- testfmt("1e+02", "%4.0e", 100.0);
-
- printf("ok 8 - printfloat\n");
-
- /*
- * Decimal rounding
- */
- fesetround(FE_DOWNWARD);
- testfmt("4.437", "%.3f", 4.4375);
- testfmt("-4.438", "%.3f", -4.4375);
- testfmt("4.437", "%.3Lf", 4.4375L);
- testfmt("-4.438", "%.3Lf", -4.4375L);
-
- fesetround(FE_UPWARD);
- testfmt("4.438", "%.3f", 4.4375);
- testfmt("-4.437", "%.3f", -4.4375);
- testfmt("4.438", "%.3Lf", 4.4375L);
- testfmt("-4.437", "%.3Lf", -4.4375L);
-
- fesetround(FE_TOWARDZERO);
- testfmt("4.437", "%.3f", 4.4375);
- testfmt("-4.437", "%.3f", -4.4375);
- testfmt("4.437", "%.3Lf", 4.4375L);
- testfmt("-4.437", "%.3Lf", -4.4375L);
-
- fesetround(FE_TONEAREST);
- testfmt("4.438", "%.3f", 4.4375);
- testfmt("-4.438", "%.3f", -4.4375);
- testfmt("4.438", "%.3Lf", 4.4375L);
- testfmt("-4.438", "%.3Lf", -4.4375L);
-
- printf("ok 9 - printfloat\n");
-
- /*
- * Hexadecimal floating point (%a, %A) tests. Some of these
- * are only valid if the implementation converts to hex digits
- * on nibble boundaries.
- */
- testfmt("0x0p+0", "%a", 0x0.0p0);
- testfmt("0X0.P+0", "%#LA", 0x0.0p0L);
- testfmt("inf", "%La", (long double)INFINITY);
- testfmt("+INF", "%+A", INFINITY);
- testfmt("nan", "%La", (long double)NAN);
- testfmt("NAN", "%A", NAN);
-
- testfmt(" 0x1.23p+0", "%10a", 0x1.23p0);
- testfmt(" 0x1.23p-500", "%12a", 0x1.23p-500);
- testfmt(" 0x1.2p+40", "%10.1a", 0x1.23p40);
- testfmt(" 0X1.230000000000000000000000P-4", "%32.24A", 0x1.23p-4);
- testfmt("0x1p-1074", "%a", 0x1p-1074);
- testfmt("0x1.2345p-1024", "%a", 0x1.2345p-1024);
-
-#if (LDBL_MANT_DIG == 64) && !defined(__i386__)
- testfmt("0x1.921fb54442d18468p+1", "%La", 0x3.243f6a8885a308dp0L);
- testfmt("0x1p-16445", "%La", 0x1p-16445L);
- testfmt("0x1.30ecap-16381", "%La", 0x9.8765p-16384L);
-#elif (LDBL_MANT_DIG == 113)
- testfmt("0x1.921fb54442d18469898cc51701b8p+1", "%La",
- 0x3.243f6a8885a308d313198a2e037p0L);
- testfmt("0x1p-16494", "%La", 0x1p-16494L);
- testfmt("0x1.2345p-16384", "%La", 0x1.2345p-16384L);
-#else
- testfmt("0x1.921fb54442d18p+1", "%La", 0x3.243f6a8885a31p0L);
- testfmt("0x1p-1074", "%La", 0x1p-1074L);
- testfmt("0x1.30ecap-1021", "%La", 0x9.8765p-1024L);
-#endif
-
- printf("ok 10 - printfloat\n");
-
- /*
- * Hexadecimal rounding
- */
- fesetround(FE_TOWARDZERO);
- testfmt("0X1.23456789ABCP+0", "%.11A", 0x1.23456789abcdep0);
- testfmt("-0x1.23456p+0", "%.5a", -0x1.23456789abcdep0);
- testfmt("0x1.23456p+0", "%.5a", 0x1.23456789abcdep0);
- testfmt("0x1.234567p+0", "%.6a", 0x1.23456789abcdep0);
- testfmt("-0x1.234566p+0", "%.6a", -0x1.23456689abcdep0);
-
- fesetround(FE_DOWNWARD);
- testfmt("0X1.23456789ABCP+0", "%.11A", 0x1.23456789abcdep0);
- testfmt("-0x1.23457p+0", "%.5a", -0x1.23456789abcdep0);
- testfmt("0x1.23456p+0", "%.5a", 0x1.23456789abcdep0);
- testfmt("0x1.234567p+0", "%.6a", 0x1.23456789abcdep0);
- testfmt("-0x1.234567p+0", "%.6a", -0x1.23456689abcdep0);
-
- fesetround(FE_UPWARD);
- testfmt("0X1.23456789ABDP+0", "%.11A", 0x1.23456789abcdep0);
- testfmt("-0x1.23456p+0", "%.5a", -0x1.23456789abcdep0);
- testfmt("0x1.23457p+0", "%.5a", 0x1.23456789abcdep0);
- testfmt("0x1.234568p+0", "%.6a", 0x1.23456789abcdep0);
- testfmt("-0x1.234566p+0", "%.6a", -0x1.23456689abcdep0);
-
- fesetround(FE_TONEAREST);
- testfmt("0x1.23456789abcdep+4", "%a", 0x1.23456789abcdep4);
- testfmt("0X1.23456789ABDP+0", "%.11A", 0x1.23456789abcdep0);
- testfmt("-0x1.23456p+0", "%.5a", -0x1.23456789abcdep0);
- testfmt("0x1.23456p+0", "%.5a", 0x1.23456789abcdep0);
- testfmt("0x1.234568p+0", "%.6a", 0x1.23456789abcdep0);
- testfmt("-0x1.234567p+0", "%.6a", -0x1.23456689abcdep0);
- testfmt("0x1.00p-1029", "%.2a", 0x1.fffp-1030);
- testfmt("0x1.00p-1026", "%.2a", 0xf.fffp-1030);
- testfmt("0x1.83p+0", "%.2a", 1.51);
-
- printf("ok 11 - printfloat\n");
-
- return (0);
-}
-
-void
-smash_stack(void)
-{
- static uint32_t junk = 0xdeadbeef;
- uint32_t buf[512];
- int i;
-
- for (i = 0; i < sizeof(buf) / sizeof(buf[0]); i++)
- buf[i] = junk;
-}
-
-void
-_testfmt(const char *result, int line, const char *argstr, const char *fmt,...)
-{
-#define BUF 100
- wchar_t ws[BUF], wfmt[BUF], wresult[BUF];
- char s[BUF];
- va_list ap, ap2;
-
- va_start(ap, fmt);
- va_copy(ap2, ap);
- smash_stack();
- vsnprintf(s, sizeof(s), fmt, ap);
- if (strcmp(result, s) != 0) {
- fprintf(stderr,
- "%d: printf(\"%s\", %s) ==> [%s], expected [%s]\n",
- line, fmt, argstr, s, result);
- abort();
- }
-
- smash_stack();
- mbstowcs(ws, s, BUF - 1);
- mbstowcs(wfmt, fmt, BUF - 1);
- mbstowcs(wresult, result, BUF - 1);
- vswprintf(ws, sizeof(ws) / sizeof(ws[0]), wfmt, ap2);
- if (wcscmp(wresult, ws) != 0) {
- fprintf(stderr,
- "%d: wprintf(\"%ls\", %s) ==> [%ls], expected [%ls]\n",
- line, wfmt, argstr, ws, wresult);
- abort();
- }
-}
diff --git a/tools/regression/lib/libc/stdio/test-printfloat.t b/tools/regression/lib/libc/stdio/test-printfloat.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-printfloat.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
diff --git a/tools/regression/lib/libc/stdio/test-scanfloat.c b/tools/regression/lib/libc/stdio/test-scanfloat.c
deleted file mode 100644
index 7e1a550..0000000
--- a/tools/regression/lib/libc/stdio/test-scanfloat.c
+++ /dev/null
@@ -1,305 +0,0 @@
-/*-
- * Copyright (C) 2003, 2005 David Schultz <das@FreeBSD.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Test for scanf() floating point formats.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <assert.h>
-#include <fenv.h>
-#include <float.h>
-#include <locale.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define eq(type, a, b) _eq(type##_EPSILON, (a), (b))
-static int _eq(long double epsilon, long double a, long double b);
-
-int
-main(int argc, char *argv[])
-{
- char buf[128];
- long double ld = 0.0;
- double d = 0.0;
- float f = 0.0;
- char *endp;
-
- printf("1..4\n");
-
- buf[0] = '\0';
- assert(setlocale(LC_NUMERIC, ""));
-
- /*
- * Various tests for normalized numbers
- */
- sscanf("3.141592", "%e", &f);
- assert(eq(FLT, f, 3.141592));
-
- sscanf("3.141592653589793", "%lf", &d);
- assert(eq(DBL, d, 3.141592653589793));
-
- sscanf("1.234568e+06", "%E", &f);
- assert(eq(FLT, f, 1.234568e+06));
-
- sscanf("-1.234568e6", "%lF", &d);
- assert(eq(DBL, d, -1.234568e6));
-
- sscanf("+1.234568e-52", "%LG", &ld);
- assert(eq(LDBL, ld, 1.234568e-52L));
-
- sscanf("0.1", "%la", &d);
- assert(eq(DBL, d, 0.1));
-
- sscanf("00.2", "%lA", &d);
- assert(eq(DBL, d, 0.2));
-
- sscanf("123456", "%5le%s", &d, buf);
- assert(eq(DBL, d, 12345.));
- assert(strcmp(buf, "6") == 0);
-
- sscanf("1.0Q", "%*5le%s", buf);
- assert(strcmp(buf, "Q") == 0);
-
- sscanf("-1.23e", "%e%s", &f, buf);
- assert(eq(FLT, f, -1.23));
- assert(strcmp(buf, "e") == 0);
-
- sscanf("1.25e+", "%le%s", &d, buf);
- assert(eq(DBL, d, 1.25));
- assert(strcmp(buf, "e+") == 0);
-
- sscanf("1.23E4E5", "%le%s", &d, buf);
- assert(eq(DBL, d, 1.23e4));
- assert(strcmp(buf, "E5") == 0);
-
- sscanf("12e6", "%le", &d);
- assert(eq(DBL, d, 12e6));
-
- sscanf("1.a", "%le%s", &d, buf);
- assert(eq(DBL, d, 1.0));
- assert(strcmp(buf, "a") == 0);
-
- sscanf(".0p4", "%le%s", &d, buf);
- assert(eq(DBL, d, 0.0));
- assert(strcmp(buf, "p4") == 0);
-
- d = 0.25;
- assert(sscanf(".", "%le", &d) == 0);
- assert(d == 0.25);
-
- sscanf("0x08", "%le", &d);
- assert(d == 0x8p0);
-
- sscanf("0x90a.bcdefP+09a", "%le%s", &d, buf);
- assert(d == 0x90a.bcdefp+09);
- assert(strcmp(buf, "a") == 0);
-
-#if (LDBL_MANT_DIG > DBL_MANT_DIG) && !defined(__i386__)
- sscanf("3.14159265358979323846", "%Lg", &ld);
- assert(eq(LDBL, ld, 3.14159265358979323846L));
-
- sscanf(" 0X.0123456789abcdefffp-3g", "%Le%s", &ld, buf);
- assert(ld == 0x0.0123456789abcdefffp-3L);
- assert(strcmp(buf, "g") == 0);
-#endif
-
- sscanf("0xg", "%le%s", &d, buf);
- assert(d == 0.0);
- assert(strcmp(buf, "xg") == 0);
-
- assert(setlocale(LC_NUMERIC, "ru_RU.ISO8859-5")); /* decimalpoint==, */
-
- sscanf("1.23", "%le%s", &d, buf);
- assert(d == 1.0);
- assert(strcmp(buf, ".23") == 0);
-
- sscanf("1,23", "%le", &d);
- assert(d == 1.23);
-
- assert(setlocale(LC_NUMERIC, ""));
-
- printf("ok 1 - scanfloat\n");
-
- /*
- * Infinity and NaN tests
- */
- sscanf("-Inf", "%le", &d);
- assert(d < 0.0 && isinf(d));
-
- sscanf("iNfInItY and beyond", "%le%s", &d, buf);
- assert(d > 0.0 && isinf(d));
- assert(strcmp(buf, " and beyond"));
-
- sscanf("NaN", "%le", &d);
- assert(isnan(d));
-
- sscanf("NAN(123Y", "%le%s", &d, buf);
- assert(isnan(d));
- assert(strcmp(buf, "(123Y") == 0);
-
- sscanf("nan(f00f)plugh", "%le%s", &d, buf);
- assert(isnan(d));
- assert(strcmp(buf, "plugh") == 0);
-
- sscanf("-nan", "%le", &d);
- assert(isnan(d));
-
- /* Only quiet NaNs should be returned. */
- sscanf("NaN", "%e", &f);
- sscanf("nan", "%le", &d);
- sscanf("nan", "%Le", &ld);
- feclearexcept(FE_ALL_EXCEPT);
- assert(f != f);
- assert(d != d);
- assert(ld != ld);
- assert(fetestexcept(FE_INVALID) == 0);
- sscanf("nan(1234)", "%e", &f);
- sscanf("nan(1234)", "%le", &d);
- sscanf("nan(1234)", "%Le", &ld);
- feclearexcept(FE_ALL_EXCEPT);
- assert(f != f);
- assert(d != d);
- assert(ld != ld);
- /* POSIX says we should only generate quiet NaNs. */
- assert(fetestexcept(FE_INVALID) == 0);
-
- printf("ok 2 - scanfloat\n");
-
- /*
- * Rounding tests
- */
-
- fesetround(FE_DOWNWARD);
-
- sscanf("1.999999999999999999999999999999999", "%le", &d);
- assert(d < 2.0);
- sscanf("0x1.ffffffffffffffp0", "%le", &d);
- assert(d < 2.0);
- sscanf("1.999999999999999999999999999999999", "%Le", &ld);
- assert(ld < 2.0);
-
- sscanf("1.0571892669084007", "%le", &d);
- assert(d == 0x1.0ea3f4af0dc59p0);
- sscanf("-1.0571892669084007", "%le", &d);
- assert(d == -0x1.0ea3f4af0dc5ap0);
- sscanf("1.0571892669084010", "%le", &d);
- assert(d == 0x1.0ea3f4af0dc5ap0);
-
- sscanf("0x1.23p-5000", "%le", &d);
- assert(d == 0.0);
-
- sscanf("0x1.2345678p-1050", "%le", &d);
- assert(d == 0x1.234567p-1050);
-
- fesetround(FE_UPWARD);
-
- sscanf("1.0571892669084007", "%le", &d);
- assert(d == 0x1.0ea3f4af0dc5ap0);
- sscanf("-1.0571892669084007", "%le", &d);
- assert(d == -0x1.0ea3f4af0dc59p0);
- sscanf("1.0571892669084010", "%le", &d);
- assert(d == 0x1.0ea3f4af0dc5bp0);
-
- sscanf("0x1.23p-5000", "%le", &d);
- assert(d == 0x1p-1074);
-
- sscanf("0x1.2345678p-1050", "%le", &d);
- assert(d == 0x1.234568p-1050);
-
- fesetround(FE_TOWARDZERO);
-
- sscanf("1.0571892669084007", "%le", &d);
- assert(d == 0x1.0ea3f4af0dc59p0);
- sscanf("-1.0571892669084007", "%le", &d);
- assert(d == -0x1.0ea3f4af0dc59p0);
- sscanf("1.0571892669084010", "%le", &d);
- assert(d == 0x1.0ea3f4af0dc5ap0);
-
- sscanf("0x1.23p-5000", "%le", &d);
- assert(d == 0.0);
-
- sscanf("0x1.2345678p-1050", "%le", &d);
- assert(d == 0x1.234567p-1050);
-
- fesetround(FE_TONEAREST);
-
- /* 1.0571892669084007 is slightly closer to 0x1.0ea3f4af0dc59p0 */
- sscanf("1.0571892669084007", "%le", &d);
- assert(d == 0x1.0ea3f4af0dc59p0);
- sscanf("-1.0571892669084007", "%le", &d);
- assert(d == -0x1.0ea3f4af0dc59p0);
- sscanf("1.0571892669084010", "%le", &d);
- assert(d == 0x1.0ea3f4af0dc5bp0);
-
- /* strtod() should round small numbers to 0. */
- sscanf("0x1.23p-5000", "%le", &d);
- assert(d == 0.0);
-
- /* Extra digits in a denormal shouldn't break anything. */
- sscanf("0x1.2345678p-1050", "%le", &d);
- assert(d == 0x1.234568p-1050);
-
- printf("ok 3 - scanfloat\n");
-
- /*
- * Tests specific to strtod().
- */
-
- assert(strtod("0xy", &endp) == 0);
- assert(strcmp("xy", endp) == 0);
-
- /* This used to cause an infinite loop and round the wrong way. */
- fesetround(FE_DOWNWARD);
- assert(strtof("3.5e38", &endp) == FLT_MAX);
- assert(strtod("2e308", &endp) == DBL_MAX);
- fesetround(FE_UPWARD);
- assert(strtof("3.5e38", &endp) == INFINITY);
- assert(strtod("2e308", &endp) == INFINITY);
- fesetround(FE_TOWARDZERO);
- assert(strtof("3.5e38", &endp) == FLT_MAX);
- assert(strtod("2e308", &endp) == DBL_MAX);
- fesetround(FE_TONEAREST);
- assert(strtof("3.5e38", &endp) == INFINITY);
- assert(strtod("2e308", &endp) == INFINITY);
-
- printf("ok 4 - scanfloat\n");
-
- return (0);
-}
-
-static int
-_eq(long double epsilon, long double a, long double b)
-{
- long double delta;
-
- delta = fabsl(a - b);
- return (delta <= epsilon);
-}
diff --git a/tools/regression/lib/libc/stdio/test-scanfloat.t b/tools/regression/lib/libc/stdio/test-scanfloat.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/stdio/test-scanfloat.t
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-cd `dirname $0`
-
-executable=`basename $0 .t`
-
-make $executable 2>&1 > /dev/null
-
-exec ./$executable
OpenPOWER on IntegriCloud