ARM port of testsuite and general testsuite fixes

David Smith dsmith@redhat.com
Wed Jun 6 19:51:00 GMT 2007


Quentin Barnes wrote:
>> I'll comment on a few test cases that I'm familiar with.
>>
>>> =======
>>> $ egrep '^(FAIL|XPASS)' systemtap.log
>>> FAIL: BASIC2 wasn't cached
>>> FAIL: OPTION2 wasn't cached
>>> FAIL: BULK2 wasn't cached
>>> FAIL: MERGE2 wasn't cached
>>> FAIL: RUNTIME2 wasn't cached
>>> FAIL: BASIC4 wasn't cached
>>
>> Hmm, those are odd.  Those are related to caching problems, which 
>> should be platform agnostic.  Can you send me the full log of the run 
>> of systemtap.base/cache.exp?
> 
> There wasn't that much in the log:

I need the output from systemtap.log, not systemtap.sum.  The former has 
the complete output.

> In hopes of getting more info, I reran it with:
> =====
> # runtest --all --verbose --verbose --tool_opts=install \
>       --tool systemtap --srcdir "/usr/src/systemtap-20070602/testsuite" \
>          systemtap.base/cache.exp
> Running /usr/src/systemtap-20070602/testsuite/systemtap.base/cache.exp ...
> PASS: BASIC1 wasn't cached
> FAIL: BASIC2 wasn't cached
> PASS: OPTION1 wasn't cached
> FAIL: OPTION2 wasn't cached
> PASS: BULK1 wasn't cached
> FAIL: BULK2 wasn't cached
> PASS: MERGE1 wasn't cached
> FAIL: MERGE2 wasn't cached
> ERROR: tcl error sourcing 
> /usr/src/systemtap-20070602/testsuite/systemtap.base/cache.exp.
> ERROR: can't read "env(SYSTEMTAP_RUNTIME)": no such variable
>    while executing
> "exec /bin/ln -s $env(SYSTEMTAP_RUNTIME) $new_runtime"
>    (file 
> "/usr/src/systemtap-20070602/testsuite/systemtap.base/cache.exp" line 105)
>    invoked from within
> "source /usr/src/systemtap-20070602/testsuite/systemtap.base/cache.exp"
>    ("uplevel" body line 1)
>    invoked from within
> "uplevel #0 source 
> /usr/src/systemtap-20070602/testsuite/systemtap.base/cache.exp"
>    invoked from within
> "catch "uplevel #0 source $test_file_name""
> =====
> 
> Grumble.  It looks like this test is expecting to be invoked
> from the Makefile only.  Is this a legal assumption?  There's no
> supported way to run some tests directly outside of the Makefile,
> or is this test busted?

To run this test outside of the makefile, you'd do:

# SYSTEMTAP_RUNTIME=/usr/local/share/systemtap/runtime \
SYSTEMTAP_TAPSET=/usr/local/share/systemtap/tapset \
LD_LIBRARY_PATH=/usr/local/lib/systemtap \
runtest --tool_opts install --tool systemtap \
--srcdir `pwd` systemtap.base/cache.exp

(You might need to customize the above command line for the way you 
compile - the above assumes an install location of /usr/local and that 
you compile in your source directory.)

Most other tests probably wouldn't need the environment variables, but 
this one does.

BTW, the above command line is just running the test the way the 
makefile would - do "make -n installcheck".

>>> FAIL: OVERLOAD2 didn't receive expected overload
>>
>> This one probably needs adjusting for arm.  It expects the background 
>> system processing to cause the systemtap script to overload (since the 
>> overload parameters have been dramatically lowered).
>>
>> Can you send me the full log of the run of systemtap.base/overload.exp?
> 
> There's Martin's note on this that may be the problem, but here is the
> log just in case.  Not much here:

Martin is correct - this is a get_cycles() problem, since the overload 
stuff is based on cycle counts.

-- 
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)



More information about the Systemtap mailing list