d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov#! /usr/bin/ksh -p
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov#
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov#
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# This file and its contents are supplied under the terms of the
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# Common Development and Distribution License ("CDDL"), version 1.0.
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# You may only use this file in accordance with the terms of version
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# 1.0 of the CDDL.
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov#
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# A full copy of the text of the CDDL should have accompanied this
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# source. A copy of the CDDL is also available via the Internet at
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# http://www.illumos.org/license/CDDL.
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov#
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov#
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov#
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy#
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy# Copyright (c) 2016 by Delphix. All rights reserved.
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy#
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov. $STF_SUITE/tests/functional/casenorm/casenorm.kshlib
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# DESCRIPTION:
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# Check that we can create FS with all supported normalization forms.
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov#
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# STRATEGY:
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# 1. Create FS with all supported normalization forms.
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# 2. Check that utf8only is set on except for normalization=none.
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# 3. Check that it's not possible to create FS with utf8only=off
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov# and normalization other than none.
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankovverify_runnable "global"
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankovfunction cleanup
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov{
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov destroy_testfs
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov}
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankovlog_onexit cleanup
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankovlog_assert "Can create FS with all supported normalization forms"
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankovfor form in none formC formD formKC formKD; do
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov create_testfs "-o normalization=$form"
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov if [[ $form != "none" ]] ; then
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy utf8only=$(zfs get -H -o value utf8only $TESTPOOL/$TESTFS)
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov if [[ $utf8only != "on" ]]; then
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov log_fail "Turning on normalization didn't set " \
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov "utf8only to on"
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov fi
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov fi
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov destroy_testfs
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankovdone
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankovfor form in formC formD formKC formKD; do
1d32ba663e202c24a5a1f2e5aef83fffb447cb7fJohn Wren Kennedy log_mustnot zfs create -o utf8only=off -o normalization=$form \
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov $TESTPOOL/$TESTFS
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov destroy_testfs
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankovdone
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankov
d7e7cb9c207e40874f6a4b61ca8ea1526b5555bdYuri Pankovlog_pass "Can create FS with all supported normalization forms"