[LTP] test.sh and ROD redirection
Alexey Kodanev
alexey.kodanev@oracle.com
Mon Jan 25 17:26:54 CET 2016
Hi,
On 01/25/2016 04:45 PM, Cyril Hrubis wrote:
> Hi!
>> Another option would be inventing our special syntax for redirecting for
>> ROD. Use for example % and threat it like > i.e. split $@ on % and
>> redirect the output to whatever is found after % which shouldn't be
>> much more complicated than separating last parameter from $@...
> What about this one:
>
> diff --git a/testcases/lib/test.sh b/testcases/lib/test.sh
> index 074be74..ef2af14 100644
> --- a/testcases/lib/test.sh
> +++ b/testcases/lib/test.sh
> @@ -214,7 +214,29 @@ ROD_SILENT()
>
> ROD()
> {
> - $@
> + local cmd
> + local arg
> + local file
> + local flag
> +
> + for arg; do
> + if [ "$arg" == ">" ]; then
I would change it to
if [ "${arg:0:1}" == ">" ]; then
arg=${arg:1}
in case '\>' is not separated by space.
e.g.:
ROD echo a \>/proc/cpuinfo
> + flag=1
> + continue
May be break here, so we don't need the next if block.
> + fi
> +
> + if [ -n "$flag" ]; then
> + break
> + fi
> + cmd="$cmd $arg"
But what if the rest of args has something else, e.g. 2>&1 ?
> + done
> +
> + if [ -n "$flag" ]; then
> + $cmd > $arg
> + else
> + $@
> + fi
> +
> if [ $? -ne 0 ]; then
> tst_brkm TBROK "$@ failed"
> fi
>
>
> It's called as: 'ROD echo a \> b', the reason for choosing \> is that
> the error message will contain '>' instead of some strange char as %.
>
> I.e. doing 'ROD echo a \> /proc/cpuinfo' yields:
>
> test.sh: line 235: /proc/cpuinfo: Permission denied
> foo 1 TBROK : echo b > /proc/cpuinfo failed
Best regards,
Alexey
More information about the Ltp
mailing list