Chromium Code Reviews| Index: components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java |
| diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java b/components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java |
| index ebcc33c838e53cb854a334aab1d96b0d5bc900c0..340d5906514a198574a4fb617adcb973fca7946e 100644 |
| --- a/components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java |
| +++ b/components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java |
| @@ -49,7 +49,6 @@ public class MetricsTestUtil { |
| public static class TestRequestFinishedListener extends RequestFinishedInfo.Listener { |
| private RequestFinishedInfo mRequestInfo; |
| private ConditionVariable mBlock; |
| - private int mNumExpectedRequests = -1; |
| // TODO(mgersh): it's weird that you can use either this constructor or blockUntilDone() but |
| // not both. Either clean it up or document why it has to work this way. |
| @@ -57,15 +56,8 @@ public class MetricsTestUtil { |
| super(executor); |
| } |
| - public TestRequestFinishedListener(int numExpectedRequests) { |
| - super(Executors.newSingleThreadExecutor()); |
| - mNumExpectedRequests = numExpectedRequests; |
| - mBlock = new ConditionVariable(); |
| - } |
| - |
| public TestRequestFinishedListener() { |
| super(Executors.newSingleThreadExecutor()); |
| - mNumExpectedRequests = 1; |
| mBlock = new ConditionVariable(); |
| } |
| @@ -78,10 +70,7 @@ public class MetricsTestUtil { |
| assertNull("onRequestFinished called repeatedly", mRequestInfo); |
| assertNotNull(requestInfo); |
| mRequestInfo = requestInfo; |
| - mNumExpectedRequests--; |
| - if (mNumExpectedRequests == 0) { |
| - mBlock.open(); |
| - } |
| + mBlock.open(); |
| } |
| public void blockUntilDone() { |
| @@ -90,11 +79,18 @@ public class MetricsTestUtil { |
| public void reset() { |
| mBlock.close(); |
| - mNumExpectedRequests = 1; |
| mRequestInfo = null; |
| } |
| } |
| + // Helper method to assert date2 is equals to or after date1. |
| + // Some implementation of java.util.Date broke asymmetric property, so |
|
mgersh
2016/10/06 14:44:09
Huh, weird. I'm curious where?
nit: "asymmetric p
xunjieli
2016/10/06 16:14:21
Done. ah, you are right!
http://stackoverflow.com
xunjieli
2016/10/06 16:16:17
s/paranoia/paranoid
|
| + // check both directions. |
| + public static void assertAfter(Date date1, Date date2) { |
|
mgersh
2016/10/06 14:44:09
Thanks for adding this. There are a few places in
xunjieli
2016/10/06 16:14:21
Acknowledged. I will leave it to you then. My brai
|
| + assertTrue("date1: " + date1.getTime() + ", date2: " + date2.getTime(), |
| + date1.after(date2) || date1.equals(date2) || date2.equals(date1)); |
| + } |
| + |
| /** |
| * Check existence of all the timing metrics that apply to most test requests, |
| * except those that come from net::LoadTimingInfo::ConnectTiming. |
| @@ -105,18 +101,15 @@ public class MetricsTestUtil { |
| public static void checkTimingMetrics( |
| RequestFinishedInfo.Metrics metrics, Date startTime, Date endTime) { |
| assertNotNull(metrics.getRequestStart()); |
| - assertTrue(metrics.getRequestStart().after(startTime) |
| - || metrics.getRequestStart().equals(startTime)); |
| + assertAfter(metrics.getRequestStart(), startTime); |
| assertNotNull(metrics.getSendingStart()); |
| - assertTrue(metrics.getSendingStart().after(startTime) |
| - || metrics.getSendingStart().equals(startTime)); |
| + assertAfter(metrics.getSendingStart(), startTime); |
| assertNotNull(metrics.getSendingEnd()); |
| assertTrue(metrics.getSendingEnd().before(endTime)); |
| assertNotNull(metrics.getResponseStart()); |
| assertTrue(metrics.getResponseStart().after(startTime)); |
| assertNotNull(metrics.getResponseEnd()); |
| - assertTrue(metrics.getResponseEnd().before(endTime) |
| - || metrics.getResponseEnd().equals(endTime)); |
| + assertAfter(endTime, metrics.getResponseEnd()); |
| // Entire request should take more than 0 ms |
| assertTrue(metrics.getResponseEnd().getTime() - metrics.getRequestStart().getTime() > 0); |
| } |
| @@ -128,19 +121,16 @@ public class MetricsTestUtil { |
| public static void checkHasConnectTiming( |
| RequestFinishedInfo.Metrics metrics, Date startTime, Date endTime, boolean isSsl) { |
| assertNotNull(metrics.getDnsStart()); |
| - assertTrue( |
| - metrics.getDnsStart().after(startTime) || metrics.getDnsStart().equals(startTime)); |
| + assertAfter(metrics.getDnsStart(), startTime); |
| assertNotNull(metrics.getDnsEnd()); |
| assertTrue(metrics.getDnsEnd().before(endTime)); |
| assertNotNull(metrics.getConnectStart()); |
| - assertTrue(metrics.getConnectStart().after(startTime) |
| - || metrics.getConnectStart().equals(startTime)); |
| + assertAfter(metrics.getConnectStart(), startTime); |
| assertNotNull(metrics.getConnectEnd()); |
| assertTrue(metrics.getConnectEnd().before(endTime)); |
| if (isSsl) { |
| assertNotNull(metrics.getSslStart()); |
| - assertTrue(metrics.getSslStart().after(startTime) |
| - || metrics.getSslStart().equals(startTime)); |
| + assertAfter(metrics.getSslStart(), startTime); |
| assertNotNull(metrics.getSslEnd()); |
| assertTrue(metrics.getSslEnd().before(endTime)); |
| } else { |