Sync usage with man page.
[netbsd-mini2440.git] / external / bsd / bind / dist / bin / tests / net / driver.c
blobe03a6a1fe1af17e9d34afe94555e6d7aeba14871
1 /* $NetBSD$ */
3 /*
4 * Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
5 * Copyright (C) 2000, 2001 Internet Software Consortium.
7 * Permission to use, copy, modify, and/or distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above
9 * copyright notice and this permission notice appear in all copies.
11 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
12 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
14 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
16 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17 * PERFORMANCE OF THIS SOFTWARE.
20 /* Id: driver.c,v 1.11 2007/06/19 23:47:00 tbox Exp */
22 #include <config.h>
24 #include <stdlib.h>
25 #include <stdio.h>
26 #include <time.h>
28 #include <isc/string.h>
29 #include <isc/util.h>
31 #include "driver.h"
33 #include "testsuite.h"
35 #define NTESTS (sizeof(tests) / sizeof(test_t))
37 const char *gettime(void);
38 const char *test_result_totext(test_result_t);
41 * Not thread safe.
43 const char *
44 gettime(void) {
45 static char now[512];
46 time_t t;
48 (void)time(&t);
50 strftime(now, sizeof(now) - 1,
51 "%A %d %B %H:%M:%S %Y",
52 localtime(&t));
54 return (now);
57 const char *
58 test_result_totext(test_result_t result) {
59 const char *s;
60 switch (result) {
61 case PASSED:
62 s = "PASS";
63 break;
64 case FAILED:
65 s = "FAIL";
66 break;
67 case UNTESTED:
68 s = "UNTESTED";
69 break;
70 case UNKNOWN:
71 default:
72 s = "UNKNOWN";
73 break;
76 return (s);
79 int
80 main(int argc, char **argv) {
81 test_t *test;
82 test_result_t result;
83 unsigned int n_failed;
84 unsigned int testno;
86 UNUSED(argc);
87 UNUSED(argv);
89 printf("S:%s:%s\n", SUITENAME, gettime());
91 n_failed = 0;
92 for (testno = 0; testno < NTESTS; testno++) {
93 test = &tests[testno];
94 printf("T:%s:%u:A\n", test->tag, testno + 1);
95 printf("A:%s\n", test->description);
96 result = test->func();
97 printf("R:%s\n", test_result_totext(result));
98 if (result != PASSED)
99 n_failed++;
102 printf("E:%s:%s\n", SUITENAME, gettime());
104 if (n_failed > 0)
105 exit(1);
107 return (0);