OSDN Git Service

ConnectivityServiceTest: fix testAvoidBadWifiSettings
authorHugo Benichi <hugobenichi@google.com>
Tue, 15 Nov 2016 04:42:34 +0000 (13:42 +0900)
committerHugo Benichi <hugobenichi@google.com>
Wed, 23 Nov 2016 09:29:52 +0000 (18:29 +0900)
commit99c8294ef0c7a720364abb5884063e0a9d1bb5fe
tree93c9a8af8f860dae51cbef4faae4efb94b441418
parent38be57b438a0c1754091f045317db2049304e16f
ConnectivityServiceTest: fix testAvoidBadWifiSettings

This patch introduces an assertEventuallyThat helper function in
ConnectivityServiceTest which given a boolean function retries until the
function returns true or until a maximum retry time is reached.

This function is used to fix flakyness of testAvoidBadWifiSetting where
the Message posted by reevaluate() could reach the Handler's
MessageQueue after waitForIdle takes effect, resulting in the test to
fail.

Instead of fixing the flakyness by introdcing hard sleep times,
assertEventuallyThat is used to reduce the overall test time.

With this change the test has been observed to pass with 100% success
rate over 50000 invocations.

Test: $ runtest frameworks-net
Bug: 32561414
Change-Id: Ib20f4656620b119456c2cb1c709a7fe8195fe44d
tests/net/java/com/android/server/ConnectivityServiceTest.java