1*dfc11533SChris Williamson#!/bin/ksh -p 2*dfc11533SChris Williamson# 3*dfc11533SChris Williamson# This file and its contents are supplied under the terms of the 4*dfc11533SChris Williamson# Common Development and Distribution License ("CDDL"), version 1.0. 5*dfc11533SChris Williamson# You may only use this file in accordance with the terms of version 6*dfc11533SChris Williamson# 1.0 of the CDDL. 7*dfc11533SChris Williamson# 8*dfc11533SChris Williamson# A full copy of the text of the CDDL should have accompanied this 9*dfc11533SChris Williamson# source. A copy of the CDDL is also available via the Internet at 10*dfc11533SChris Williamson# http://www.illumos.org/license/CDDL. 11*dfc11533SChris Williamson# 12*dfc11533SChris Williamson 13*dfc11533SChris Williamson# 14*dfc11533SChris Williamson# Copyright (c) 2016 by Delphix. All rights reserved. 15*dfc11533SChris Williamson# 16*dfc11533SChris Williamson 17*dfc11533SChris Williamsonverify_runnable "global" 18*dfc11533SChris Williamson 19*dfc11533SChris Williamson. $STF_SUITE/tests/functional/channel_program/channel_common.kshlib 20*dfc11533SChris Williamson 21*dfc11533SChris Williamson# 22*dfc11533SChris Williamson# DESCRIPTION: 23*dfc11533SChris Williamson# Try returning various lua values that should be converted 24*dfc11533SChris Williamson# to nvlists. Also, try to pass them to error(). 25*dfc11533SChris Williamson# 26*dfc11533SChris Williamson 27*dfc11533SChris Williamsonverify_runnable "global" 28*dfc11533SChris Williamson 29*dfc11533SChris Williamsonset -A args "" \ 30*dfc11533SChris Williamson "nil" \ 31*dfc11533SChris Williamson "true" \ 32*dfc11533SChris Williamson "1" \ 33*dfc11533SChris Williamson "\"test\"" \ 34*dfc11533SChris Williamson "{}" \ 35*dfc11533SChris Williamson "{val=0}" \ 36*dfc11533SChris Williamson "{{1, {2, 3}, {val1={val2=true}}}, {test=\"yes\"}}" \ 37*dfc11533SChris Williamson "EINVAL" 38*dfc11533SChris Williamson 39*dfc11533SChris Williamsonlog_assert "Returning valid lua constructs works." 40*dfc11533SChris Williamson 41*dfc11533SChris Williamsontypeset -i i=0 42*dfc11533SChris Williamsonwhile (( i < ${#args[*]} )); do 43*dfc11533SChris Williamson log_note "running program: return ${args[i]}" 44*dfc11533SChris Williamson log_must_program $TESTPOOL - <<-EOF 45*dfc11533SChris Williamson return ${args[i]} 46*dfc11533SChris Williamson EOF 47*dfc11533SChris Williamson ((i = i + 1)) 48*dfc11533SChris Williamsondone 49*dfc11533SChris Williamson 50*dfc11533SChris Williamsontypeset -i i=0 51*dfc11533SChris Williamsonwhile (( i < ${#args[*]} )); do 52*dfc11533SChris Williamson log_note "running program: error(${args[i]})" 53*dfc11533SChris Williamson log_mustnot_checkerror_program "in function 'error'" $TESTPOOL - <<-EOF 54*dfc11533SChris Williamson error(${args[i]}) 55*dfc11533SChris Williamson EOF 56*dfc11533SChris Williamson ((i = i + 1)) 57*dfc11533SChris Williamsondone 58*dfc11533SChris Williamson 59*dfc11533SChris Williamsonlog_pass "Returning valid lua constructs works." 60