xref: /illumos-gate/usr/src/test/util-tests/tests/awk/tests/T.delete (revision 37e2cd25d56b334a2403f2540a0b0a1e6a40bcd1)
1#!/bin/bash
2
3if [[ -z "$AWK" || -z "$WORKDIR" ]]; then
4    printf '$AWK and $WORKDIR must be set\n' >&2
5    exit 1
6fi
7
8TEMP0=$WORKDIR/test.temp.0
9TEMP1=$WORKDIR/test.temp.1
10TEMP2=$WORKDIR/test.temp.2
11
12RESULT=0
13
14fail() {
15	echo "$1" >&2
16	RESULT=1
17}
18
19echo T.delete: misc tests of array deletion
20
21echo '1 2 3 4
221 2 3
231
24' > $TEMP0
25echo '4 3 0
263 2 0
271 0 0
280 0 0' > $TEMP2
29$AWK '
30{	n = split($0, x)
31	delete x[1]
32	n1 = 0;	for (i in x) n1++
33	delete x;
34	n2 = 0; for (i in x) n2++
35	print n, n1, n2
36}' $TEMP0 > $TEMP1
37diff $TEMP1 $TEMP2 || fail 'BAD: T.delete (1)'
38
39exit $RESULT
40