hush/testsuite/printf.tests

34 lines
661 B
Bash
Executable File

#!/bin/sh
set -e
. testing.sh
# Need this in order to not execute shell builtin
bb="busybox "
# testing "test name" "command" "expected result" "file input" "stdin"
testing "printf produce no further output 1" \
"${bb}printf '\c' foo" \
"" \
"" ""
testing "printf produce no further output 2" \
"${bb}printf '%s\c' foo \$HOME" \
"foo" \
"" ""
testing "printf repeatedly use pattern for each argv" \
"${bb}printf '%s\n' foo \$HOME" \
"foo\n$HOME\n" \
"" ""
# Why ()s are necessary I have no idea...
testing "printf aborts on bare %" \
"(${bb}printf '%' a b c) 2>&1; echo \$?" \
"printf: invalid directive '%'\n""1\n" \
"" ""
exit $FAILCOUNT