1*d7e7cb9cSYuri Pankov#! /usr/bin/ksh -p 2*d7e7cb9cSYuri Pankov# 3*d7e7cb9cSYuri Pankov# 4*d7e7cb9cSYuri Pankov# This file and its contents are supplied under the terms of the 5*d7e7cb9cSYuri Pankov# Common Development and Distribution License ("CDDL"), version 1.0. 6*d7e7cb9cSYuri Pankov# You may only use this file in accordance with the terms of version 7*d7e7cb9cSYuri Pankov# 1.0 of the CDDL. 8*d7e7cb9cSYuri Pankov# 9*d7e7cb9cSYuri Pankov# A full copy of the text of the CDDL should have accompanied this 10*d7e7cb9cSYuri Pankov# source. A copy of the CDDL is also available via the Internet at 11*d7e7cb9cSYuri Pankov# http://www.illumos.org/license/CDDL. 12*d7e7cb9cSYuri Pankov# 13*d7e7cb9cSYuri Pankov 14*d7e7cb9cSYuri Pankov# 15*d7e7cb9cSYuri Pankov# Copyright 2015 Nexenta Systems, Inc. All rights reserved. 16*d7e7cb9cSYuri Pankov# 17*d7e7cb9cSYuri Pankov 18*d7e7cb9cSYuri Pankov. $STF_SUITE/tests/functional/casenorm/casenorm.kshlib 19*d7e7cb9cSYuri Pankov 20*d7e7cb9cSYuri Pankov# DESCRIPTION: 21*d7e7cb9cSYuri Pankov# For the filesystem with casesensitivity=sensitive, normalization=none, 22*d7e7cb9cSYuri Pankov# check that lookup succeeds only if (case=same and norm=same). 23*d7e7cb9cSYuri Pankov# 24*d7e7cb9cSYuri Pankov# STRATEGY: 25*d7e7cb9cSYuri Pankov# For each c/n name form: 26*d7e7cb9cSYuri Pankov# 1. Create file with given c/n name form. 27*d7e7cb9cSYuri Pankov# 2. Check that lookup fails for all other c/n name forms. 28*d7e7cb9cSYuri Pankov 29*d7e7cb9cSYuri Pankovverify_runnable "global" 30*d7e7cb9cSYuri Pankov 31*d7e7cb9cSYuri Pankovfunction cleanup 32*d7e7cb9cSYuri Pankov{ 33*d7e7cb9cSYuri Pankov destroy_testfs 34*d7e7cb9cSYuri Pankov} 35*d7e7cb9cSYuri Pankov 36*d7e7cb9cSYuri Pankovlog_onexit cleanup 37*d7e7cb9cSYuri Pankovlog_assert "CS-not-UN FS: lookup succeeds only if using exact name form" 38*d7e7cb9cSYuri Pankov 39*d7e7cb9cSYuri Pankovcreate_testfs "-o casesensitivity=sensitive -o normalization=none" 40*d7e7cb9cSYuri Pankov 41*d7e7cb9cSYuri Pankovfor name1 in $NAMES_ALL; do 42*d7e7cb9cSYuri Pankov for name2 in $NAMES_ALL; do 43*d7e7cb9cSYuri Pankov log_must create_file $name1 44*d7e7cb9cSYuri Pankov if [[ $name2 != $name1 ]]; then 45*d7e7cb9cSYuri Pankov log_mustnot lookup_file $name2 46*d7e7cb9cSYuri Pankov fi 47*d7e7cb9cSYuri Pankov delete_file $name1 48*d7e7cb9cSYuri Pankov done 49*d7e7cb9cSYuri Pankovdone 50*d7e7cb9cSYuri Pankov 51*d7e7cb9cSYuri Pankovdestroy_testfs 52*d7e7cb9cSYuri Pankov 53*d7e7cb9cSYuri Pankovlog_pass "CS-not-UN FS: lookup succeeds only if using exact name form" 54