#!/bin/bash

# This file is part of util-linux.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

TS_TOPDIR="${0%/*}/../.."
TS_DESC="IPv6 to binary"

. $TS_TOPDIR/functions.sh
ts_init "$*"

. "$TS_SELF/utmp_functions.sh"
[ $SIZEOF_UTMP -eq 384 ] || ts_skip "utmp struct size $SIZEOF_UTMP"

export LANG=C
export TZ=Asia/Tokyo
OUTFILE=${TS_OUTDIR}/${TS_TESTNAME}.file
$TS_CMD_UTMPDUMP -r $TS_SELF/txt-ipv6 >| $OUTFILE 2>/dev/null
if diff -q $TS_SELF/wtmp-ipv6.$BYTE_ORDER $OUTFILE; then
	echo "no diff"
fi > $TS_OUTPUT 2>&1

ts_finalize
