#!/bin/sh
# Copyright 2008 by Denys Vlasenko
# Licensed under GPL v2, see file LICENSE for details.

. ./testing.sh

# ls -ln shows date. Need to remove that, it's variable.
# sed: coalesce spaces
# cut: remove date
FILTER_LS="sed 's/  */ /g' | cut -d' ' -f 1-5,9-"


# newc cpio archive of directory cpio.testdir with empty x and y hardlinks
hexdump="\
\x42\x5a\x68\x39\x31\x41\x59\x26\x53\x59\x64\x1e\x91\x8c\x00\x00\
\x48\x7f\x80\x4c\x48\x08\x00\x28\x01\xff\xe0\x3f\x24\x14\x00\x0e\
\x20\xdc\x60\x20\x00\x92\x11\xea\xa0\x1a\x00\x00\x00\x03\x20\x8a\
\x93\xd4\x9a\x68\x1a\x0d\x1e\x91\xa1\xa0\x06\x98\xe3\x5c\x2f\xd9\
\x26\xa1\x25\x24\x20\xed\x47\xc7\x21\x40\x2b\x6e\xf2\xe6\xfe\x98\
\x13\x68\xa8\xbd\x82\xb2\x4f\x26\x02\x24\x16\x5b\x22\x16\x72\x74\
\x15\xcd\xc1\xa6\x9e\xa6\x5e\x6c\x16\x37\x35\x01\x99\xc4\x81\x21\
\x29\x28\x4b\x69\x51\xa9\x3c\x1a\x9b\x0a\xe1\xe4\xb4\xaf\x85\x73\
\xba\x23\x10\x59\xe8\xb3\xe1\xa1\x63\x05\x8c\x4f\xc5\xdc\x91\x4e\
\x14\x24\x19\x07\xa4\x63\x00"

user=$(id -u)
group=$(id -g)

rm -rf cpio.testdir cpio.testdir2 2>/dev/null

# testing "test name" "command" "expected result" "file input" "stdin"

testing "cpio extracts zero-sized hardlinks" \
"$ECHO -ne '$hexdump' | bzcat | cpio -i; echo \$?;
ls -ln cpio.testdir | $FILTER_LS" \
"\
1 blocks
0
-rw-r--r-- 2 $user $group 0 x
-rw-r--r-- 2 $user $group 0 y
" \
	"" ""

test x"$SKIP_KNOWN_BUGS" = x"" && {
# Currently fails. Numerous buglets: "1 blocks" versus "1 block",
# "1 block" must go to stderr, does not list cpio.testdir/x and cpio.testdir/y
testing "cpio lists hardlinks" \
"$ECHO -ne '$hexdump' | bzcat | cpio -t 2>&1; echo \$?" \
"\
1 block
cpio.testdir
cpio.testdir/x
cpio.testdir/y
0
" \
	"" ""
}

# More complex case
rm -rf cpio.testdir cpio.testdir2 2>/dev/null
mkdir cpio.testdir
touch cpio.testdir/solo
touch cpio.testdir/empty
echo x >cpio.testdir/nonempty
ln cpio.testdir/empty cpio.testdir/empty1
ln cpio.testdir/nonempty cpio.testdir/nonempty1
mkdir cpio.testdir2

testing "cpio extracts zero-sized hardlinks 2" \
"find cpio.testdir | cpio -H newc --create | (cd cpio.testdir2 && cpio -i); echo \$?;
ls -ln cpio.testdir2/cpio.testdir | $FILTER_LS" \
"\
2 blocks
0
-rw-r--r-- 2 $user $group 0 empty
-rw-r--r-- 2 $user $group 0 empty1
-rw-r--r-- 2 $user $group 2 nonempty
-rw-r--r-- 2 $user $group 2 nonempty1
-rw-r--r-- 1 $user $group 0 solo
" \
	"" ""

# Clean up
rm -rf cpio.testdir cpio.testdir2 2>/dev/null

exit $FAILCOUNT
