xref: /illumos-gate/usr/src/test/zfs-tests/tests/functional/channel_program/synctask_core/tst.get_type.ksh (revision bf5d9f18edeb77c14df996d367853599bdd43fd1)
1#!/bin/ksh -p
2#
3# This file and its contents are supplied under the terms of the
4# Common Development and Distribution License ("CDDL"), version 1.0.
5# You may only use this file in accordance with the terms of version
6# 1.0 of the CDDL.
7#
8# A full copy of the text of the CDDL should have accompanied this
9# source.  A copy of the CDDL is also available via the Internet at
10# http://www.illumos.org/license/CDDL.
11#
12
13#
14# Copyright (c) 2016 by Delphix. All rights reserved.
15#
16
17. $STF_SUITE/tests/functional/channel_program/channel_common.kshlib
18. $STF_SUITE/tests/functional/zvol/zvol_common.shlib
19
20#
21# DESCRIPTION:
22#       Getting type should work correctly.
23#
24
25verify_runnable "global"
26fs=$TESTPOOL/$TESTFS/testchild
27snap=$fs@$TESTSNAP
28vol=$TESTPOOL/$TESTVOL
29function cleanup
30{
31	datasetexists $snap && log_must zfs destroy $snap
32	datasetexists $fs && log_must zfs destroy $fs
33	datasetexists $vol && log_must zfs destroy $vol
34}
35
36log_onexit cleanup
37
38log_must zfs create $fs
39create_snapshot $fs $TESTSNAP
40log_must zfs create -V $VOLSIZE $vol
41
42log_must_program $TESTPOOL - <<-EOF
43	ans, setpoint = zfs.get_prop("$fs", "type")
44	assert(ans == "filesystem")
45
46	ans, setpoint = zfs.get_prop("$snap", "type")
47	assert(ans == "snapshot")
48
49	ans, setpoint = zfs.get_prop("$vol", "type")
50	assert(ans == "volume")
51EOF
52
53
54log_pass "Getting type should work correctly."
55