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