Re: [PATCH kvm-unit-tests v2 02/12] run_tests: prepare for changes in scripts/mkstandalone

Radim Krčmář
2015-12-18T10:49:11Z

2015-12-17 12:53-0600, Andrew Jones:
> On Thu, Dec 17, 2015 at 06:53:33PM +0100, Radim Krčmář wrote:
>> mkstandalone has a different mechanism for running tests as well as a
>> different handling of output and return codes.
>> - create two shell function to capture test execution and logging
>> - return the return value of unit-test
>> - cope with empty $verbose in `run`
>>
>> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
>> ---
>> v2: new (reused the bitshift and comment from v1)
>>
>> diff --git a/run_tests.sh b/run_tests.sh
>> - cmdline="TESTNAME=$testname ACCEL=$accel ./$TEST_DIR-run $kernel -smp $smp $opts"
>> - if [ $verbose != 0 ]; then
>> + cmdline="TESTNAME=$testname ACCEL=$accel __run $kernel -smp $smp $opts"
>> + if [ "$verbose" -a "$verbose" != 0 ]; then
>
> For bash bools I prefer just doing 'if [ "$verbose" = "yes" ]', allowing it
> to be empty.

Yeah, I guess it's a bit better.
(I prefer just [ "$verbose" ].)

>> # extra_params in the config file may contain backticks that need to be
>> # expanded, so use eval to start qemu
>> - eval $cmdline >> test.log
>> + __eval_log "$cmdline"
>> + # The first bit of return value is too hard to use, just skip it.
>> + # Unit-tests' return value is shifted by one.
>> + ret=$(($? >> 1))
>
> I just wrote a patch, inspired by reviewing your v1 of this series, that
> tackles the ambiguous exit code problem. I'll post it now, but obviously
> we'll need to rebase one or the other of our run_tests.sh series'.

Nice, I'll review it later today (I'll travel for most of the afternoon).