My first ATF test
Alan Somers
asomers at freebsd.org
Wed Feb 26 04:02:41 UTC 2014
On Tue, Feb 25, 2014 at 11:36 AM, Peter Holm <peter at holm.cc> wrote:
> On Tue, Feb 25, 2014 at 12:12:38PM -0500, Mehmet Erol Sanliturk wrote:
>> On Tue, Feb 25, 2014 at 11:47 AM, Alan Somers <[1]asomers at freebsd.org>
>> wrote:
>>
>> On Tue, Feb 25, 2014 at 9:11 AM, Peter Holm <peter at holm.cc> wrote:
>> > In order to understand how ATF works I wrote a small test so I had
>> > something to work with:
>> > [2]http://people.freebsd.org/~pho/kern_descrip_test.diff
>> > Did I get it right?
>> ATF-wise, it looks good. Â However, it's a bad idea to use random
>> numbers in test code, except in stress tests. Â Random numbers
>> result
>> in irreproducible tests. Â How about replacing the body of
>> dup2_r234131
>> with something like this?
>> Â int fd1, fd2, ret;
>> Â fd1 = Â open("/etc/passwd", O_RDONLY);
>> Â fd2 = INT_MAX;
>> Â ret = dup2(fd1, fd2);
>> Â ATF_CHECK_EQ(-1, ret);
>> Â ATF_CHECK_EQ(EBADF, errno);
>> On a side note, perhaps WARNS should be set in [3]atf.test.mk, so we
>> won't have to set it in every other Makefile.
>> -Alan
>> _______________________________________________
>>
>> When random numbers are used , it is possible to make the runs
>> reproducible in the following way :
>> Generate a specified number of random numbers and store them into a
>> file .
>> During usage , for random numbers , traverse that file .
>> This may be repeated any number of times for different other parameters
>> .
>> All of the runs will use the same random numbers .
>> Then the results ( which they are generated from the same distribution
>> ) may be compared with suitable statistical tests .
>> Thank you very much .
>> Mehmet Erol Sanliturk
>>
>
> I guess I'm too used to using random values in tests :)
> Using random(3) with an initial seed of "1" could have been an
> alternative, but ...
But in this case it's not necessary. This isn't a stress test; it's a
basic functional test. If Peter had been attempting to trigger a race
condition or something like that, then random(3) with a fixed seed
would indeed be appropriate.
-Alan
More information about the freebsd-testing
mailing list