diff options
Diffstat (limited to 'tests/manifest-parser/driver')
-rwxr-xr-x | tests/manifest-parser/driver | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/manifest-parser/driver b/tests/manifest-parser/driver new file mode 100755 index 0000000..4cbea3e --- /dev/null +++ b/tests/manifest-parser/driver @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +function import () +{ + # Here we don't assume the errors are trapped. If all goes well, our exit + # code is that of source (which fails if the file is not found). + # + local e; if ! e="$(realpath ${BASH_SOURCE[0]})"; then return 1; fi + local d; if ! d="$(dirname "$e")"; then return 1; fi + source "$d/$1.bash" +} + +trap "{ exit 1; }" ERR +set -o errtrace # Trap ERR in functions. + +import libbutl/manifest-parser + +# @@ parse_manifest failure ignored +# +# @@ what would be equivalent serialization interface? Just serialize one +# name/value in manifest format (so explicit version). +# +while IFS=': ' read -r -d '' n v; do + if [ -z "$n" ]; then + echo "$v" + else + echo # Extra newline after first pair. + echo "$n" + echo "$v" + fi +done < <(parse_manifest) |