1129759Sbrooks/*
2129759Sbrooks * Copyright 2004 The Aerospace Corporation.  All rights reserved.
3129759Sbrooks *
4129759Sbrooks * Redistribution and use in source and binary forms, with or without
5129759Sbrooks * modification, are permitted provided that the following conditions
6129759Sbrooks * are met:
7129759Sbrooks *
8129759Sbrooks * 1.  Redistributions of source code must retain the above copyright
9129759Sbrooks *     notice, this list of conditions, and the following disclaimer.
10129759Sbrooks * 2.  Redistributions in binary form must reproduce the above copyright
11129759Sbrooks *     notice, this list of conditions, and the following disclaimer in the
12129759Sbrooks *     documentation and/or other materials provided with the distribution.
13129759Sbrooks * 3.  The name of The Aerospace Corporation may not be used to endorse or
14129759Sbrooks *     promote products derived from this software.
15129759Sbrooks *
16129759Sbrooks * THIS SOFTWARE IS PROVIDED BY THE AEROSPACE CORPORATION "AS IS" AND
17129759Sbrooks * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18129759Sbrooks * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19129759Sbrooks * ARE DISCLAIMED.  IN NO EVENT SHALL THE AEROSPACE CORPORATION BE LIABLE
20129759Sbrooks * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21129759Sbrooks * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22129759Sbrooks * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23129759Sbrooks * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24129759Sbrooks * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25129759Sbrooks * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26129759Sbrooks * SUCH DAMAGE.
27129759Sbrooks *
28129759Sbrooks * $FreeBSD$
29129759Sbrooks */
30129759Sbrooks
31129759Sbrooks#include <sys/types.h>
32129759Sbrooks#include <sys/eui64.h>
33129759Sbrooks#include <stdio.h>
34129759Sbrooks#include <string.h>
35129759Sbrooks
36290563Sngie#include <atf-c.h>
37290563Sngie
38129759Sbrooks#include "test-eui64.h"
39129759Sbrooks
40290563Sngiestatic void
41290563Sngietest_str(const char *str, const struct eui64 *eui)
42129759Sbrooks{
43129759Sbrooks	char a[EUI64_SIZ];
44129759Sbrooks
45290563Sngie	ATF_REQUIRE_MSG(eui64_ntoa(&test_eui64_id, a, sizeof(a)) == 0,
46290563Sngie	    "eui64_ntoa failed");
47290563Sngie	ATF_REQUIRE_MSG(strcmp(a, test_eui64_id_ascii) == 0,
48290563Sngie	    "the strings mismatched: `%s` != `%s`", a, test_eui64_id_ascii);
49290563Sngie}
50137587Snik
51290563SngieATF_TC_WITHOUT_HEAD(id_ascii);
52290563SngieATF_TC_BODY(id_ascii, tc)
53290563Sngie{
54129759Sbrooks
55290563Sngie	test_str(test_eui64_id_ascii, &test_eui64_id);
56129759Sbrooks}
57290563Sngie
58290563SngieATF_TP_ADD_TCS(tp)
59290563Sngie{
60290563Sngie
61290563Sngie	ATF_TP_ADD_TC(tp, id_ascii);
62290563Sngie
63290563Sngie	return (atf_no_error());
64290563Sngie}
65