From 258835fb4cd7338f9a0f9a758860cf1a368987dc Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 21 Jul 2018 22:15:29 +0300 Subject: Implement manifest parsing/serialization --- tests/manifest-serializer/driver.in | 2 - tests/manifest-serializer/testscript | 108 +++++++++++++++++++++++++++-------- 2 files changed, 85 insertions(+), 25 deletions(-) (limited to 'tests/manifest-serializer') 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 -$* <>EOO +: stdout +{ + $* <>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 +{ + $* <=file; + + 1 + + name + foo + + version + 1.2.3 + EOI + + cat file >>EOE + : 1 + name: foo + version: 1.2.3 + EOE +} + +: list +{ + $* <>EOO + + 1 + + name + foo + + + 1 + + version + 1.2.3 + EOI + : 1 + name: foo + : + version: 1.2.3 + EOO +} + +: version +: +{ + : absent + : + $* <'stdout: error: format version pair expected' != 0 + name + foo + EOI +} + +: empty +: +{ + $* <:'' >:'' +} -- cgit v1.1