tree 8a8eac0e9bfc4e2a64de1496bdd1fdb68b7bcb92
parent 83f9672fc2b5462bc6a1c3dcf9b82d1326163987
author Brett Johnson <Brett.Michael.Johnson@gmail.com> 1396379381 -0700
committer Brett Johnson <Brett.Michael.Johnson@gmail.com> 1396386616 -0700

Fix Flakey Unit Tests

This change restores two unit tests that failed regularly
when run under Windows.  Both of these tests time how long
it takes to shutdown either the Application or the Service,
and in both cases it took slightly longer than expected.

I believe the timing constraints were too tight, especially
for ShutdownWaiterTest.testShutdownFullWait(), which told
the waiter to wait 50 milliseconds for the shutdown to
complete and complained if it took more than 58 milliseconds.
This could be an issue if shutdown took many seconds, minutes,
or forever, but taking 10 or 20 milliseconds longer to shutdown
should not really be considered a problem.

Before I disabled the test, shutdown was taking slightly more
than 58 milliseconds most of the time, with an occasional breach
of 60 milliseconds when run on my Windows VM.  I bumped the
ceiling to 65 ms and could easily be convinced that 75 or 100 ms
would be acceptable.  I also replaced instances of "Mu" with
"microseconds" in the error messages, since the character did
not display correctly in the windows shell.

The second flakey test, ApplicationTest.testFastShutdownWhenStarting(),
I was unable to get it to fail again in 100 attempts.  I even
ran 2 instances of the Connector Manager coverage tests at the same
time, each of which pegs the CPUs.  I thought I would overheat the
machine with all 4 cores pegged for nearly an hour.  Therefore,
I restored the test unchanged.  If it starts failing again, we
should address it then.

Code Review: http://codereview.appspot.com/83000045
