Module Name: src Committed By: christos Date: Wed Jan 2 18:11:44 UTC 2013
Modified Files: src/tests/usr.sbin/mtree: Makefile t_mtree.sh Added Files: src/tests/usr.sbin/mtree: mtree_d_create.out netbsd6_d_create.out Removed Files: src/tests/usr.sbin/mtree: d_create.out Log Message: Test the netbsd and mtree flavors. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/usr.sbin/mtree/Makefile cvs rdiff -u -r1.1 -r0 src/tests/usr.sbin/mtree/d_create.out cvs rdiff -u -r0 -r1.1 src/tests/usr.sbin/mtree/mtree_d_create.out \ src/tests/usr.sbin/mtree/netbsd6_d_create.out cvs rdiff -u -r1.4 -r1.5 src/tests/usr.sbin/mtree/t_mtree.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/usr.sbin/mtree/Makefile diff -u src/tests/usr.sbin/mtree/Makefile:1.1 src/tests/usr.sbin/mtree/Makefile:1.2 --- src/tests/usr.sbin/mtree/Makefile:1.1 Sat Mar 17 12:33:16 2012 +++ src/tests/usr.sbin/mtree/Makefile Wed Jan 2 13:11:44 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2012/03/17 16:33:16 jruoho Exp $ +# $NetBSD: Makefile,v 1.2 2013/01/02 18:11:44 christos Exp $ NOMAN= # defined @@ -9,12 +9,14 @@ TESTSDIR= ${TESTSBASE}/usr.sbin/mtree TESTS_SH= t_mtree FILESDIR= ${TESTSDIR} + FILES+= d_convert.in FILES+= d_convert_C.out FILES+= d_convert_C_S.out FILES+= d_convert_D.out FILES+= d_convert_D_S.out -FILES+= d_create.out +FILES+= netbsd6_d_create.out +FILES+= mtree_d_create.out FILES+= d_merge.in FILES+= d_merge_C_M.out FILES+= d_merge_C_M_S.out Index: src/tests/usr.sbin/mtree/t_mtree.sh diff -u src/tests/usr.sbin/mtree/t_mtree.sh:1.4 src/tests/usr.sbin/mtree/t_mtree.sh:1.5 --- src/tests/usr.sbin/mtree/t_mtree.sh:1.4 Sun Mar 25 12:10:13 2012 +++ src/tests/usr.sbin/mtree/t_mtree.sh Wed Jan 2 13:11:44 2013 @@ -1,4 +1,4 @@ -# $NetBSD: t_mtree.sh,v 1.4 2012/03/25 16:10:13 christos Exp $ +# $NetBSD: t_mtree.sh,v 1.5 2013/01/02 18:11:44 christos Exp $ # # Copyright (c) 2009, 2012 The NetBSD Foundation, Inc. # All rights reserved. @@ -28,6 +28,7 @@ # Postprocess mtree output, canonicalising portions that # are expected to differ from one run to another. # + h_postprocess() { sed -e ' @@ -43,7 +44,9 @@ h_check() diff -Nru "$1" "$2" || atf_fail "files $1 and $2 differ" } -atf_test_case create + +atf_test_case mtree_create +atf_test_case netbsd6_create create_head() { atf_set "descr" "Create a specfile describing a directory tree" @@ -52,6 +55,7 @@ create_head() create_setup() { # create some directories + rm -fr create mkdir -p create/a/1 create/a/2 create/b # create some files for file in create/top.file.1 \ @@ -80,13 +84,33 @@ create_body() create_setup # run mtree and check output - ( cd create && mtree -c -k type,nlink,link,size,sha256 ) >output.raw \ + ( cd create && mtree -F ${FLAVOR} -c -k type,nlink,link,size,sha256 ) >output.raw \ || atf_fail "mtree exit status $?" h_postprocess <output.raw >output - h_check "$(atf_get_srcdir)/d_create.out" output + h_check "$(atf_get_srcdir)/${FLAVOR}_d_create.out" output +} + +mtree_create_head() +{ + FLAVOR=mtree create_head +} +netbsd6_create_head() +{ + FLAVOR=netbsd6 create_head } -atf_test_case check +mtree_create_body() +{ + FLAVOR=mtree create_body +} +netbsd6_create_body() +{ + FLAVOR=netbsd6 create_body +} + + +atf_test_case mtree_check +atf_test_case netbsd6_check check_head() { atf_set "descr" "Check a directory tree against a specfile" @@ -98,12 +122,32 @@ check_body() create_setup # run mtree and check output - ( cd create && mtree ) <"$(atf_get_srcdir)/d_create.out" >output \ + ( cd create && mtree -F ${FLAVOR} ) <"$(atf_get_srcdir)/${FLAVOR}_d_create.out" >output \ || atf_fail "mtree exit status $?" h_check /dev/null output } -atf_test_case convert_C +mtree_check_head() +{ + FLAVOR=mtree check_head +} +netbsd6_check_head() +{ + FLAVOR=netbsd6 check_head +} + +mtree_check_body() +{ + FLAVOR=mtree check_body +} +netbsd6_check_body() +{ + FLAVOR=netbsd6 check_body +} + + +atf_test_case mtree_convert_C +atf_test_case netbsd6_convert_C convert_C_head() { atf_set "descr" "Convert a specfile to mtree -C format, unsorted" @@ -111,11 +155,31 @@ convert_C_head() convert_C_body() { - mtree -C -K all <"$(atf_get_srcdir)/d_convert.in" >output + mtree -F ${FLAVOR} -C -K all <"$(atf_get_srcdir)/d_convert.in" >output h_check "$(atf_get_srcdir)/d_convert_C.out" output } -atf_test_case convert_C_S +mtree_convert_C_head() +{ + FLAVOR=mtree convert_C_head +} +netbsd6_convert_C_head() +{ + FLAVOR=netbsd6 convert_C_head +} + +mtree_convert_C_body() +{ + FLAVOR=mtree convert_C_body +} +netbsd6_convert_C_body() +{ + FLAVOR=netbsd6 convert_C_body +} + + +atf_test_case mtree_convert_C_S +atf_test_case netbsd6_convert_C_S convert_C_S_head() { atf_set "descr" "Convert a specfile to mtree -C format, sorted" @@ -123,11 +187,31 @@ convert_C_S_head() convert_C_S_body() { - mtree -C -S -K all <"$(atf_get_srcdir)/d_convert.in" >output + mtree -F ${FLAVOR} -C -S -K all <"$(atf_get_srcdir)/d_convert.in" >output h_check "$(atf_get_srcdir)/d_convert_C_S.out" output } -atf_test_case convert_D +mtree_convert_C_S_head() +{ + FLAVOR=mtree convert_C_S_head +} +netbsd6_convert_C_S_head() +{ + FLAVOR=netbsd6 convert_C_S_head +} + +mtree_convert_C_S_body() +{ + FLAVOR=mtree convert_C_S_body +} +netbsd6_convert_C_S_body() +{ + FLAVOR=netbsd6 convert_C_S_body +} + + +atf_test_case mtree_convert_D +atf_test_case netbsd6_convert_D convert_D_head() { atf_set "descr" "Convert a specfile to mtree -D format, unsorted" @@ -135,11 +219,31 @@ convert_D_head() convert_D_body() { - mtree -D -K all <"$(atf_get_srcdir)/d_convert.in" >output + mtree -F ${FLAVOR} -D -K all <"$(atf_get_srcdir)/d_convert.in" >output h_check "$(atf_get_srcdir)/d_convert_D.out" output } -atf_test_case convert_D_S +mtree_convert_D_head() +{ + FLAVOR=mtree convert_D_head +} +netbsd6_convert_D_head() +{ + FLAVOR=netbsd6 convert_D_head +} + +mtree_convert_D_body() +{ + FLAVOR=mtree convert_D_body +} +netbsd6_convert_D_body() +{ + FLAVOR=netbsd6 convert_D_body +} + + +atf_test_case mtree_convert_D_S +atf_test_case netbsd6_convert_D_S convert_D_S_head() { atf_set "descr" "Convert a specfile to mtree -D format, sorted" @@ -147,11 +251,31 @@ convert_D_S_head() convert_D_S_body() { - mtree -D -S -K all <"$(atf_get_srcdir)/d_convert.in" >output + mtree -F ${FLAVOR} -D -S -K all <"$(atf_get_srcdir)/d_convert.in" >output h_check "$(atf_get_srcdir)/d_convert_D_S.out" output } -atf_test_case ignore +mtree_convert_D_S_head() +{ + FLAVOR=mtree convert_D_S_head +} +netbsd6_convert_D_S_head() +{ + FLAVOR=netbsd6 convert_D_S_head +} + +mtree_convert_D_S_body() +{ + FLAVOR=mtree convert_D_S_body +} +netbsd6_convert_D_S_body() +{ + FLAVOR=netbsd6 convert_D_S_body +} + + +atf_test_case mtree_ignore +atf_test_case netbs6_ignore ignore_head() { atf_set "descr" "Test that -d ignores symlinks (PR bin/41061)" @@ -160,20 +284,40 @@ ignore_head() ignore_body() { mkdir newdir - mtree -c | mtree -Ck uid,gid,mode > mtree.spec + mtree -F ${FLAVOR} -c | mtree -F ${FLAVOR} -Ck uid,gid,mode > mtree.spec ln -s newdir otherdir # This yields "extra: otherdir" even with -d. # (PR bin/41061) - atf_check -s ignore -o empty -e empty -x "mtree -d < mtree.spec" + atf_check -s ignore -o empty -e empty -x "mtree -F ${FLAVOR} -d < mtree.spec" # Delete the symlink and re-verify. # rm otherdir - atf_check -s ignore -o empty -e empty -x "mtree -d < mtree.spec" + atf_check -s ignore -o empty -e empty -x "mtree -F ${FLAVOR} -d < mtree.spec" +} + +mtree_ignore_head() +{ + FLAVOR=mtree ignore_head +} +netbsd6_ignore_head() +{ + FLAVOR=netbsd6 ignore_head +} + +mtree_ignore_body() +{ + FLAVOR=mtree ignore_body +} +netbsd6_ignore_body() +{ + FLAVOR=netbsd6 ignore_body } -atf_test_case merge + +atf_test_case mtree_merge +atf_test_case netbsd6_merge merge_head() { atf_set "descr" "Merge records of different type" @@ -181,14 +325,34 @@ merge_head() merge_body() { - mtree -C -M -K all <"$(atf_get_srcdir)/d_merge.in" >output + mtree -F ${FLAVOR} -C -M -K all <"$(atf_get_srcdir)/d_merge.in" >output h_check "$(atf_get_srcdir)/d_merge_C_M.out" output # same again, with sorting - mtree -C -M -S -K all <"$(atf_get_srcdir)/d_merge.in" >output + mtree -F ${FLAVOR} -C -M -S -K all <"$(atf_get_srcdir)/d_merge.in" >output h_check "$(atf_get_srcdir)/d_merge_C_M_S.out" output } -atf_test_case nonemptydir +mtree_merge_head() +{ + FLAVOR=mtree merge_head +} +netbsd6_merge_head() +{ + FLAVOR=netbsd6 merge_head +} + +mtree_merge_body() +{ + FLAVOR=mtree merge_body +} +netbsd6_merge_body() +{ + FLAVOR=netbsd6 merge_body +} + + +atf_test_case mtree_nonemptydir +atf_test_case netbsd6_nonemptydir nonemptydir_head() { atf_set "descr" "Test that new non-empty " \ @@ -200,29 +364,58 @@ nonemptydir_body() mkdir testdir cd testdir - mtree -c > mtree.spec + mtree -F ${FLAVOR} -c > mtree.spec if [ ! -f mtree.spec ]; then atf_fail "mtree failed" fi touch bar - atf_check -s ignore -o save:output -x "mtree -f mtree.spec" + atf_check -s ignore -o save:output -x "mtree -F ${FLAVOR} -f mtree.spec" if [ ! -n "$(egrep "extra: bar" output)" ]; then atf_fail "mtree did not record changes (PR bin/25693)" fi } +mtree_nonemptydir_head() +{ + FLAVOR=mtree nonemptydir_head +} +netbsd6_nonemptydir_head() +{ + FLAVOR=netbsd6 nonemptydir_head +} + +mtree_nonemptydir_body() +{ + FLAVOR=mtree nonemptydir_body +} +netbsd6_nonemptydir_body() +{ + FLAVOR=netbsd6 nonemptydir_body +} + + atf_init_test_cases() { - atf_add_test_case create - atf_add_test_case check - atf_add_test_case convert_C - atf_add_test_case convert_C_S - atf_add_test_case convert_D - atf_add_test_case convert_D_S - atf_add_test_case ignore - atf_add_test_case merge - atf_add_test_case nonemptydir + atf_add_test_case mtree_create + atf_add_test_case mtree_check + atf_add_test_case mtree_convert_C + atf_add_test_case mtree_convert_C_S + atf_add_test_case mtree_convert_D + atf_add_test_case mtree_convert_D_S + atf_add_test_case mtree_ignore + atf_add_test_case mtree_merge + atf_add_test_case mtree_nonemptydir + + atf_add_test_case netbsd6_create + atf_add_test_case netbsd6_check + atf_add_test_case netbsd6_convert_C + atf_add_test_case netbsd6_convert_C_S + atf_add_test_case netbsd6_convert_D + atf_add_test_case netbsd6_convert_D_S + atf_add_test_case netbsd6_ignore + atf_add_test_case netbsd6_merge + atf_add_test_case netbsd6_nonemptydir } Added files: Index: src/tests/usr.sbin/mtree/mtree_d_create.out diff -u /dev/null src/tests/usr.sbin/mtree/mtree_d_create.out:1.1 --- /dev/null Wed Jan 2 13:11:45 2013 +++ src/tests/usr.sbin/mtree/mtree_d_create.out Wed Jan 2 13:11:44 2013 @@ -0,0 +1,55 @@ +# user: x +# machine: x +# tree: x +# date: x + +# . +/set type=file nlink=1 +. type=dir nlink=4 size=240 + a.symlink.1 type=link size=8 link=a.file.1 + top.dangling \ + type=link size=11 link=nonexistent + top.file.1 size=18 \ + sha256=74c53aaf0cd9543b7efad969de1058ee38859134ba467500b849811fc3513195 + top.symlink.b \ + type=link size=1 link=b + +# ./a +a type=dir nlink=4 size=200 + a.file.1 size=18 \ + sha256=bdbea62f7ccdf862f22254ea871d523845250010d5f233896e800142a859eef2 + a.file.2 size=18 \ + sha256=77876d113fe1b45a41f8d1d3e178aaad7f91fcd93d3df782690625b74ad90fe6 + a.hardlink.b2 \ + nlink=2 size=18 \ + sha256=784fd6b95fe5054d87bf268de51dea043031c5e985f668d4f51e1c759b0f9333 + +# ./a/1 +1 type=dir nlink=2 size=40 + a1.file.1 size=21 \ + sha256=a062cd272facdd38c4fdeff2a18947b28c99a28a8fe51f88468978740382e592 +# ./a/1 +.. + + +# ./a/2 +2 type=dir nlink=2 size=0 +# ./a/2 +.. + +# ./a +.. + + +# ./b +b type=dir nlink=2 size=120 + b.file.1 nlink=2 size=18 \ + sha256=5754b0d97a8238ea0e495ab871667dcab8f1d684e323290ae76f70c47de18998 + b.file.2 nlink=2 size=18 \ + sha256=784fd6b95fe5054d87bf268de51dea043031c5e985f668d4f51e1c759b0f9333 + b.hardlink.1 \ + nlink=2 size=18 \ + sha256=5754b0d97a8238ea0e495ab871667dcab8f1d684e323290ae76f70c47de18998 +# ./b +.. + Index: src/tests/usr.sbin/mtree/netbsd6_d_create.out diff -u /dev/null src/tests/usr.sbin/mtree/netbsd6_d_create.out:1.1 --- /dev/null Wed Jan 2 13:11:45 2013 +++ src/tests/usr.sbin/mtree/netbsd6_d_create.out Wed Jan 2 13:11:44 2013 @@ -0,0 +1,55 @@ +# user: x +# machine: x +# tree: x +# date: x + +# . +/set type=file nlink=1 +. type=dir nlink=4 + a.symlink.1 type=link link=a.file.1 + top.dangling \ + type=link link=nonexistent + top.file.1 size=18 \ + sha256=74c53aaf0cd9543b7efad969de1058ee38859134ba467500b849811fc3513195 + top.symlink.b \ + type=link link=b + +# ./a +a type=dir nlink=4 + a.file.1 size=18 \ + sha256=bdbea62f7ccdf862f22254ea871d523845250010d5f233896e800142a859eef2 + a.file.2 size=18 \ + sha256=77876d113fe1b45a41f8d1d3e178aaad7f91fcd93d3df782690625b74ad90fe6 + a.hardlink.b2 \ + nlink=2 size=18 \ + sha256=784fd6b95fe5054d87bf268de51dea043031c5e985f668d4f51e1c759b0f9333 + +# ./a/1 +1 type=dir nlink=2 + a1.file.1 size=21 \ + sha256=a062cd272facdd38c4fdeff2a18947b28c99a28a8fe51f88468978740382e592 +# ./a/1 +.. + + +# ./a/2 +2 type=dir nlink=2 +# ./a/2 +.. + +# ./a +.. + + +# ./b +b type=dir nlink=2 + b.file.1 nlink=2 size=18 \ + sha256=5754b0d97a8238ea0e495ab871667dcab8f1d684e323290ae76f70c47de18998 + b.file.2 nlink=2 size=18 \ + sha256=784fd6b95fe5054d87bf268de51dea043031c5e985f668d4f51e1c759b0f9333 + b.hardlink.1 \ + nlink=2 size=18 \ + sha256=5754b0d97a8238ea0e495ab871667dcab8f1d684e323290ae76f70c47de18998 +# ./b +.. +