mirror of
https://github.com/radareorg/sdb.git
synced 2026-11-07 06:36:02 -10:00
36 lines
713 B
Bash
Executable File
36 lines
713 B
Bash
Executable File
#!/bin/sh
|
|
. ./sdb-test.sh
|
|
set -eu
|
|
|
|
check() {
|
|
expected=$1
|
|
input=$2
|
|
shift 2
|
|
output=$(printf '%s' "$input" | "$SDB" "$@") || {
|
|
echo "FAIL: $* returned a failure status" >&2
|
|
exit 1
|
|
}
|
|
if [ "$output" != "$expected" ]; then
|
|
echo "FAIL: unexpected output from $*" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
version=$(sed -n 's/^#define SDB_VERSION "\(.*\)"/sdb \1/p' ../include/sdb/version.h)
|
|
check "$version" '' -v
|
|
check "$version" '' -v -z
|
|
help=$("$SDB" -h)
|
|
[ "$(printf '%s\n' "$help" | grep -c '^usage:')" -eq 1 ]
|
|
check 'aGVsbG8=' 'hello' -e
|
|
check 'hello' 'aGVsbG8=' -d
|
|
check '{
|
|
"a": 1
|
|
}' '{"a":1}' -j
|
|
|
|
for flag in -z -g -D -c; do
|
|
if "$SDB" "$flag" >/dev/null 2>&1; then
|
|
echo "FAIL: $flag should fail" >&2
|
|
exit 1
|
|
fi
|
|
done
|