Mercurial > hg > toybox
view tests/echo.test @ 1563:3d32f9523584 draft
Fix "tail -c 10" segfault spotted by Lukasz Szpakowski.
Once we've read through the initial TT.bytes backlog we discard the extra data,
meaning we adjust the remaining amount each time so the overflow is zero bytes.
We were doing the adjustment right, but not zeroing out the overflow counter
after we did so.
author | Rob Landley <rob@landley.net> |
---|---|
date | Wed, 19 Nov 2014 14:29:53 -0600 |
parents | 8700cbe1cb29 |
children |
line wrap: on
line source
#!/bin/bash [ -f testing.sh ] && . testing.sh # This one's tricky both because echo is a shell builtin (so $PATH is # irrelevant) and because the "result" field is parsed with echo -e. # To make it work, "$CMD" is an explicit path to the command being tested, # so "result" keeps using the shell builtin but we test the one in toybox. CMD="$(which echo)" #testing "name" "command" "result" "infile" "stdin" testing "echo" "$CMD && echo yes" "\nyes\n" "" "" testing "echo 1 2 3" "$CMD one two three" "one two three\n" "" "" testing "echo with spaces" "$CMD 'one two three'" \ "one two three\n" "" "" testing "echo -n" "$CMD -n" "" "" "" testing "echo -n one" "$CMD -n one" "one" "" "" testing "echo one -n" "$CMD one -n" "one -n\n" "" "" testing "echo -en" "$CMD -en 'one\ntwo'" "one\ntwo" "" "" testing "echo --hello" "$CMD --hello" "--hello\n" "" "" testing "echo -e all" "$CMD -e '\a\b\c\f\n\r\t\v\\\0123'" \ "\a\b\c\f\n\r\t\v\\\0123\n" "" "" testing "echo -nex hello" "$CMD -nex hello" "-nex hello\n" "" "" # Octal formatting tests testing "echo -e octal values" \ "$CMD -ne '\01234 \0060 \060 \0130\0131\0132 \077\012'" \ "S4 0 0 XYZ ?\n" "" "" # Hexadecimal value tests testing "echo -e hexadecimal values" \ "$CMD -ne '\x534 \x30 \x58\x59\x5a \x3F\x0A'"\ "S4 0 XYZ ?\n" "" "" testing "echo -e \p" "$CMD -e '\\p'" "\\p\n" "" ""