d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#!/bin/ksh -p
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# CDDL HEADER START
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# The contents of this file are subject to the terms of the
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# Common Development and Distribution License (the "License").
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# You may not use this file except in compliance with the License.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# or http://www.opensolaris.org/os/licensing.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# See the License for the specific language governing permissions
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# and limitations under the License.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# When distributing Covered Code, include this CDDL HEADER in each
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# If applicable, add the following below this CDDL HEADER, with the
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# fields enclosed by brackets "[]" replaced with your own identifying
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# information: Portions Copyright [yyyy] [name of copyright owner]
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# CDDL HEADER END
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# Use is subject to license terms.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy#
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy# Copyright (c) 2016 by Delphix. All rights reserved.
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy#
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy. $STF_SUITE/tests/functional/acl/acl_common.kshlib
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# DESCRIPTION:
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# Verify files include attribute in tar archive and restore with tar
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# should succeed.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# STRATEGY:
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# 1. Create several files which contains contribute files in directory A.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# 2. Enter into directory A and record all files cksum.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# 3. 'pax ustar' all the files to directory B.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# 4. Then 'pax ustar' the pax file to directory C.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# 5. Record all the files cksum in derectory C.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy# 6. Verify the two records should be identical.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy#
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyverify_runnable "both"
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedylog_assert "Verify files include attribute in tar archive and restore with " \
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy "tar should succeed."
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedylog_onexit cleanup
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyset -A BEFORE_FCKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyset -A BEFORE_ACKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyset -A AFTER_FCKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyset -A AFTER_ACKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyfor user in root $ZFS_ACL_STAFF1; do
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must set_cur_usr $user
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must create_files $TESTDIR
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy #
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy # Enter into initial directory and record all files cksum,
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy # then pax all the files to $TMP_DIR/files.pax.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy #
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy paxout=$TMP_DIR/files.tar
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy cd $INI_DIR
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must cksum_files $INI_DIR BEFORE_FCKSUM BEFORE_ACKSUM
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy log_must eval "usr_exec pax -w -x ustar -@ -f $paxout *>/dev/null 2>&1"
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy #
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy # Enter into test directory and pax $TMP_DIR/files.tar to current
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy # directory. Record all directory information and compare with initial
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy # directory record.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy #
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy cd $TST_DIR
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy log_must eval "usr_exec pax -r -x ustar -@ -f $paxout > /dev/null 2>&1"
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must cksum_files $TST_DIR AFTER_FCKSUM AFTER_ACKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must compare_cksum BEFORE_FCKSUM AFTER_FCKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must compare_cksum BEFORE_ACKSUM AFTER_ACKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy log_must usr_exec rm -rf *
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy log_must usr_exec tar xf@ $paxout
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must cksum_files $TST_DIR AFTER_FCKSUM AFTER_ACKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must compare_cksum BEFORE_FCKSUM AFTER_FCKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must compare_cksum BEFORE_ACKSUM AFTER_ACKSUM
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy log_must cleanup
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedydone
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedylog_pass "Files 'pax tar' archive and restre with 'pax tar' passed."