A shell script test case
Garrett Cooper
yanegomi at gmail.com
Thu Mar 6 15:51:49 UTC 2014
On Mar 5, 2014, at 4:33 AM, Peter Holm <peter at holm.cc> wrote:
> I tried my hand with a test scenario for a current FreeBSD VM problem:
> At first I did not understand what I did wrong when I got:
>
> $ kyua test vm_pageout_test
> vm_pageout_test:__test_cases_list__ -> broken: Tester did not exit
> cleanly: kyua-atf-tester: Test program list did not return success
> [0.000s]
>
> 0/1 passed (1 failed)
> Committed action 15
> $
>
> but I figured it out.
>
> Now to the real question: Are regression tests like this one really
> ATF material? I would think that the long runtime could be prohibitive?
You should set the timeout variable to something other than 300 if it will take longer to execute (from atf-test-case(4)):
timeout Type: integral. Optional; defaults to `300'.
Specifies the maximum amount of time the test case can
run. This is particularly useful because some tests
can stall either because they are incorrectly coded or
because they trigger an anomalous behavior of the pro-
gram. It is not acceptable for these tests to stall
the whole execution of the test program.
Can optionally be set to zero, in which case the test
case has no run-time limit. This is discouraged.
> $ kyua debug vm_pageout_test:basic
> FAIL
> UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
> 0 662 1 0 52 0 10268 0 pause IWs - 0:00.00 nfsuserd: master (nfsuserd)
> 25 845 1 0 20 0 12796 0 pause IWs - 0:00.00 sendmail: Queue runner at 00:30:00 for /var/spool/clientmqueue (sendmail)
> 0 850 1 0 20 0 10024 0 nanslp SWs - 0:00.00 /usr/sbin/cron -s
> 1001 4069 4068 0 20 0 11808 0 wait IWs 0 0:00.00 -bash (bash)
> 0 4115 4069 0 20 0 10496 0 wait IW 0 0:00.00 su
> 0 4116 4115 0 23 0 10772 0 pause IW 0 0:00.00 _su (csh)
> 1001 4354 4353 0 20 0 11808 0 wait IWs 1 0:00.00 -bash (bash)
> 0 4416 4354 0 20 0 10496 0 wait IW 1 0:00.00 su
> 0 4417 4416 0 23 0 10772 0 pause IW 1 0:00.00 _su (csh)
> 0 4419 4417 0 20 0 11808 0 wait IW 1 0:00.00 bash
> 0 6838 4419 0 52 0 13412 0 wait IW+ 1 0:00.00 kyua debug vm_pageout_test:basic
> 0 6857 6838 0 52 0 9900 0 wait IW 1 0:00.00 /usr/local/libexec/kyua-atf-tester -t1200 test -vhas.cleanup=false -vunprivileged-user=tests /usr/tests/sys/vm/vm_pageout_test basi
> vm_pageout_test:basic -> failed: Failed
> $ kyua test vm_pageout_test
> vm_pageout_test:basic -> failed: Failed [367.941s]
Why this took 67 seconds (367 total) to fail beyond the standard timeout (300) is a bit puzzling/concerning. I expect there to be an additional 1-5 seconds of needed cleanup, but 67 seems a bit high...
Thanks!
-Garrett
More information about the freebsd-testing
mailing list