Index: projects/zfsd/head/etc/mtree/BSD.tests.dist =================================================================== --- projects/zfsd/head/etc/mtree/BSD.tests.dist (revision 322068) +++ projects/zfsd/head/etc/mtree/BSD.tests.dist (revision 322069) @@ -1,1016 +1,1018 @@ # $FreeBSD$ # # Please see the file src/etc/mtree/README before making changes to this file. # /set type=dir uname=root gname=wheel mode=0755 . bin cat .. chmod .. date .. dd .. echo .. expr .. ln .. ls .. mv .. pax .. pkill .. pwait .. sh builtins .. errors .. execution .. expansion .. parameters .. parser .. set-e .. .. sleep .. test .. .. cddl lib .. usr.bin .. usr.sbin dtrace common aggs .. arithmetic .. arrays .. assocs .. begin .. bitfields .. buffering .. builtinvar .. cg .. clauses .. cpc .. decls .. drops .. dtraceUtil .. end .. enum .. error .. exit .. fbtprovider .. funcs .. grammar .. include .. inline .. io .. ip .. java_api .. json .. lexer .. llquantize .. mdb .. mib .. misc .. multiaggs .. offsetof .. operators .. pid .. plockstat .. pointers .. pragma .. predicates .. preprocessor .. print .. printa .. printf .. privs .. probes .. proc .. profile-n .. providers .. raise .. rates .. safety .. scalars .. sched .. scripting .. sdt .. sizeof .. speculation .. stability .. stack .. stackdepth .. stop .. strlen .. strtoll .. struct .. sugar .. syscall .. sysevent .. tick-n .. trace .. tracemem .. translators .. typedef .. types .. uctf .. union .. usdt .. ustack .. vars .. version .. .. .. zfsd .. .. .. etc rc.d .. .. games .. gnu lib .. usr.bin diff .. .. .. lib atf libatf-c detail .. .. libatf-c++ detail .. .. test-programs .. .. libarchive .. libc c063 .. db .. gen execve .. posix_spawn .. .. hash data .. .. iconv .. inet .. locale .. net getaddrinfo data .. .. .. nss .. regex data .. .. resolv .. rpc .. ssp .. setjmp .. stdio .. stdlib .. string .. sys .. time .. tls dso .. .. termios .. ttyio .. .. libcam .. libcasper services cap_dns .. cap_grp .. cap_pwd .. cap_sysctl .. .. .. libcrypt .. libdevdctl .. libkvm .. libmp .. libnv .. libproc .. librt .. libsbuf .. libthr dlopen .. .. libutil .. libxo .. msun .. .. libexec atf atf-check .. atf-sh .. .. rtld-elf .. .. sbin dhclient .. devd .. growfs .. ifconfig .. mdconfig .. pfctl files .. .. .. secure lib .. libexec .. usr.bin .. usr.sbin .. .. share examples tests atf .. plain .. tap .. .. .. zoneinfo .. .. sys acl .. aio .. cddl zfs bin .. include .. tests acl cifs .. nontrivial .. trivial .. .. atime .. bootfs .. cache .. cachefile .. clean_mirror assertion_001 .. assertion_002 .. assertion_003 .. assertion_004 .. .. cli_root zfs_upgrade .. zfs_promote .. zfs_clone .. zfs_property .. zfs_destroy .. zpool_create .. zpool_history .. zpool_expand .. zpool_remove .. zfs_mount .. zfs_unshare .. zdb .. zpool_online .. zpool_get .. zpool_export .. zfs_copies .. zfs_get .. zfs .. zpool_clear .. zpool_import .. zpool .. zpool_offline .. zpool_replace .. zfs_rollback .. zpool_set .. zfs_send .. zfs_set .. zpool_detach .. + zfs_diff + .. zpool_scrub .. zfs_inherit .. zfs_snapshot .. zfs_share .. zpool_destroy .. zpool_status .. zfs_unmount .. zfs_receive .. zfs_create .. zpool_upgrade blockfiles .. .. zpool_add .. zfs_rename .. zpool_attach .. zfs_reservation .. .. cli_user misc .. zfs_list .. zpool_iostat .. zpool_list .. .. compression .. ctime .. delegate zfs_allow .. zfs_unallow .. .. devices .. exec .. grow_pool .. grow_replicas .. history .. hotplug .. hotspare .. inheritance .. interop .. inuse .. iscsi .. large_files .. largest_pool .. link_count .. mdb .. migration .. mmap mmap_read .. mmap_write .. .. mount .. mv_files .. nestedfs .. no_space .. online_offline .. pool_names .. poolversion .. privilege .. quota .. redundancy .. refquota .. refreserv .. remote cross_endian .. rebooting .. sharing .. .. rename_dirs .. replacement .. reservation .. rootpool .. rsend .. sas_phy_thrash .. scrub_mirror .. slog .. snapshot .. snapused .. sparse .. threadsappend .. truncate .. txg_integrity .. userquota .. utils_test .. write_dirs .. xattr .. zfsd .. zil .. zinject .. zones .. zvol zvol_ENOSPC .. zvol_cli .. zvol_misc .. zvol_swap .. .. zvol_thrash .. .. .. .. dtrace .. fifo .. file .. fs tmpfs .. .. geom class concat .. eli .. gate .. gpt .. mirror .. nop .. part .. raid3 .. shsec .. stripe .. uzip etalon .. .. .. .. kern acct .. execve .. pipe .. .. kqueue libkqueue .. .. mac bsdextended .. portacl .. .. mqueue .. net .. netinet .. opencrypto .. pjdfstest chflags .. chmod .. chown .. ftruncate .. granular .. link .. mkdir .. mkfifo .. mknod .. open .. rename .. rmdir .. symlink .. truncate .. unlink .. utimensat .. .. posixshm .. sys .. vfs .. vm .. .. usr.bin apply .. basename .. bmake archives fmt_44bsd .. fmt_44bsd_mod .. fmt_oldbsd .. .. basic t0 .. t1 .. t2 .. t3 .. .. execution ellipsis .. empty .. joberr .. plus .. .. shell builtin .. meta .. path .. path_select .. replace .. select .. .. suffixes basic .. src_wild1 .. src_wild2 .. .. syntax directive-t0 .. enl .. funny-targets .. semi .. .. sysmk t0 2 1 .. .. mk .. .. t1 2 1 .. .. mk .. .. t2 2 1 .. .. mk .. .. .. variables modifier_M .. modifier_t .. opt_V .. t0 .. .. .. bsdcat .. calendar .. cmp .. compress .. cpio .. col .. comm .. csplit .. cut .. diff .. dirname .. du .. file2c .. getconf .. grep .. gzip .. hexdump .. ident .. indent .. join .. jot .. lastcomm .. limits .. m4 .. mkimg .. ncal .. opensm .. pr .. printf .. procstat .. sdiff .. sed regress.multitest.out .. .. soelim .. stat .. tail .. tar .. timeout .. tr .. truncate .. units .. uudecode .. uuencode .. uniq .. xargs .. xinstall .. xo .. yacc yacc .. .. .. usr.sbin chown .. etcupdate .. extattr .. fstyp .. makefs .. newsyslog .. nmtree .. pw .. rpcbind .. sa .. .. .. # vim: set expandtab ts=4 sw=4: Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/Makefile =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/Makefile (revision 322068) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/Makefile (revision 322069) @@ -1,59 +1,60 @@ # $FreeBSD$ .include PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root FILESDIR=${TESTSDIR} ${PACKAGE}FILES+= cleanup.ksh ${PACKAGE}FILES+= cli.cfg ${PACKAGE}FILES+= cli_common.kshlib ${PACKAGE}FILES+= setup.ksh TESTS_SUBDIRS+= zdb TESTS_SUBDIRS+= zfs TESTS_SUBDIRS+= zfs_clone TESTS_SUBDIRS+= zfs_copies TESTS_SUBDIRS+= zfs_create TESTS_SUBDIRS+= zfs_destroy +TESTS_SUBDIRS+= zfs_diff TESTS_SUBDIRS+= zfs_get TESTS_SUBDIRS+= zfs_inherit TESTS_SUBDIRS+= zfs_mount TESTS_SUBDIRS+= zfs_promote TESTS_SUBDIRS+= zfs_property TESTS_SUBDIRS+= zfs_receive TESTS_SUBDIRS+= zfs_rename TESTS_SUBDIRS+= zfs_reservation TESTS_SUBDIRS+= zfs_rollback TESTS_SUBDIRS+= zfs_send TESTS_SUBDIRS+= zfs_set TESTS_SUBDIRS+= zfs_share TESTS_SUBDIRS+= zfs_snapshot TESTS_SUBDIRS+= zfs_unshare TESTS_SUBDIRS+= zfs_unmount TESTS_SUBDIRS+= zfs_upgrade TESTS_SUBDIRS+= zpool TESTS_SUBDIRS+= zpool_add TESTS_SUBDIRS+= zpool_attach TESTS_SUBDIRS+= zpool_clear TESTS_SUBDIRS+= zpool_create TESTS_SUBDIRS+= zpool_destroy TESTS_SUBDIRS+= zpool_detach TESTS_SUBDIRS+= zpool_expand TESTS_SUBDIRS+= zpool_export TESTS_SUBDIRS+= zpool_get TESTS_SUBDIRS+= zpool_history TESTS_SUBDIRS+= zpool_import TESTS_SUBDIRS+= zpool_offline TESTS_SUBDIRS+= zpool_online TESTS_SUBDIRS+= zpool_remove TESTS_SUBDIRS+= zpool_replace TESTS_SUBDIRS+= zpool_set TESTS_SUBDIRS+= zpool_scrub TESTS_SUBDIRS+= zpool_status TESTS_SUBDIRS+= zpool_upgrade .include Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/Makefile =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/Makefile (nonexistent) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/Makefile (revision 322069) @@ -0,0 +1,18 @@ +# $FreeBSD$ + +.include + +PACKAGE= tests + +TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_diff +FILESDIR=${TESTSDIR} + +ATF_TESTS_KSH93+= zfs_diff_test + +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_diff_001_pos.ksh +${PACKAGE}FILES+= zfs_diff.cfg +${PACKAGE}FILES+= zfs_diff_001_pos.golden + +.include Property changes on: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/Makefile ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/cleanup.ksh =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/cleanup.ksh (nonexistent) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/cleanup.ksh (revision 322069) @@ -0,0 +1,31 @@ +#!/usr/local/bin/ksh93 -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2017 Spectra Logic Corp. All rights reserved. +# Use is subject to license terms. +# +# + +. $STF_SUITE/include/libtest.kshlib + +default_cleanup Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/setup.ksh =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/setup.ksh (nonexistent) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/setup.ksh (revision 322069) @@ -0,0 +1,32 @@ +#!/usr/local/bin/ksh93 -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2017 Spectra Logic Corp. All rights reserved. +# Use is subject to license terms. +# + +. $STF_SUITE/include/libtest.kshlib + +DISK=${DISKS%% *} + +default_setup $DISK Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff.cfg =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff.cfg (nonexistent) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff.cfg (revision 322069) @@ -0,0 +1,27 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2017 Spectra Logic. All rights reserved. +# Use is subject to license terms. +# + +. $STF_SUITE/tests/cli_root/cli.cfg Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_001_pos.golden =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_001_pos.golden (nonexistent) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_001_pos.golden (revision 322069) @@ -0,0 +1,13 @@ ++ /testdir1526/dirs/create ++ /testdir1526/files/create +- /testdir1526/dirs/delete +- /testdir1526/files/delete +M /testdir1526/dirs +M /testdir1526/dirs/modify +M /testdir1526/files +M /testdir1526/files/dstdir +M /testdir1526/files/modify +M /testdir1526/files/srcdir +R /testdir1526/dirs/rename -> /testdir1526/dirs/rename.new +R /testdir1526/files/rename -> /testdir1526/files/rename.new +R /testdir1526/files/srcdir/move -> /testdir1526/files/dstdir/move Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_001_pos.ksh =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_001_pos.ksh (nonexistent) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_001_pos.ksh (revision 322069) @@ -0,0 +1,77 @@ +#!/usr/local/bin/ksh93 -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2017 Spectra Logic Corp. All rights reserved. +# Use is subject to license terms. +# + +. $STF_SUITE/include/libtest.kshlib +. $STF_SUITE/tests/cli_root/zfs_set/zfs_set_common.kshlib + +verify_runnable "both" + +log_assert "'zfs diff' output for typical operations" + +# First create a bunch of files and directories + +#log_must ${CD} $TESTDIR +log_must ${MKDIR} ${TESTDIR}/dirs +log_must ${MKDIR} ${TESTDIR}/dirs/leavealone +log_must ${MKDIR} ${TESTDIR}/dirs/modify +log_must ${MKDIR} ${TESTDIR}/dirs/rename +log_must ${MKDIR} ${TESTDIR}/dirs/delete +log_must ${MKDIR} ${TESTDIR}/files +log_must ${TOUCH} ${TESTDIR}/files/leavealone +log_must ${TOUCH} ${TESTDIR}/files/modify +log_must ${TOUCH} ${TESTDIR}/files/rename +log_must ${TOUCH} ${TESTDIR}/files/delete +log_must ${MKDIR} ${TESTDIR}/files/srcdir +log_must ${MKDIR} ${TESTDIR}/files/dstdir +log_must ${TOUCH} ${TESTDIR}/files/srcdir/move + +log_must $ZFS snapshot $TESTPOOL/$TESTFS@1 + +# Now modify them in different ways +log_must ${TOUCH} ${TESTDIR}/dirs/modify +log_must ${MV} ${TESTDIR}/dirs/rename ${TESTDIR}/dirs/rename.new +log_must ${RMDIR} ${TESTDIR}/dirs/delete +log_must ${MKDIR} ${TESTDIR}/dirs/create +log_must ${DATE} >> ${TESTDIR}/files/modify +log_must ${MV} ${TESTDIR}/files/rename ${TESTDIR}/files/rename.new +log_must ${RM} ${TESTDIR}/files/delete +log_must ${MV} ${TESTDIR}/files/srcdir/move ${TESTDIR}/files/dstdir/move +log_must ${TOUCH} ${TESTDIR}/files/create + +log_must $ZFS snapshot $TESTPOOL/$TESTFS@2 + +# "zfs diff"'s output order is unspecified, so we must sort it. The golden +# file is already sorted. +LC_ALL=C $ZFS diff $TESTPOOL/$TESTFS@1 $TESTPOOL/$TESTFS@2 | ${SORT} > $TESTDIR/zfs_diff_output.txt +if [ $? -ne 0 ]; then + log_fail "zfs diff failed" +fi + +# Finally, compare output to the golden output +log_must diff $STF_SUITE/tests/cli_root/zfs_diff/zfs_diff_001_pos.golden $TESTDIR/zfs_diff_output.txt + +log_pass "'zfs diff' gave the expected output" Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_test.sh =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_test.sh (nonexistent) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_test.sh (revision 322069) @@ -0,0 +1,56 @@ +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2017 Spectra Logic. All rights reserved. +# Use is subject to license terms. +# + + +atf_test_case zfs_diff_001_pos cleanup +zfs_diff_001_pos_head() +{ + atf_set "descr" "zfs diff output for typical operations" + atf_set "require.progs" zfs +} +zfs_diff_001_pos_body() +{ + export TESTCASE_ID=$(echo $(atf_get ident) | cksum -o 2 | cut -f 1 -d " ") + atf_expect_fail "PR221234 ZFS diff does not properly display files that have been moved to a new directory." + . $(atf_get_srcdir)/../../../include/default.cfg + . $(atf_get_srcdir)/zfs_diff.cfg + + ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" + ksh93 $(atf_get_srcdir)/zfs_diff_001_pos.ksh || atf_fail "Testcase failed" +} +zfs_diff_001_pos_cleanup() +{ + export TESTCASE_ID=$(echo $(atf_get ident) | cksum -o 2 | cut -f 1 -d " ") + . $(atf_get_srcdir)/../../../include/default.cfg + . $(atf_get_srcdir)/zfs_diff.cfg + + ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" +} + +atf_init_test_cases() +{ + + atf_add_test_case zfs_diff_001_pos +} Property changes on: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_diff/zfs_diff_test.sh ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property