diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2018-07-21 22:15:29 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2018-07-27 14:30:27 +0300 |
commit | 258835fb4cd7338f9a0f9a758860cf1a368987dc (patch) | |
tree | 5ce1b92d1efb927c9428bf441d55031191326da3 /tests | |
parent | f23282939c77bd1973457569aa3e002fef0559e3 (diff) |
Implement manifest parsing/serialization
Diffstat (limited to 'tests')
-rw-r--r-- | tests/manifest-parser/testscript | 107 | ||||
-rw-r--r-- | tests/manifest-serializer/driver.in | 2 | ||||
-rw-r--r-- | tests/manifest-serializer/testscript | 108 |
3 files changed, 177 insertions, 40 deletions
diff --git a/tests/manifest-parser/testscript b/tests/manifest-parser/testscript index 154b107..78f4160 100644 --- a/tests/manifest-parser/testscript +++ b/tests/manifest-parser/testscript @@ -2,24 +2,101 @@ # copyright : Copyright (c) 2014-2018 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file -$* >>EOO -1 +: stdin +: +{ + $* <<EOI >>EOO + : 1 + name: foo + version: 1.2.3 + description: \ + foo + executable + \ + depends: libfoo + depends: libbar + EOI + 1 -name -foo + name + foo -version -1.2.3 + version + 1.2.3 -description -foo -executable + description + foo + executable -depends -libfoo + depends + libfoo -depends -libbar -EOO + depends + libbar + EOO +} -#@@ TODO: test reading from file instead of stdin. +: file +: +{ + cat <<EOI >=file; + : 1 + name: foo + version: 1.2.3 + EOI + + $* file >>EOO + 1 + + name + foo + + version + 1.2.3 + EOO +} + +: list +: +{ + $* <<EOI >>EOO + : 1 + name: foo + : + version: 1.2.3 + EOI + 1 + + name + foo + 1 + + version + 1.2.3 + EOO +} + +: version +: +{ + : absent + : + $* <<EOI 2>'stdin:1:1: error: format version pair expected' != 0 + name: foo + EOI + + : unsupported + : + $* <<EOI >- 2>'stdin:3:3: error: unsupported format version 2' != 0 + : 1 + name: foo + : 2 + version: 1.2.3 + EOI +} + +: empty +: +{ + $* <:'' >:'' +} diff --git a/tests/manifest-serializer/driver.in b/tests/manifest-serializer/driver.in index 9e619e5..4ee31a7 100644 --- a/tests/manifest-serializer/driver.in +++ b/tests/manifest-serializer/driver.in @@ -14,7 +14,6 @@ butl_manifest_serializer_start "$@" fd="$butl_manifest_serializer_ifd" while read -r n; do - printf "%s:" "$n" >&"$fd" f=true @@ -31,7 +30,6 @@ while read -r n; do printf "%s" "$v" >&"$fd" fi done - done butl_manifest_serializer_finish diff --git a/tests/manifest-serializer/testscript b/tests/manifest-serializer/testscript index af96cc0..f305342 100644 --- a/tests/manifest-serializer/testscript +++ b/tests/manifest-serializer/testscript @@ -2,34 +2,96 @@ # copyright : Copyright (c) 2014-2018 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file -$* <<EOI >>EOO +: stdout +{ + $* <<EOI >>EOO -1 + 1 -name -foo + name + foo -version -1.2.3 + version + 1.2.3 -description -foo -executable + description + foo + executable -depends -libfoo + depends + libfoo -depends -libbar + depends + libbar -EOI -: 1 -name: foo -version: 1.2.3 -description: foo -executable -depends: libfoo -depends: libbar -EOO + EOI + : 1 + name: foo + version: 1.2.3 + description: \ + foo + executable + \ + depends: libfoo + depends: libbar + EOO +} -#@@ TODO: test writing to file instead of stdout. +: file +{ + $* <<EOI >=file; + + 1 + + name + foo + + version + 1.2.3 + EOI + + cat file >>EOE + : 1 + name: foo + version: 1.2.3 + EOE +} + +: list +{ + $* <<EOI >>EOO + + 1 + + name + foo + + + 1 + + version + 1.2.3 + EOI + : 1 + name: foo + : + version: 1.2.3 + EOO +} + +: version +: +{ + : absent + : + $* <<EOI 2>'stdout: error: format version pair expected' != 0 + name + foo + EOI +} + +: empty +: +{ + $* <:'' >:'' +} |