From 790e9669d6d2f7b0f202be8299671a200bbb621f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Thu, 6 Feb 2003 00:30:41 +0100 Subject: [PATCH] (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 --- testsuite/sexp-conv-test | 34 ++++++++++++++++++++++++---------- 1 file 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)' -- GitLab