Rolling back r5906 due to a build failure.


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5910 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/core/client/impl/AsyncFragmentLoader.java b/user/src/com/google/gwt/core/client/impl/AsyncFragmentLoader.java
index fb03197..056cf51 100644
--- a/user/src/com/google/gwt/core/client/impl/AsyncFragmentLoader.java
+++ b/user/src/com/google/gwt/core/client/impl/AsyncFragmentLoader.java
@@ -101,7 +101,7 @@
 
     private static final String LEFTOVERS_DOWNLOAD = "leftoversDownload";
 
-    private static String downloadGroupForExclusive(int splitPoint) {
+    private static String downloadGroup(int splitPoint) {
       return "download" + splitPoint;
     }
   }
@@ -445,7 +445,8 @@
        * The initial fragments has loaded. Immediately start loading the
        * requested code.
        */
-      logDownloadStart(splitPoint);
+      logEventProgress(LwmLabels.downloadGroup(splitPoint), LwmLabels.BEGIN,
+          splitPoint, null);
       startLoadingFragment(splitPoint, loadErrorHandler);
       return;
     }
@@ -487,11 +488,6 @@
     logEventProgress(eventGroup, type, null, null);
   }
 
-  private String downloadGroup(int fragment) {
-    return (fragment == leftoversFragment()) ? LwmLabels.LEFTOVERS_DOWNLOAD
-        : LwmLabels.downloadGroupForExclusive(fragment);
-  }
-
   /**
    * Return whether all initial fragments have completed loading.
    */
@@ -516,10 +512,6 @@
     return numEntries;
   }
 
-  private void logDownloadStart(int fragment) {
-    logEventProgress(downloadGroup(fragment), LwmLabels.BEGIN, fragment, null);
-  }
-
   /**
    * Log event progress via the {@link Logger} this instance was provided. The
    * <code>fragment</code> and <code>size</code> objects are allowed to be
@@ -531,7 +523,8 @@
   }
 
   private void logFragmentLoaded(int fragment) {
-    String logGroup = downloadGroup(fragment);
+    String logGroup = (fragment == leftoversFragment())
+        ? LwmLabels.LEFTOVERS_DOWNLOAD : LwmLabels.downloadGroup(fragment);
     logEventProgress(logGroup, LwmLabels.END, fragment, null);
   }
 
@@ -570,7 +563,8 @@
       // start loading the next initial fragment
       initialFragmentsLoading = true;
       int nextSplitPoint = remainingInitialFragments.peek();
-      logDownloadStart(nextSplitPoint);
+      logEventProgress(LwmLabels.downloadGroup(nextSplitPoint),
+          LwmLabels.BEGIN, nextSplitPoint, null);
       startLoadingFragment(nextSplitPoint, new InitialFragmentDownloadFailed());
       return;
     }
@@ -582,10 +576,8 @@
     // start loading any pending fragments
     assert (waitingForInitialFragments.size() == waitingForInitialFragmentsErrorHandlers.size());
     while (waitingForInitialFragments.size() > 0) {
-      int nextSplitPoint = waitingForInitialFragments.remove();
-      LoadErrorHandler handler = waitingForInitialFragmentsErrorHandlers.remove();
-      logDownloadStart(nextSplitPoint);
-      startLoadingFragment(nextSplitPoint, handler);
+      startLoadingFragment(waitingForInitialFragments.remove(),
+          waitingForInitialFragmentsErrorHandlers.remove());
     }
   }
 }
diff --git a/user/test/com/google/gwt/core/client/impl/AsyncFragmentLoaderTest.java b/user/test/com/google/gwt/core/client/impl/AsyncFragmentLoaderTest.java
index 28cba81..7e237e7 100644
--- a/user/test/com/google/gwt/core/client/impl/AsyncFragmentLoaderTest.java
+++ b/user/test/com/google/gwt/core/client/impl/AsyncFragmentLoaderTest.java
@@ -26,7 +26,6 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
-import java.util.Queue;
 
 /** Tests the fragment loader. */
 public class AsyncFragmentLoaderTest extends TestCase {
@@ -98,79 +97,36 @@
     }
   }
 
-  private static class MockProgressEvent {
-    public final String eventGroup;
-    public final Integer fragment;
-    public final String type;
-
-    public MockProgressEvent(String eventGroup, String type, Integer fragment) {
-      this.eventGroup = eventGroup;
-      this.type = type;
-      this.fragment = fragment;
-    }
-  }
-
-  private static class MockProgressLogger implements Logger {
-    private Queue<MockProgressEvent> events = new LinkedList<MockProgressEvent>();
-
-    public void assertEvent(String eventGroup, String type, Integer fragment) {
-      MockProgressEvent event = events.remove();
-      assertEquals(eventGroup, event.eventGroup);
-      assertEquals(type, event.type);
-      assertEquals(fragment, event.fragment);
-    }
-
-    public void assertNoEvents() {
-      assertTrue("Expected no more progress events, but there are "
-          + events.size(), events.size() == 0);
-    }
-
-    public void logEventProgress(String eventGroup, String type,
-        Integer fragment, Integer size) {
-      events.add(new MockProgressEvent(eventGroup, type, fragment));
-    }
-  }
-
-  private static final String BEGIN = "begin";
-  private static final String END = "end";
-  private static final String LEFTOVERS_DOWNLOAD = "leftoversDownload";
-
   private static final LoadErrorHandler NULL_ERROR_HANDLER = new LoadErrorHandler() {
     public void loadFailed(Throwable reason) {
     }
   };
 
+  private static final Logger NULL_LOGGER = new Logger() {
+    public void logEventProgress(String eventGroup, String type,
+        Integer fragment, Integer size) {
+    }
+  };
+
   private static Throwable makeLoadFailedException() {
     return new RuntimeException("Load Failed");
   }
 
   public void testBasics() {
     MockLoadStrategy reqs = new MockLoadStrategy();
-    MockProgressLogger progress = new MockProgressLogger();
     int numEntries = 5;
     AsyncFragmentLoader loader = new AsyncFragmentLoader(numEntries,
-        new int[] {}, reqs, progress);
+        new int[] {}, reqs, NULL_LOGGER);
 
     loader.inject(1, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(numEntries);
-    progress.assertEvent(LEFTOVERS_DOWNLOAD, BEGIN, numEntries);
-
     loader.leftoversFragmentHasLoaded();
     reqs.assertFragmentsRequested(1);
-    progress.assertEvent(LEFTOVERS_DOWNLOAD, END, numEntries);
-    progress.assertEvent("download1", BEGIN, 1);
-
     loader.fragmentHasLoaded(1);
-    progress.assertEvent("download1", END, 1);
 
     loader.inject(2, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(2);
-    progress.assertEvent("download2", BEGIN, 2);
-
     loader.fragmentHasLoaded(2);
-    progress.assertEvent("download2", END, 2);
-
-    progress.assertNoEvents();
   }
 
   /**
@@ -178,16 +134,14 @@
    */
   public void testDownloadFailures() {
     MockLoadStrategy reqs = new MockLoadStrategy();
-    MockProgressLogger progress = new MockProgressLogger();
     int numEntries = 6;
     AsyncFragmentLoader loader = new AsyncFragmentLoader(numEntries, new int[] {
-        1, 2, 3}, reqs, progress);
+        1, 2, 3}, reqs, NULL_LOGGER);
 
     // request fragment 1
     MockErrorHandler error1try1 = new MockErrorHandler();
     loader.inject(1, error1try1);
     reqs.assertFragmentsRequested(1);
-    progress.assertEvent("download1", BEGIN, 1);
 
     // fragment 1 fails
     loadFailed(reqs, 1);
@@ -197,42 +151,34 @@
     MockErrorHandler error1try2 = new MockErrorHandler();
     loader.inject(1, error1try2);
     reqs.assertFragmentsRequested(1);
-    progress.assertEvent("download1", BEGIN, 1);
 
     // this time fragment 1 succeeds
     loader.fragmentHasLoaded(1);
     reqs.assertFragmentsRequested();
     assertFalse(error1try2.getWasCalled());
-    progress.assertEvent("download1", END, 1);
 
     // request a later initial fragment (3), and see what happens if an
     // intermediate download fails
     MockErrorHandler error3try1 = new MockErrorHandler();
     loader.inject(3, error3try1);
     reqs.assertFragmentsRequested(2);
-    progress.assertEvent("download2", BEGIN, 2);
 
     loadFailed(reqs, 2);
     assertTrue(error3try1.wasCalled);
 
-    // request both 3 and 5, and see what happens if
+    // request both 3 and 5, an see what happens if
     // the leftovers download fails
     MockErrorHandler error3try2 = new MockErrorHandler();
     MockErrorHandler error5try1 = new MockErrorHandler();
     loader.inject(3, error3try2);
     loader.inject(5, error5try1);
     reqs.assertFragmentsRequested(2);
-    progress.assertEvent("download2", BEGIN, 2);
 
     loader.fragmentHasLoaded(2);
     reqs.assertFragmentsRequested(3);
-    progress.assertEvent("download2", END, 2);
-    progress.assertEvent("download3", BEGIN, 3);
 
     loader.fragmentHasLoaded(3);
     reqs.assertFragmentsRequested(numEntries);
-    progress.assertEvent("download3", END, 3);
-    progress.assertEvent(LEFTOVERS_DOWNLOAD, BEGIN, numEntries);
 
     loadFailed(reqs, numEntries); // leftovers fails!
     assertFalse(error3try2.getWasCalled()); // 3 should have succeeded
@@ -243,19 +189,13 @@
     MockErrorHandler error5try2 = new MockErrorHandler();
     loader.inject(5, error5try2);
     reqs.assertFragmentsRequested(numEntries);
-    progress.assertEvent(LEFTOVERS_DOWNLOAD, BEGIN, numEntries);
 
     loader.leftoversFragmentHasLoaded();
     reqs.assertFragmentsRequested(5);
-    progress.assertEvent(LEFTOVERS_DOWNLOAD, END, numEntries);
-    progress.assertEvent("download5", BEGIN, 5);
 
     loader.fragmentHasLoaded(5);
     reqs.assertFragmentsRequested();
     assertFalse(error5try2.getWasCalled());
-    progress.assertEvent("download5", END, 5);
-
-    progress.assertNoEvents();
   }
 
   /**
@@ -264,51 +204,38 @@
    */
   public void testLoadingPartOfInitialSequence() {
     MockLoadStrategy reqs = new MockLoadStrategy();
-    MockProgressLogger progress = new MockProgressLogger();
     int numEntries = 6;
     AsyncFragmentLoader loader = new AsyncFragmentLoader(numEntries, new int[] {
-        1, 2, 3}, reqs, progress);
+        1, 2, 3}, reqs, NULL_LOGGER);
 
     loader.inject(1, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(1);
-    progress.assertEvent("download1", BEGIN, 1);
 
     loader.fragmentHasLoaded(1);
     reqs.assertFragmentsRequested(); // should stop
-    progress.assertEvent("download1", END, 1);
 
     loader.inject(2, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(2);
-    progress.assertEvent("download2", BEGIN, 2);
 
     loader.fragmentHasLoaded(2);
     reqs.assertFragmentsRequested(); // again, should stop
-    progress.assertEvent("download2", END, 2);
 
     loader.inject(3, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(3);
-    progress.assertEvent("download3", BEGIN, 3);
 
     loader.fragmentHasLoaded(3);
-    // last initial, so it should now request the leftovers
-    reqs.assertFragmentsRequested(numEntries);
-    progress.assertEvent("download3", END, 3);
-    progress.assertEvent(LEFTOVERS_DOWNLOAD, BEGIN, numEntries);
+    reqs.assertFragmentsRequested(numEntries); // last initial, so it should
+    // request the leftovers
 
     loader.fragmentHasLoaded(numEntries);
     reqs.assertFragmentsRequested();
-    progress.assertEvent(LEFTOVERS_DOWNLOAD, END, numEntries);
 
     // check that exclusives now load
     loader.inject(5, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(5);
-    progress.assertEvent("download5", BEGIN, 5);
 
     loader.fragmentHasLoaded(5);
     reqs.assertFragmentsRequested();
-    progress.assertEvent("download5", END, 5);
-
-    progress.assertNoEvents();
   }
 
   /**
@@ -318,10 +245,9 @@
    */
   public void testOverflowInWaitingForInitialFragments() {
     MockLoadStrategy reqs = new MockLoadStrategy();
-    MockProgressLogger progress = new MockProgressLogger();
     int numEntries = 6;
     AsyncFragmentLoader loader = new AsyncFragmentLoader(numEntries, new int[] {
-        1, 2, 3}, reqs, progress);
+        1, 2, 3}, reqs, NULL_LOGGER);
 
     /*
      * Repeatedly queue up extra downloads waiting on an initial and then fail.
@@ -330,11 +256,9 @@
       MockErrorHandler error = new MockErrorHandler();
       loader.inject(4, error);
       reqs.assertFragmentsRequested(1);
-      progress.assertEvent("download1", BEGIN, 1);
 
       loadFailed(reqs, 1);
       assertTrue(error.getWasCalled());
-      progress.assertNoEvents();
     }
   }
 
@@ -343,58 +267,40 @@
    */
   public void testWithInitialLoadSequence() {
     MockLoadStrategy reqs = new MockLoadStrategy();
-    MockProgressLogger progress = new MockProgressLogger();
     int numEntries = 6;
     AsyncFragmentLoader loader = new AsyncFragmentLoader(numEntries, new int[] {
-        1, 2, 3}, reqs, progress);
+        1, 2, 3}, reqs, NULL_LOGGER);
 
     loader.inject(1, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(1);
-    progress.assertEvent("download1", BEGIN, 1);
 
     loader.inject(3, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(); // still waiting on fragment 1
-    progress.assertNoEvents();
 
     loader.inject(5, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(); // still waiting on fragment 1
-    progress.assertNoEvents();
 
     // say that 1 loads, which should trigger a chain of backlogged downloads
     loader.fragmentHasLoaded(1);
     reqs.assertFragmentsRequested(2); // next initial
-    progress.assertEvent("download1", END, 1);
-    progress.assertEvent("download2", BEGIN, 2);
 
     loader.fragmentHasLoaded(2);
     reqs.assertFragmentsRequested(3); // next initial
-    progress.assertEvent("download2", END, 2);
-    progress.assertEvent("download3", BEGIN, 3);
 
     loader.fragmentHasLoaded(3);
     reqs.assertFragmentsRequested(numEntries); // leftovers
-    progress.assertEvent("download3", END, 3);
-    progress.assertEvent("leftoversDownload", BEGIN, numEntries);
 
     loader.leftoversFragmentHasLoaded();
     reqs.assertFragmentsRequested(5);
-    progress.assertEvent("leftoversDownload", END, numEntries);
-    progress.assertEvent("download5", BEGIN, 5);
 
     loader.fragmentHasLoaded(5);
     reqs.assertFragmentsRequested(); // quiescent
-    progress.assertEvent("download5", END, 5);
-    progress.assertNoEvents();
 
     // check that new exclusive fragment requests work
     loader.inject(4, NULL_ERROR_HANDLER);
     reqs.assertFragmentsRequested(4);
-    progress.assertEvent("download4", BEGIN, 4);
-
     loader.fragmentHasLoaded(4);
     reqs.assertFragmentsRequested();
-    progress.assertEvent("download4", END, 4);
-    progress.assertNoEvents();
   }
 
   private void loadFailed(MockLoadStrategy reqs, int fragment) {
diff --git a/user/test/com/google/gwt/dev/jjs/CompilerSuite.java b/user/test/com/google/gwt/dev/jjs/CompilerSuite.java
index 3cba452..6396c90 100644
--- a/user/test/com/google/gwt/dev/jjs/CompilerSuite.java
+++ b/user/test/com/google/gwt/dev/jjs/CompilerSuite.java
@@ -42,7 +42,6 @@
 import com.google.gwt.dev.jjs.test.NativeLongTest;
 import com.google.gwt.dev.jjs.test.ObjectIdentityTest;
 import com.google.gwt.dev.jjs.test.RunAsyncFailureTest;
-import com.google.gwt.dev.jjs.test.RunAsyncMetricsIntegrationTest;
 import com.google.gwt.dev.jjs.test.RunAsyncTest;
 import com.google.gwt.dev.jjs.test.SingleJsoImplTest;
 import com.google.gwt.dev.jjs.test.UnstableGeneratorTest;
@@ -87,7 +86,6 @@
     suite.addTestSuite(NativeLongTest.class);
     suite.addTestSuite(ObjectIdentityTest.class);
     suite.addTestSuite(RunAsyncFailureTest.class);
-    suite.addTestSuite(RunAsyncMetricsIntegrationTest.class);
     suite.addTestSuite(RunAsyncTest.class);
     suite.addTestSuite(ScriptOnlyTest.class);
     suite.addTestSuite(SingleJsoImplTest.class);
diff --git a/user/test/com/google/gwt/dev/jjs/RunAsyncMetricsIntegrationTest.gwt.xml b/user/test/com/google/gwt/dev/jjs/RunAsyncMetricsIntegrationTest.gwt.xml
deleted file mode 100644
index 40549d0..0000000
--- a/user/test/com/google/gwt/dev/jjs/RunAsyncMetricsIntegrationTest.gwt.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<!--                                                                        -->
-<!-- Copyright 2009 Google Inc.                                             -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); you    -->
-<!-- may not use this file except in compliance with the License. You may   -->
-<!-- may obtain a copy of the License at                                    -->
-<!--                                                                        -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0                             -->
-<!--                                                                        -->
-<!-- Unless required by applicable law or agreed to in writing, software    -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS,      -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or        -->
-<!-- implied. License for the specific language governing permissions and   -->
-<!-- limitations under the License.                                         -->
-
-<module>
-    <inherits name="com.google.gwt.dev.jjs.CompilerSuite"/>
-</module>
diff --git a/user/test/com/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest.java b/user/test/com/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest.java
deleted file mode 100644
index 0d946ab..0000000
--- a/user/test/com/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright 2009 Google Inc.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev.jjs.test;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.core.client.RunAsyncCallback;
-import com.google.gwt.junit.client.GWTTestCase;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DeferredCommand;
-
-import java.util.LinkedList;
-import java.util.Queue;
-
-/**
- * A simple test that the
- * {@link GWT#runAsync(com.google.gwt.core.client.RunAsyncCallback) runAsync}
- * lightweight metrics make it all the way out to the JavaScript LWM system. A
- * number of more detailed tests are in
- * {@link com.google.gwt.core.client.impl.AsyncFragmentLoaderTest}.
- */
-public class RunAsyncMetricsIntegrationTest extends GWTTestCase {
-  private static final class LightweightMetricsEvent extends JavaScriptObject {
-    protected LightweightMetricsEvent() {
-    }
-
-    public native String getEvtGroup() /*-{
-      return this.evtGroup;
-    }-*/;
-
-    public native int getFragment() /*-{
-      return this.fragment;
-    }-*/;
-
-    public native int getMillis() /*-{
-      return this.millis;
-    }-*/;
-
-    public native String getModuleName() /*-{
-      return this.moduleName;
-    }-*/;
-
-    public native int getSize() /*-{
-      return this.size;
-    }-*/;
-
-    public native String getSubSystem() /*-{
-      return this.subSystem;
-    }-*/;
-
-    public native String getType() /*-{
-      return this.type;
-    }-*/;
-  }
-
-  private static class LightweightMetricsObserver {
-    public final Queue<LightweightMetricsEvent> events = new LinkedList<LightweightMetricsEvent>();
-    @SuppressWarnings("unused")
-    private JavaScriptObject previousObserver;
-
-    /**
-     * Install this observer and start watching events.
-     */
-    public native void install() /*-{
-      var self = this;
-      this.@com.google.gwt.dev.jjs.test.RunAsyncMetricsIntegrationTest.LightweightMetricsObserver::previousObserver
-        = $stats;
-      $stats = function(evt) {
-        self.@com.google.gwt.dev.jjs.test.RunAsyncMetricsIntegrationTest.LightweightMetricsObserver::recordEvent(Lcom/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest$LightweightMetricsEvent;)(evt);
-      }
-    }-*/;
-
-    /**
-     * No more to do; uninstall this observer.
-     */
-    public native void uninstall() /*-{
-      $stats = this.@com.google.gwt.dev.jjs.test.RunAsyncMetricsIntegrationTest.LightweightMetricsObserver::previousObserver
-    }-*/;
-
-    @SuppressWarnings("unused")
-    private void recordEvent(LightweightMetricsEvent event) {
-      if (event.getSubSystem().equals("runAsync")) {
-        events.add(event);
-      }
-    }
-  }
-
-  private static final int TIMEOUT = 10000;
-
-  private final LightweightMetricsObserver lwmObserver = new LightweightMetricsObserver();
-
-  @Override
-  public String getModuleName() {
-    return "com.google.gwt.dev.jjs.RunAsyncMetricsIntegrationTest";
-  }
-
-  @Override
-  public void gwtSetUp() {
-    lwmObserver.events.clear();
-    lwmObserver.install();
-  }
-
-  @Override
-  public void gwtTearDown() {
-    lwmObserver.uninstall();
-  }
-
-  public void testMetricsSignalled() {
-    if (!GWT.isScript()) {
-      // There are no runAsync lightweight metrics in hosted mode
-      return;
-    }
-    delayTestFinish(TIMEOUT);
-    GWT.runAsync(new RunAsyncCallback() {
-      public void onFailure(Throwable reason) {
-        fail();
-      }
-
-      public void onSuccess() {
-        DeferredCommand.addCommand(new Command() {
-
-          public void execute() {
-            checkMetrics();
-            finishTest();
-          }
-
-        });
-      }
-    });
-  }
-
-  /**
-   * This should be called after a runAsync has been called and completed. It
-   * checks that all lightweight metrics have occurred and are well formatted.
-   */
-  private void checkMetrics() {
-    int lastMillis;
-
-    {
-      LightweightMetricsEvent event = lwmObserver.events.remove();
-      assertEquals(getJunitModuleName(), event.getModuleName());
-      assertEquals("leftoversDownload", event.getEvtGroup());
-      assertEquals("begin", event.getType());
-      assertEquals(2, event.getFragment());
-      assertTrue(event.getMillis() != 0);
-      lastMillis = event.getMillis();
-    }
-    {
-      LightweightMetricsEvent event = lwmObserver.events.remove();
-      assertEquals(getJunitModuleName(), event.getModuleName());
-      assertEquals("leftoversDownload", event.getEvtGroup());
-      assertEquals("end", event.getType());
-      assertEquals(2, event.getFragment());
-      assertTrue(event.getMillis() >= lastMillis);
-      lastMillis = event.getMillis();
-    }
-    {
-      LightweightMetricsEvent event = lwmObserver.events.remove();
-      assertEquals(getJunitModuleName(), event.getModuleName());
-      assertEquals("download1", event.getEvtGroup());
-      assertEquals("begin", event.getType());
-      assertEquals(1, event.getFragment());
-      assertTrue(event.getMillis() >= lastMillis);
-      lastMillis = event.getMillis();
-    }
-    {
-      LightweightMetricsEvent event = lwmObserver.events.remove();
-      assertEquals(getJunitModuleName(), event.getModuleName());
-      assertEquals("download1", event.getEvtGroup());
-      assertEquals("end", event.getType());
-      assertEquals(1, event.getFragment());
-      assertTrue(event.getMillis() >= lastMillis);
-      lastMillis = event.getMillis();
-    }
-    {
-      LightweightMetricsEvent event = lwmObserver.events.remove();
-      assertEquals(getJunitModuleName(), event.getModuleName());
-      assertEquals("runCallbacks1", event.getEvtGroup());
-      assertEquals("begin", event.getType());
-      assertTrue(event.getMillis() >= lastMillis);
-      lastMillis = event.getMillis();
-    }
-    {
-      LightweightMetricsEvent event = lwmObserver.events.remove();
-      assertEquals(getJunitModuleName(), event.getModuleName());
-      assertEquals("runCallbacks1", event.getEvtGroup());
-      assertEquals("end", event.getType());
-      assertTrue(event.getMillis() >= lastMillis);
-      lastMillis = event.getMillis();
-    }
-
-    assertTrue(lwmObserver.events.isEmpty());
-  }
-
-  private String getJunitModuleName() {
-    return getModuleName() + ".JUnit";
-  }
-}