A milestone - the first TESTFRAME capture

Hal Murray hmurray at megapathdsl.net
Wed Dec 9 11:52:35 UTC 2015


esr at thyrsus.com said:
> Once I get replay working, I'll try omitting the trip through the intercept
> layer for random() calls I'm not interested in and see if that preserves
> reproducibility.  I think it might.

I think ntp_gettime may be the only case.  The reason it works there is that 
ntp_gettime is simple.  It doesn't call out to anyplace else in ntpd so it 
can't change internal state.

If you come across another example, please let me know.

Another way to look at things is that intercepting ntp_gettime is wrong.  You 
aren't checking the code in ntp_gettime.  You should be intercepting the 
kernel calls to get the time.

I think you said you weren't planning to intercept the main select, but 
replace it with a dispatcher to work off the replay log file.  That will have 
the same problem.  You won't be testing the select and dispatch logic.

----------

This is going to be an interesting adventure.

The reason that your test methodology works so well in GPSD is that there is 
no internal state.  There is a one-to-one mapping from input to output.

I wonder what fraction of the changes we will be making to NTP will show up 
in the output of ntpd and break a test.

-- 
These are my opinions.  I hate spam.





More information about the devel mailing list