summaryrefslogtreecommitdiff
path: root/testsuite/sexp-conv-test
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2003-02-06 00:30:41 +0100
committerNiels Möller <nisse@lysator.liu.se>2003-02-06 00:30:41 +0100
commit790e9669d6d2f7b0f202be8299671a200bbb621f (patch)
tree571eb76016d713f2ae7295408c0b5ddca7796a3f /testsuite/sexp-conv-test
parentd3b8fe806c594ab0f7759f53179685469f8dc50c (diff)
downloadnettle-790e9669d6d2f7b0f202be8299671a200bbb621f.tar.gz
(print_raw, print_nl): New functions.
The testfunctions use these instead of using echo directly. Use the test input '3:"\x' instead of '2:"\', to be friendlier to sysv echo. Rev: src/nettle/testsuite/sexp-conv-test:1.6
Diffstat (limited to 'testsuite/sexp-conv-test')
-rwxr-xr-xtestsuite/sexp-conv-test34
1 files changed, 24 insertions, 10 deletions
diff --git a/testsuite/sexp-conv-test b/testsuite/sexp-conv-test
index 06349d42..7d7cc6bc 100755
--- a/testsuite/sexp-conv-test
+++ b/testsuite/sexp-conv-test
@@ -15,14 +15,27 @@ else
exit 1
fi
+# Doesn't work if $1 contains
+print_raw () {
+ echo $n "$1$c" > "$2"
+}
+
+# Using a here-document seems more robust. However, I don't know how
+# to get rid of the final newline, so we can't use it exclusively.
+print_nl () {
+ cat >"$2" <<EOF
+$1
+EOF
+}
+
test_advanced () {
- echo $n "$1$c" > test.in
+ print_raw "$1" test.in
if ../tools/sexp-conv -s advanced <test.in >test1.out ; then
true
else
exit 1
fi
- echo "$2" > test2.out
+ print_nl "$2" test2.out
if cmp test1.out test2.out ; then
true
@@ -32,13 +45,13 @@ test_advanced () {
}
test_advanced_hex () {
- echo $n "$1$c" > test.in
+ print_raw "$1" test.in
if ../tools/sexp-conv -s hex <test.in >test1.out ; then
true
else
exit 1
fi
- echo "$2" > test2.out
+ print_nl "$2" test2.out
if cmp test1.out test2.out ; then
true
@@ -48,13 +61,13 @@ test_advanced_hex () {
}
test_transport () {
- echo $n "$1$c" > test.in
+ print_raw "$1" test.in
if ../tools/sexp-conv -s transport <test.in >test1.out ; then
true
else
exit 1
fi
- echo "$2" > test2.out
+ print_nl "$2" test2.out
if cmp test1.out test2.out ; then
true
@@ -64,13 +77,13 @@ test_transport () {
}
test_canonical () {
- echo $n "$1$c" > test.in
+ print_raw "$1" test.in
if ../tools/sexp-conv -s canonical <test.in >test1.out ; then
true
else
exit 1
fi
- echo $n "$2$c" > test2.out
+ print_raw "$2" test2.out
if cmp test1.out test2.out ; then
true
@@ -86,8 +99,9 @@ test_advanced '10:fooooooooo' 'fooooooooo'
test_advanced '4:3des' '"3des"'
test_advanced '"foo"' 'foo'
test_advanced '4:foo
-' '"foo\n"'
-test_advanced '2:"\' '"\"\\"'
+' '"foo\n"'
+# Having the string end with a \ breaks with sysv echo. \x seems harmless.
+test_advanced '3:"\x' '"\"\\x"'
test_advanced '()' '()'
test_advanced '(foo bar baz)' '(foo bar
baz)'