Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Unified Diff: components/cronet/android/test/javatests/src/org/chromium/net/MetricsTestUtil.java

Issue 2360813003: [Cronet] Pass metrics information from C++ BidirectionalStream to Java (Closed)
Patch Set: self review Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 {
« no previous file with comments | « components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698