# HG changeset patch # User Rob Landley # Date 1420578411 21600 # Node ID d27136a0811b374cf9be96336677e1648f889f40 # Parent 35c035b7e3e0e86c235070e1e19eaafa153957c1 Since "printf" is a shell builtin, printf.test wasn't actually testing anything. diff -r 35c035b7e3e0 -r d27136a0811b tests/printf.test --- a/tests/printf.test Tue Jan 06 12:07:20 2015 -0600 +++ b/tests/printf.test Tue Jan 06 15:06:51 2015 -0600 @@ -7,35 +7,42 @@ #testing "name" "command" "result" "infile" "stdin" -testing "" "printf TEXT" "TEXT" "" "" -testing "printf escapes" "printf 'one\ntwo\n\v\t\r\f\e\b\athree'" \ +# Disable shell builtin +PRINTF="$(which printf)" + +testing "printf text" "$PRINTF TEXT" "TEXT" "" "" +testing "printf escapes" "$PRINTF 'one\ntwo\n\v\t\r\f\e\b\athree'" \ "one\ntwo\n\v\t\r\f\e\b\athree" "" "" -testing "printf %b escapes" "printf %b 'one\ntwo\n\v\t\r\f\e\b\athree'" \ +testing "printf %b escapes" "$PRINTF %b 'one\ntwo\n\v\t\r\f\e\b\athree'" \ "one\ntwo\n\v\t\r\f\e\b\athree" "" "" -testing "printf null" "printf 'x\0y' | od -An -tx1" ' 78 00 79\n' "" "" -testing "printf trailing slash" "printf 'abc\'" 'abc\' "" "" -testing "printf octal" "printf ' \1\002\429\045x'" ' \001\002"9%x' "" "" -testing "printf not octal" "printf '\9'" '\9' "" "" -testing "printf hex" "printf 'A\x1b\x2B\x3Q\xa' | od -An -tx1" \ +testing "printf null" "$PRINTF 'x\0y' | od -An -tx1" ' 78 00 79\n' "" "" +testing "printf trailing slash" "$PRINTF 'abc\'" 'abc\' "" "" +testing "printf octal" "$PRINTF ' \1\002\429\045x'" ' \001\002"9%x' "" "" +testing "printf not octal" "$PRINTF '\9'" '\9' "" "" +testing "printf hex" "$PRINTF 'A\x1b\x2B\x3Q\xa' | od -An -tx1" \ ' 41 1b 2b 03 51 0a\n' "" "" -testing "" "printf '%x\\n' 0x2a" "2a\n" "" "" +testing "printf " "$PRINTF '%x\n' 0x2a" "2a\n" "" "" -testing "" "printf %d 42" "42" "" "" -testing "" "printf %d 0x2a" "42" "" "" -testing "" "printf %d 052" "42" "" "" +testing "printf %d 42" "$PRINTF %d 42" "42" "" "" +testing "printf %d 0x2a" "$PRINTF %d 0x2a" "42" "" "" +testing "printf %d 052" "$PRINTF %d 052" "42" "" "" + +testing "printf %s width precision" \ + "$PRINTF '%3s,%.3s,%10s,%10.3s' abcde fghij klmno pqrst" \ + "abcde,fgh, klmno, pqr" "" "" testing "printf '%5d%4d' 1 21 321 4321 54321" \ - "printf '%5d%4d' 1 21 321 4321 54321" " 1 21 321432154321 0" "" "" -testing "printf '%c %c' 78 79" "printf '%c %c' 78 79" "7 7" "" "" -testing "printf '%d %d' 78 79" "printf '%d %d' 78 79" "78 79" "" "" -testing "printf '%f %f' 78 79" "printf '%f %f' 78 79" \ + "$PRINTF '%5d%4d' 1 21 321 4321 54321" " 1 21 321432154321 0" "" "" +testing "printf '%c %c' 78 79" "$PRINTF '%c %c' 78 79" "7 7" "" "" +testing "printf '%d %d' 78 79" "$PRINTF '%d %d' 78 79" "78 79" "" "" +testing "printf '%f %f' 78 79" "$PRINTF '%f %f' 78 79" \ "78.000000 79.000000" "" "" -testing "printf 'f f' 78 79" "printf 'f f' 78 79" "f f" "" "" -testing "printf '%i %i' 78 79" "printf '%i %i' 78 79" "78 79" "" "" -testing "printf '%o %o' 78 79" "printf '%o %o' 78 79" "116 117" "" "" -testing "printf '%u %u' 78 79" "printf '%u %u' 78 79" "78 79" "" "" -testing "printf '%u %u' -1 -2" "printf '%u %u' -1 -2" \ +testing "printf 'f f' 78 79" "$PRINTF 'f f' 78 79" "f f" "" "" +testing "printf '%i %i' 78 79" "$PRINTF '%i %i' 78 79" "78 79" "" "" +testing "printf '%o %o' 78 79" "$PRINTF '%o %o' 78 79" "116 117" "" "" +testing "printf '%u %u' 78 79" "$PRINTF '%u %u' 78 79" "78 79" "" "" +testing "printf '%u %u' -1 -2" "$PRINTF '%u %u' -1 -2" \ "18446744073709551615 18446744073709551614" "" "" -testing "printf '%x %X' 78 79" "printf '%x %X' 78 79" "4e 4F" "" "" -testing "printf '%g %G' 78 79" "printf '%g %G' 78 79" "78 79" "" "" -testing "printf '%s %s' 78 79" "printf '%s %s' 78 79" "78 79" "" "" +testing "printf '%x %X' 78 79" "$PRINTF '%x %X' 78 79" "4e 4F" "" "" +testing "printf '%g %G' 78 79" "$PRINTF '%g %G' 78 79" "78 79" "" "" +testing "printf '%s %s' 78 79" "$PRINTF '%s %s' 78 79" "78 79" "" ""