NOTE regression tests for the ksh dbm plugin
UNIT ksh
TEST '--read, --write'
EXEC -c 'builtin -f dbm dbm_open dbm_get dbm_set dbm_close
set \
aaa 111 \
bbb 222 \
ccc 333 \
ppp 444 \
qqq 555 \
rrr 666 \
xxx 777 \
yyy 888 \
zzz 999
dbm_open --write tst.dbm
while (( $# >= 2 ))
do dbm_set "$1" "$2"
shift 2
done
dbm_close
'
EXEC -c 'builtin -f dbm dbm_open dbm_get dbm_set dbm_close
dbm_open --read tst.dbm
set -s -- $(
while :
do key=$(dbm_get)
[[ $key ]] || break
print -r -- "$key"
done
)
print -r "$@"
dbm_close
'
EXEC -c 'builtin -f dbm dbm_open dbm_get dbm_set dbm_close
dbm_open --read tst.dbm
set -s -- $(
while :
do key=$(dbm_get)
[[ $key ]] || break
print -r -- "$key"
done
)
for key
do print -r -- "$key=$(dbm_get "$key")"
done
dbm_close
'
EXEC -c 'builtin -f dbm dbm_open dbm_get dbm_set dbm_close
dbm_open --read --write tst.dbm
set -s -- $(
while :
do key=$(dbm_get)
[[ $key ]] || break
print -r -- "$key"
done
)
for key
do dbm_set "$key" "$(( $(dbm_get "$key") + 1000 ))"
done
for key
do print -r -- "$key=$(dbm_get "$key")"
done
dbm_close
'