Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/tests/syscall
In article <20110521083602.GA24777%NetBSD.org@localhost>,
Julio Merino <jmmv%NetBSD.org@localhost> wrote:
>On Wed, May 18, 2011 at 12:30:24PM +0000, Christos Zoulas wrote:
>> In article <4DD39547.9010707%julipedia.org@localhost>,
>> Julio Merino <jmmv%julipedia.org@localhost> wrote:
>> >On 5/18/11 4:15 AM, Christos Zoulas wrote:
>> >> Module Name: src
>> >> Committed By: christos
>> >> Date: Wed May 18 03:15:12 UTC 2011
>> >>
>> >> Modified Files:
>> >> src/tests/syscall: t_pselect.c
>> >>
>> >> Log Message:
>> >> Don't depend on the atf timeout stuff, do it ourselves.
>> >
>> >Why? Could atf do something better here?
>>
>> 1. It did not work. What units is the timeout anyway? I waited 2 seconds
>> and 2 minutes and it did not fire.
>
>It's in seconds. The default is 300.
I think the unit is too long for modern hardware. Imaging having 300 tests
needing 1 second timeouts.
>
>You can override the timeout by setting the 'timeout' metadata property
>to a different value.
>
>> 2. I need to do some cleanup if there is a timeout (kill the stuck process).
>> How do I register a cleanup function?
>
>Use ATF_TC_WITH_CLEANUP and then provide an ATF_TC_CLEANUP function for
>your test case. Be aware that cleanup runs in a different process than
>the body, so the only way to transfer state is through a file in the
>current directory.
>
>> 3. No matter how the timeout is done (unless you start a watcher process and
>> kill -KILL the test process) it can break (masking signal mask, changing
>> timers, catching signal).
>
>The timeout is enforced from atf-run, not from inside the test case; it is
>already using a helper process in a sense, so it should work. If it doesn't,
>it is a bug that I'd like to debug.
Revert the latest revision in the test and boot a kernel before the pselect
changes, and see it getting stuck.
christos
Home |
Main Index |
Thread Index |
Old Index