Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
att
GitHub Repository: att/ast
Path: blob/master/src/cmd/kshlib/dbm_t/dbm_t.rt
1810 views
NOTE regression tests for the ksh dbm_t plugin

UNIT ksh

TEST '--create, --read, --write'

	EXEC -c 'builtin -f dbm_t
		set \
			aaa	111 \
			bbb	222 \
			ccc	333 \
			ppp	444 \
			qqq	555 \
			rrr	666 \
			xxx	777 \
			yyy	888 \
			zzz	999
		Dbm_t --create tst=tst.dbm
		while	(( $# >= 2 ))
		do	tst[$1]=$2
			shift 2
		done
	'

	EXEC -c 'builtin -f dbm_t
		Dbm_t tst=tst.dbm
		set -s -- ${!tst[@]}
		for key
		do	print -r -- "$key=${tst[$key]}"
		done
	'

	EXEC -c 'builtin -f dbm_t
		Dbm_t --write tst=tst.dbm
		set -s -- ${!tst[@]}
		for key
		do	tst[$key]=$(( ${tst[$key]} + 1000 ))
		done
		for key
		do	print -r -- "$key=${tst[$key]}"
		done
	'

TEST '--zero + --create, --read, --write'

	EXEC -c 'builtin -f dbm_t
		set \
			aaa	111 \
			bbb	222 \
			ccc	333 \
			ppp	444 \
			qqq	555 \
			rrr	666 \
			xxx	777 \
			yyy	888 \
			zzz	999
		Dbm_t --create --zero tst=tst.dbm
		while	(( $# >= 2 ))
		do	tst[$1]=$2
			shift 2
		done
	'

	EXEC -c 'builtin -f dbm_t
		Dbm_t tst=tst.dbm
		set -s -- ${!tst[@]}
		for key
		do	print -r -- "$key=${tst[$key]}"
		done
	'

	EXEC -c 'builtin -f dbm_t
		Dbm_t --write tst=tst.dbm
		set -s -- ${!tst[@]}
		for key
		do	tst[$key]=$(( ${tst[$key]} + 1000 ))
		done
		for key
		do	print -r -- "$key=${tst[$key]}"
		done
	'