summaryrefslogtreecommitdiffstats
path: root/tools/regression/lib/libc
diff options
context:
space:
mode:
authorjmmv <jmmv@FreeBSD.org>2014-04-14 13:30:08 +0000
committerjmmv <jmmv@FreeBSD.org>2014-04-14 13:30:08 +0000
commitd9b0a628da4b486dde00400305ad3a2ecefa0205 (patch)
tree70bd9eedb0e9eac2ac2cd3dcfc26f48adfd1ae7a /tools/regression/lib/libc
parentbd8afe2477108733f19a3171f80f6c8d9daef3bf (diff)
downloadFreeBSD-src-d9b0a628da4b486dde00400305ad3a2ecefa0205.zip
FreeBSD-src-d9b0a628da4b486dde00400305ad3a2ecefa0205.tar.gz
MFC various fixes to the tools/regression/ tests.
- r262953 Fix m4 tests so that they run cleanly with prove. - r262954 Fix printf tests so that they run cleanly with prove. - r262959 Fix sed tests so that they run cleanly with prove. - r262960 Fix yacc tests so that they run cleanly with prove. - r262961 Fix pkill tests so that they run cleanly with prove. - r262962 Fix ncal tests so that they run cleanly with prove. - r263081 Fix lastcomm tests under amd64. - r263082 Only run the make tests when make is fmake. - r263083 Fix sa tests. - r263084 Turn a test precondition into a skip in the mdconfig tests. - r263085 Make the strerror tests work without libtap. - r263087 Remove broken tests for eui64_line. - r263221 Change etcupdate tests to return 1 on test failures. - r263352 Make the priv test program exit with non-zero if any failures are detected. - r263353 errx prepends the program name to the message; don't do it by hand. - r263362 Include strings.h so that bpf_filter.c can be built in userland.
Diffstat (limited to 'tools/regression/lib/libc')
-rw-r--r--tools/regression/lib/libc/net/Makefile2
-rw-r--r--tools/regression/lib/libc/net/test-eui64_line.c81
-rw-r--r--tools/regression/lib/libc/net/test-eui64_line.t10
-rw-r--r--tools/regression/lib/libc/string/Makefile4
-rw-r--r--tools/regression/lib/libc/string/test-strerror.c72
5 files changed, 43 insertions, 126 deletions
diff --git a/tools/regression/lib/libc/net/Makefile b/tools/regression/lib/libc/net/Makefile
index a61741b..4f19edf 100644
--- a/tools/regression/lib/libc/net/Makefile
+++ b/tools/regression/lib/libc/net/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-TESTS= test-ether test-eui64_aton test-eui64_line test-eui64_ntoa
+TESTS= test-ether test-eui64_aton test-eui64_ntoa
CFLAGS+= -g -Wall
.PHONY: tests
diff --git a/tools/regression/lib/libc/net/test-eui64_line.c b/tools/regression/lib/libc/net/test-eui64_line.c
deleted file mode 100644
index 714b460..0000000
--- a/tools/regression/lib/libc/net/test-eui64_line.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2004 The Aerospace Corporation. 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.
- * 3. The name of The Aerospace Corporation may not be used to endorse or
- * promote products derived from this software.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AEROSPACE CORPORATION "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 AEROSPACE CORPORATION 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.
- *
- * $FreeBSD$
- */
-
-#include <sys/types.h>
-#include <sys/eui64.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "test-eui64.h"
-
-static int
-test_line(const char *line, const struct eui64 *eui, const char *host)
-{
- struct eui64 e;
- char buf[256];
- static int test = 0;
-
- test++;
-
- if (eui64_line(line, &e, buf, sizeof(buf)) != 0 ||
- memcmp(&e, eui, sizeof(struct eui64)) != 0 ||
- strcmp(buf, host) != 0) {
- printf("not ok %d - eui64_line(\"%s\")\n", test, line);
- printf("# host = %s\n", buf);
- eui64_ntoa(&e, buf, sizeof(buf));
- printf("# e = %s\n", buf);
- return (0);
- } else {
- printf("ok %d - eui64_line(\"%s\")\n", test, line);
- return (1);
- }
-}
-
-int
-main(int argc, char **argv)
-{
-
- printf("1..6\n");
-
- test_line(test_eui64_line_id, &test_eui64_id,
- test_eui64_id_host);
- test_line(test_eui64_line_id_colon, &test_eui64_id,
- test_eui64_id_host);
- test_line(test_eui64_line_eui48, &test_eui64_eui48,
- test_eui64_eui48_host);
- test_line(test_eui64_line_mac48, &test_eui64_mac48,
- test_eui64_mac48_host);
- test_line(test_eui64_line_eui48_6byte, &test_eui64_eui48,
- test_eui64_eui48_host);
- test_line(test_eui64_line_eui48_6byte_c, &test_eui64_eui48,
- test_eui64_eui48_host);
-
- return (0);
-}
diff --git a/tools/regression/lib/libc/net/test-eui64_line.t b/tools/regression/lib/libc/net/test-eui64_line.t
deleted file mode 100644
index 8bdfd03..0000000
--- a/tools/regression/lib/libc/net/test-eui64_line.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/string/Makefile b/tools/regression/lib/libc/string/Makefile
index 59388b6..2c34ca3 100644
--- a/tools/regression/lib/libc/string/Makefile
+++ b/tools/regression/lib/libc/string/Makefile
@@ -1,9 +1,5 @@
# $FreeBSD$
-CFLAGS+= -I/usr/local/include
-LDFLAGS+= -L/usr/local/lib
-LDLIBS= -ltap
-
TESTS= test-stpncpy test-strerror test-wcscasecmp test-wcsnlen
.PHONY: tests
diff --git a/tools/regression/lib/libc/string/test-strerror.c b/tools/regression/lib/libc/string/test-strerror.c
index ffc1633..84e1b45 100644
--- a/tools/regression/lib/libc/string/test-strerror.c
+++ b/tools/regression/lib/libc/string/test-strerror.c
@@ -33,7 +33,19 @@
#include <stdlib.h>
#include <string.h>
-#include <tap.h>
+static int test_count = 1;
+static int exit_status = EXIT_SUCCESS;
+
+#define CHECK(x) \
+ do { \
+ if (x) { \
+ printf("ok %d\n", test_count); \
+ } else { \
+ printf("not ok %d # %s\n", test_count, #x); \
+ exit_status = EXIT_FAILURE; \
+ } \
+ ++test_count; \
+ } while (0)
int
main(void)
@@ -42,7 +54,7 @@ main(void)
char *sret;
int iret;
- plan_tests(27);
+ printf("1..27\n");
/*
* strerror() failure tests.
@@ -50,86 +62,86 @@ main(void)
errno = 0;
sret = strerror(INT_MAX);
snprintf(buf, sizeof(buf), "Unknown error: %d", INT_MAX);
- ok1(strcmp(sret, buf) == 0);
- ok1(errno == EINVAL);
+ CHECK(strcmp(sret, buf) == 0);
+ CHECK(errno == EINVAL);
/*
* strerror() success tests.
*/
errno = 0;
sret = strerror(0);
- ok1(strcmp(sret, "No error: 0") == 0);
- ok1(errno == 0);
+ CHECK(strcmp(sret, "No error: 0") == 0);
+ CHECK(errno == 0);
errno = 0;
sret = strerror(EPERM);
- ok1(strcmp(sret, "Operation not permitted") == 0);
- ok1(errno == 0);
+ CHECK(strcmp(sret, "Operation not permitted") == 0);
+ CHECK(errno == 0);
errno = 0;
sret = strerror(EPFNOSUPPORT);
- ok1(strcmp(sret, "Protocol family not supported") == 0);
- ok1(errno == 0);
+ CHECK(strcmp(sret, "Protocol family not supported") == 0);
+ CHECK(errno == 0);
errno = 0;
sret = strerror(ELAST);
- ok1(errno == 0);
+ CHECK(errno == 0);
/*
* strerror_r() failure tests.
*/
memset(buf, '*', sizeof(buf));
iret = strerror_r(-1, buf, sizeof(buf));
- ok1(strcmp(buf, "Unknown error: -1") == 0);
- ok1(iret == EINVAL);
+ CHECK(strcmp(buf, "Unknown error: -1") == 0);
+ CHECK(iret == EINVAL);
memset(buf, '*', sizeof(buf));
/* One byte too short. */
iret = strerror_r(EPERM, buf, strlen("Operation not permitted"));
- ok1(strcmp(buf, "Operation not permitte") == 0);
- ok1(iret == ERANGE);
+ CHECK(strcmp(buf, "Operation not permitte") == 0);
+ CHECK(iret == ERANGE);
memset(buf, '*', sizeof(buf));
/* One byte too short. */
iret = strerror_r(-1, buf, strlen("Unknown error: -1"));
- ok1(strcmp(buf, "Unknown error: -") == 0);
- ok1(iret == EINVAL);
+ CHECK(strcmp(buf, "Unknown error: -") == 0);
+ CHECK(iret == EINVAL);
memset(buf, '*', sizeof(buf));
/* Two bytes too short. */
iret = strerror_r(-2, buf, strlen("Unknown error: -2") - 1);
- ok1(strcmp(buf, "Unknown error: ") == 0);
- ok1(iret == EINVAL);
+ CHECK(strcmp(buf, "Unknown error: ") == 0);
+ CHECK(iret == EINVAL);
memset(buf, '*', sizeof(buf));
/* Three bytes too short. */
iret = strerror_r(-2, buf, strlen("Unknown error: -2") - 2);
- ok1(strcmp(buf, "Unknown error:") == 0);
- ok1(iret == EINVAL);
+ CHECK(strcmp(buf, "Unknown error:") == 0);
+ CHECK(iret == EINVAL);
memset(buf, '*', sizeof(buf));
/* One byte too short. */
iret = strerror_r(12345, buf, strlen("Unknown error: 12345"));
- ok1(strcmp(buf, "Unknown error: 1234") == 0);
- ok1(iret == EINVAL);
+ CHECK(strcmp(buf, "Unknown error: 1234") == 0);
+ CHECK(iret == EINVAL);
/*
* strerror_r() success tests.
*/
memset(buf, '*', sizeof(buf));
iret = strerror_r(0, buf, sizeof(buf));
- ok1(strcmp(buf, "No error: 0") == 0);
- ok1(iret == 0);
+ CHECK(strcmp(buf, "No error: 0") == 0);
+ CHECK(iret == 0);
memset(buf, '*', sizeof(buf));
iret = strerror_r(EDEADLK, buf, sizeof(buf));
- ok1(strcmp(buf, "Resource deadlock avoided") == 0);
- ok1(iret == 0);
+ CHECK(strcmp(buf, "Resource deadlock avoided") == 0);
+ CHECK(iret == 0);
memset(buf, '*', sizeof(buf));
iret = strerror_r(EPROCLIM, buf, sizeof(buf));
- ok1(strcmp(buf, "Too many processes") == 0);
- ok1(iret == 0);
+ CHECK(strcmp(buf, "Too many processes") == 0);
+ CHECK(iret == 0);
- return exit_status();
+ return exit_status;
}
OpenPOWER on IntegriCloud