| #!/bin/ksh -p |
| # |
| # |
| # This file and its contents are supplied under the terms of the |
| # Common Development and Distribution License ("CDDL"), version 1.0. |
| # You may only use this file in accordance with the terms of version |
| # 1.0 of the CDDL. |
| # |
| # A full copy of the text of the CDDL should have accompanied this |
| # source. A copy of the CDDL is also available via the Internet at |
| # http://www.illumos.org/license/CDDL. |
| # |
| |
| # |
| # Copyright 2015 Nexenta Systems, Inc. All rights reserved. |
| # |
| |
| . $STF_SUITE/tests/functional/casenorm/casenorm.kshlib |
| |
| # DESCRIPTION: |
| # For the filesystem with casesensitivity=sensitive, normalization=none, |
| # check that delete succeeds only if (case=same and norm=same). |
| # |
| # STRATEGY: |
| # For each c/n name form: |
| # 1. Create file in given c/n name form. |
| # 2. Check that delete fails for all other name forms. |
| # 3. Check that delete succeeds if (case=same and norm=same). |
| # 4. Check that file is no longer accessible by any name form. |
| |
| verify_runnable "global" |
| |
| function cleanup |
| { |
| destroy_testfs |
| } |
| |
| log_onexit cleanup |
| log_assert "CS-not-UN FS: delete succeeds only if using exact name form" |
| |
| create_testfs "-o casesensitivity=sensitive -o normalization=none" |
| |
| for name1 in $NAMES_ALL ; do |
| log_must create_file $name1 |
| for name2 in $NAMES_ALL ; do |
| if [[ $name2 != $name1 ]] ; then |
| log_mustnot delete_file $name2 |
| fi |
| done |
| delete_file $name1 |
| log_mustnot lookup_any |
| done |
| |
| destroy_testfs |
| |
| log_pass "CS-not-UN FS: delete succeeds only if using exact name form" |