8600 ZFS channel programs - snapshot
[unleashed.git] / usr / src / test / zfs-tests / tests / functional / channel_program / lua_core / tst.return_large.ksh
blob369ad846a026d927244eef739b4e6110d73e2b73
1 #!/bin/ksh -p
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.
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.
14 # Copyright (c) 2016, 2017 by Delphix. All rights reserved.
17 . $STF_SUITE/tests/functional/channel_program/channel_common.kshlib
20 # DESCRIPTION: Returning very large (up to the memory limit) lists should
21 # function correctly.
24 verify_runnable "global"
26 fs=$TESTPOOL/$TESTFS/testchild
28 function cleanup
30 datasetexists $fs && log_must zfs destroy -R $fs
33 log_onexit cleanup
35 log_must zfs create $fs
38 # Actually checking in the ~500kb expected result of this program would be
39 # awful, so we just make sure it was as long as we expected.
41 output_lines=$(log_must zfs program $TESTPOOL \
42 $ZCP_ROOT/lua_core/tst.return_large.zcp | wc -l)
44 [[ $output_lines -lt 5000 ]] &&
45 log_fail "Expected return of full list but only got $output_lines lines"
48 # Make sure we fail if the return is over the memory limit
50 log_mustnot_program $TESTPOOL -m 10000 \
51 $ZCP_ROOT/lua_core/tst.return_large.zcp
53 log_pass "Large return values work properly"