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