On 03/22/2017 03:11 PM, Howard Chu wrote:
A recent 2.4.44 package build failed on a VM due to the following timing dependency between the lockout and expiration tests in test022-ppolicy.
Clocks on VMs are notoriously unstable, which is why we have always used such large margins in these tests. Shaving things down to "1 second more than needed" will probably break in multiple build environments.
Just to make sure we're understanding each other clearly -- are you saying that you've seen VMs where "sleep 10" won't sleep for at *least* 10 actual seconds? I haven't come across this, but if you have, then the adaptive solution where line 91 checks to see how many seconds have elapsed since line 67, and then calculates how much more it needs to sleep (perhaps with some more buffer) could be effective. If that doesn't work, then another thought might be to widen the difference between pwdLockoutDuration and pwdMaxAge to enable greater separation between the two tests, and adjust the script accordingly.
Regards,
-Kartik