CVS commit: src/tests/usr.sbin/mtree

2017-09-06 Thread Takeshi Nakayama
Module Name:src
Committed By:   nakayama
Date:   Thu Sep  7 04:05:21 UTC 2017

Modified Files:
src/tests/usr.sbin/mtree: t_mtree.sh

Log Message:
Add test mtree -O with same hash value in directory and leaf.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 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/t_mtree.sh
diff -u src/tests/usr.sbin/mtree/t_mtree.sh:1.7 src/tests/usr.sbin/mtree/t_mtree.sh:1.8
--- src/tests/usr.sbin/mtree/t_mtree.sh:1.7	Sat Jan 14 20:45:16 2017
+++ src/tests/usr.sbin/mtree/t_mtree.sh	Thu Sep  7 04:05:21 2017
@@ -1,4 +1,4 @@
-# $NetBSD: t_mtree.sh,v 1.7 2017/01/14 20:45:16 christos Exp $
+# $NetBSD: t_mtree.sh,v 1.8 2017/09/07 04:05:21 nakayama Exp $
 #
 # Copyright (c) 2009, 2012 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -412,6 +412,42 @@ netbsd6_nonemptydir_body() 
 }
 
 
+atf_test_case mtree_onlyfile
+atf_test_case netbsd6_onlyfile
+onlyfile_head()
+{
+	atf_set "descr" "Test -O with same hash value in directory and leaf"
+}
+
+onlyfile_body()
+{
+	mkdir -p ab/no
+	echo ./ab/no >onlyfile
+	mtree -F ${FLAVOR} -c -n -O onlyfile >output
+	if [ ! -s output ]; then
+		atf_fail "mtree did not find path in onlyfile"
+	fi
+}
+
+mtree_onlyfile_head()
+{
+	FLAVOR=mtree onlyfile_head
+}
+netbsd6_onlyfile_head()
+{
+	FLAVOR=netbsd6 onlyfile_head
+}
+
+mtree_onlyfile_body()
+{
+	FLAVOR=mtree onlyfile_body
+}
+netbsd6_onlyfile_body()
+{
+	FLAVOR=netbsd6 onlyfile_body
+}
+
+
 atf_init_test_cases()
 {
 	atf_add_test_case mtree_create
@@ -423,6 +459,7 @@ atf_init_test_cases()
 	atf_add_test_case mtree_ignore
 	atf_add_test_case mtree_merge
 	atf_add_test_case mtree_nonemptydir
+	atf_add_test_case mtree_onlyfile
 
 	atf_add_test_case netbsd6_create
 	atf_add_test_case netbsd6_check
@@ -433,4 +470,5 @@ atf_init_test_cases()
 	atf_add_test_case netbsd6_ignore
 	atf_add_test_case netbsd6_merge
 	atf_add_test_case netbsd6_nonemptydir
+	atf_add_test_case netbsd6_onlyfile
 }



CVS commit: src/tests/usr.sbin/mtree

2017-01-14 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jan 14 20:45:16 UTC 2017

Modified Files:
src/tests/usr.sbin/mtree: t_mtree.sh

Log Message:
PR/51876: Ngie Cooper: kyua 0.11 $TMPDIR fixes


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 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/t_mtree.sh
diff -u src/tests/usr.sbin/mtree/t_mtree.sh:1.6 src/tests/usr.sbin/mtree/t_mtree.sh:1.7
--- src/tests/usr.sbin/mtree/t_mtree.sh:1.6	Tue Feb  5 11:49:42 2013
+++ src/tests/usr.sbin/mtree/t_mtree.sh	Sat Jan 14 15:45:16 2017
@@ -1,4 +1,4 @@
-# $NetBSD: t_mtree.sh,v 1.6 2013/02/05 16:49:42 christos Exp $
+# $NetBSD: t_mtree.sh,v 1.7 2017/01/14 20:45:16 christos Exp $
 #
 # Copyright (c) 2009, 2012 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -284,6 +284,13 @@ ignore_head()
 
 ignore_body()
 {
+	# Kyua 0.11 and above point TMPDIR to our work directory and atf-check
+	# generates a temporary file, which confuses mtree.  Put the mtree files
+	# into a subdirectory.
+	#
+	# See https://github.com/jmmv/kyua/issues/133 for details.
+	mkdir root && cd root
+
 	mkdir newdir
 	mtree -F ${FLAVOR} -c | mtree -F ${FLAVOR} -Ck uid,gid,mode > mtree.spec
 	ln -s newdir otherdir
@@ -313,6 +320,13 @@ mtree_ignore_body() 
 }
 netbsd6_ignore_body() 
 {
+	# Kyua 0.11 and above point TMPDIR to our work directory and atf-check
+	# generates a temporary file, which confuses mtree.  Put the mtree files
+	# into a subdirectory.
+	#
+	# See https://github.com/jmmv/kyua/issues/133 for details.
+	mkdir root && cd root
+
 	FLAVOR=netbsd6 ignore_body
 }
 



CVS commit: src/tests/usr.sbin/mtree

2013-10-20 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct 20 17:27:37 UTC 2013

Modified Files:
src/tests/usr.sbin/mtree: mtree_d_create.out

Log Message:
adjust output now that we don't output size info for links and directories
by default.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/usr.sbin/mtree/mtree_d_create.out

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/mtree_d_create.out
diff -u src/tests/usr.sbin/mtree/mtree_d_create.out:1.2 src/tests/usr.sbin/mtree/mtree_d_create.out:1.3
--- src/tests/usr.sbin/mtree/mtree_d_create.out:1.2	Tue Feb  5 11:49:42 2013
+++ src/tests/usr.sbin/mtree/mtree_d_create.out	Sun Oct 20 13:27:37 2013
@@ -6,13 +6,13 @@
 # .
 /set type=file nlink=1
 .   type=dir nlink=4
-a.symlink.1 type=link size=8 link=a.file.1
+a.symlink.1 type=link link=a.file.1
 top.dangling \
-type=link size=11 link=nonexistent
+type=link link=nonexistent
 top.file.1  size=18 \
 sha256=74c53aaf0cd9543b7efad969de1058ee38859134ba467500b849811fc3513195
 top.symlink.b \
-type=link size=1 link=b
+type=link link=b
 
 # ./a
 a   type=dir nlink=4



CVS commit: src/tests/usr.sbin/mtree

2013-02-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Feb  5 16:49:42 UTC 2013

Modified Files:
src/tests/usr.sbin/mtree: mtree_d_create.out t_mtree.sh

Log Message:
ignore directory sizes


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.sbin/mtree/mtree_d_create.out
cvs rdiff -u -r1.5 -r1.6 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/mtree_d_create.out
diff -u src/tests/usr.sbin/mtree/mtree_d_create.out:1.1 src/tests/usr.sbin/mtree/mtree_d_create.out:1.2
--- src/tests/usr.sbin/mtree/mtree_d_create.out:1.1	Wed Jan  2 13:11:44 2013
+++ src/tests/usr.sbin/mtree/mtree_d_create.out	Tue Feb  5 11:49:42 2013
@@ -5,7 +5,7 @@
 
 # .
 /set type=file nlink=1
-.   type=dir nlink=4 size=240
+.   type=dir nlink=4
 a.symlink.1 type=link size=8 link=a.file.1
 top.dangling \
 type=link size=11 link=nonexistent
@@ -15,7 +15,7 @@
 type=link size=1 link=b
 
 # ./a
-a   type=dir nlink=4 size=200
+a   type=dir nlink=4
 a.file.1size=18 \
 sha256=bdbea62f7ccdf862f22254ea871d523845250010d5f233896e800142a859eef2
 a.file.2size=18 \
@@ -25,7 +25,7 @@ a   type=dir nlink=4 size=20
 sha256=784fd6b95fe5054d87bf268de51dea043031c5e985f668d4f51e1c759b0f9333
 
 # ./a/1
-1   type=dir nlink=2 size=40
+1   type=dir nlink=2
 a1.file.1   size=21 \
 sha256=a062cd272facdd38c4fdeff2a18947b28c99a28a8fe51f88468978740382e592
 # ./a/1
@@ -33,7 +33,7 @@ a   type=dir nlink=4 size=20
 
 
 # ./a/2
-2   type=dir nlink=2 size=0
+2   type=dir nlink=2
 # ./a/2
 ..
 
@@ -42,7 +42,7 @@ a   type=dir nlink=4 size=20
 
 
 # ./b
-b   type=dir nlink=2 size=120
+b   type=dir nlink=2
 b.file.1nlink=2 size=18 \
 sha256=5754b0d97a8238ea0e495ab871667dcab8f1d684e323290ae76f70c47de18998
 b.file.2nlink=2 size=18 \

Index: src/tests/usr.sbin/mtree/t_mtree.sh
diff -u src/tests/usr.sbin/mtree/t_mtree.sh:1.5 src/tests/usr.sbin/mtree/t_mtree.sh:1.6
--- src/tests/usr.sbin/mtree/t_mtree.sh:1.5	Wed Jan  2 13:11:44 2013
+++ src/tests/usr.sbin/mtree/t_mtree.sh	Tue Feb  5 11:49:42 2013
@@ -1,4 +1,4 @@
-# $NetBSD: t_mtree.sh,v 1.5 2013/01/02 18:11:44 christos Exp $
+# $NetBSD: t_mtree.sh,v 1.6 2013/02/05 16:49:42 christos Exp $
 #
 # Copyright (c) 2009, 2012 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -36,7 +36,8 @@ h_postprocess()
 		/^#	machine: /s/:.*/: x/
 		/^#	   tree: /s/:.*/: x/
 		/^#	   date: /s/:.*/: x/
-		'
+		' \
+	-e '/type=dir/s/ size=[0-9]*//'
 }
 
 h_check()



CVS commit: src/tests/usr.sbin/mtree

2013-01-02 Thread Christos Zoulas
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 

CVS commit: src/tests/usr.sbin/mtree

2012-03-19 Thread Jukka Ruohonen
Module Name:src
Committed By:   jruoho
Date:   Mon Mar 19 06:39:22 UTC 2012

Modified Files:
src/tests/usr.sbin/mtree: t_mtree.sh

Log Message:
Add a case for PR bin/41061.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 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/t_mtree.sh
diff -u src/tests/usr.sbin/mtree/t_mtree.sh:1.2 src/tests/usr.sbin/mtree/t_mtree.sh:1.3
--- src/tests/usr.sbin/mtree/t_mtree.sh:1.2	Sun Mar 18 11:50:55 2012
+++ src/tests/usr.sbin/mtree/t_mtree.sh	Mon Mar 19 06:39:22 2012
@@ -1,6 +1,6 @@
-# $NetBSD: t_mtree.sh,v 1.2 2012/03/18 11:50:55 jruoho Exp $
+# $NetBSD: t_mtree.sh,v 1.3 2012/03/19 06:39:22 jruoho Exp $
 #
-# Copyright (c) 2009 The NetBSD Foundation, Inc.
+# Copyright (c) 2009, 2012 The NetBSD Foundation, Inc.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -48,6 +48,7 @@ create_head()
 {
 	atf_set descr Create a specfile describing a directory tree
 }
+
 create_setup()
 {
 	# create some directories
@@ -73,6 +74,7 @@ create_setup()
 	# dangling symlink
 	ln -s nonexistent create/top.dangling
 }
+
 create_body()
 {
 	create_setup
@@ -89,6 +91,7 @@ check_head()
 {
 	atf_set descr Check a directory tree against a specfile
 }
+
 check_body()
 {
 	# we use the same directory tree and specfile as in the create test
@@ -105,6 +108,7 @@ convert_C_head()
 {
 	atf_set descr Convert a specfile to mtree -C format, unsorted
 }
+
 convert_C_body()
 {
 	mtree -C -K all $(atf_get_srcdir)/d_convert.in output
@@ -116,6 +120,7 @@ convert_C_S_head()
 {
 	atf_set descr Convert a specfile to mtree -C format, sorted
 }
+
 convert_C_S_body()
 {
 	mtree -C -S -K all $(atf_get_srcdir)/d_convert.in output
@@ -127,6 +132,7 @@ convert_D_head()
 {
 	atf_set descr Convert a specfile to mtree -D format, unsorted
 }
+
 convert_D_body()
 {
 	mtree -D -K all $(atf_get_srcdir)/d_convert.in output
@@ -138,17 +144,42 @@ convert_D_S_head()
 {
 	atf_set descr Convert a specfile to mtree -D format, sorted
 }
+
 convert_D_S_body()
 {
 	mtree -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
+ignore_head()
+{
+	atf_set descr Test that -d ignores symlinks (PR bin/41061)
+}
+
+ignore_body()
+{
+	mkdir newdir
+	mtree -c | mtree -Ck uid,gid,mode  mtree.spec
+	ln -s newdir otherdir
+
+	# This yields extra: otherdir even with -d.
+	#
+	atf_expect_fail PR bin/41061
+	atf_check -s ignore -o empty -e empty -x mtree -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_test_case merge
 merge_head()
 {
 	atf_set descr Merge records of different type
 }
+
 merge_body()
 {
 	mtree -C -M -K all $(atf_get_srcdir)/d_merge.in output
@@ -159,13 +190,14 @@ merge_body()
 }
 
 atf_test_case nonemptydir
-nonemptydir_head() {
+nonemptydir_head()
+{
 	atf_set descr Test that new non-empty  \
 			directories are recorded (PR bin/25693)
 }
 
-nonemptydir_body() {
-
+nonemptydir_body()
+{
 	mkdir testdir
 	cd testdir
 
@@ -191,6 +223,7 @@ atf_init_test_cases()
 	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
 }



CVS commit: src/tests/usr.sbin/mtree

2012-03-18 Thread Jukka Ruohonen
Module Name:src
Committed By:   jruoho
Date:   Sun Mar 18 11:50:55 UTC 2012

Modified Files:
src/tests/usr.sbin/mtree: t_mtree.sh

Log Message:
Verify that bin/25693 is no longer an issue.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 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/t_mtree.sh
diff -u src/tests/usr.sbin/mtree/t_mtree.sh:1.1 src/tests/usr.sbin/mtree/t_mtree.sh:1.2
--- src/tests/usr.sbin/mtree/t_mtree.sh:1.1	Sat Mar 17 16:33:16 2012
+++ src/tests/usr.sbin/mtree/t_mtree.sh	Sun Mar 18 11:50:55 2012
@@ -1,4 +1,4 @@
-# $NetBSD: t_mtree.sh,v 1.1 2012/03/17 16:33:16 jruoho Exp $
+# $NetBSD: t_mtree.sh,v 1.2 2012/03/18 11:50:55 jruoho Exp $
 #
 # Copyright (c) 2009 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -27,6 +27,7 @@
 
 # Postprocess mtree output, canonicalising portions that
 # are expected to differ from one run to another.
+#
 h_postprocess()
 {
 	sed -e '
@@ -157,6 +158,31 @@ merge_body()
 	h_check $(atf_get_srcdir)/d_merge_C_M_S.out output
 }
 
+atf_test_case nonemptydir
+nonemptydir_head() {
+	atf_set descr Test that new non-empty  \
+			directories are recorded (PR bin/25693)
+}
+
+nonemptydir_body() {
+
+	mkdir testdir
+	cd testdir
+
+	mtree -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
+
+	if [ ! -n $(egrep extra: bar output) ]; then
+		atf_fail mtree did not record changes (PR bin/25693)
+	fi
+}
+
 atf_init_test_cases()
 {
 	atf_add_test_case create
@@ -166,4 +192,5 @@ atf_init_test_cases()
 	atf_add_test_case convert_D
 	atf_add_test_case convert_D_S
 	atf_add_test_case merge
+	atf_add_test_case nonemptydir
 }