Fix Android peer connection client instrumentation tests.

- Updated Java VideoRenderer removes setSize() from video renderer interface.
Remove no longer valid test, which requires setSize() call before any
frame can be rendered.
- test_runner.py tries to run private member of InstrumentationTestCase class.
Workaround it by renaming private loopback test method.

R=wzh@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47549004

Cr-Commit-Position: refs/heads/master@{#8707}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8707 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/examples/androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java b/talk/examples/androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java
index 5978465..487c031 100644
--- a/talk/examples/androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java
+++ b/talk/examples/androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java
@@ -61,6 +61,8 @@
   private static final String VIDEO_CODEC_H264 = "H264";
   private static final int AUDIO_RUN_TIMEOUT = 1000;
   private static final String DTLS_SRTP_KEY_AGREEMENT_CONSTRAINT = "DtlsSrtpKeyAgreement";
+  private static final String LOCAL_RENDERER_NAME = "Local renderer";
+  private static final String REMOTE_RENDERER_NAME = "Remote renderer";
 
   // The peer connection client is assumed to be thread safe in itself; the
   // reference is written by the test thread and read by worker threads.
@@ -81,43 +83,36 @@
   // Mock renderer implementation.
   private static class MockRenderer implements VideoRenderer.Callbacks {
     // These are protected by 'this' since we gets called from worker threads.
-    private int width = -1;
-    private int height = -1;
+    private String rendererName;
     private boolean renderFrameCalled = false;
-    private boolean setSizeCalledBeforeRenderFrame = false;
 
     // Thread-safe in itself.
     private CountDownLatch doneRendering;
 
-    public MockRenderer(int expectedFrames) {
+    public MockRenderer(int expectedFrames, String rendererName) {
+      this.rendererName = rendererName;
       reset(expectedFrames);
     }
 
     // Resets render to wait for new amount of video frames.
     public synchronized void reset(int expectedFrames) {
+      renderFrameCalled = false;
       doneRendering = new CountDownLatch(expectedFrames);
     }
 
-    private synchronized void setSize(int width, int height) {
-      Log.d(TAG, "Set size: " + width + " x " + height);
-      this.width = width;
-      this.height = height;
-      if (!renderFrameCalled) {
-        setSizeCalledBeforeRenderFrame = true;
-      }
-    }
-
     @Override
     public synchronized void renderFrame(VideoRenderer.I420Frame frame) {
+      if (!renderFrameCalled) {
+        if (rendererName != null) {
+          Log.d(TAG, rendererName + " render frame: " + frame.width + " x " + frame.height);
+        } else {
+          Log.d(TAG, "Render frame: " + frame.width + " x " + frame.height);
+        }
+      }
       renderFrameCalled = true;
       doneRendering.countDown();
     }
 
-    public synchronized int getWidth() { return width; }
-    public synchronized int getHeight() { return height; }
-    public synchronized boolean setSizeCalledBeforeRenderFrame() {
-      return setSizeCalledBeforeRenderFrame;
-    }
 
     // This method shouldn't hold any locks or touch member variables since it
     // blocks.
@@ -288,9 +283,9 @@
   public void testSetLocalOfferMakesVideoFlowLocally()
       throws InterruptedException {
     Log.d(TAG, "testSetLocalOfferMakesVideoFlowLocally");
-    MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES);
+    MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_RENDERER_NAME);
     pcClient = createPeerConnectionClient(
-        localRenderer, new MockRenderer(0), true, VIDEO_CODEC_VP8);
+        localRenderer, new MockRenderer(0, null), true, VIDEO_CODEC_VP8);
 
     // Wait for local SDP and ice candidates set events.
     assertTrue("Local SDP was not set.", waitForLocalSDP(WAIT_TIMEOUT));
@@ -307,38 +302,15 @@
     Log.d(TAG, "testSetLocalOfferMakesVideoFlowLocally Done.");
   }
 
-  public void testSizeIsSetBeforeStartingToRender()
-      throws InterruptedException {
-    Log.d(TAG, "testSizeIsSetBeforeStartingToRender");
-    MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES);
-    pcClient = createPeerConnectionClient(
-        localRenderer, new MockRenderer(0), true, VIDEO_CODEC_VP8);
-
-    waitForLocalSDP(WAIT_TIMEOUT);
-    waitForIceCandidates(WAIT_TIMEOUT);
-
-    // Check that local video frames were rendered.
-    assertTrue("Local video frames were not rendered.",
-        localRenderer.waitForFramesRendered(WAIT_TIMEOUT));
-    assertTrue("Should have set size before rendering frames; size wasn't set",
-        localRenderer.setSizeCalledBeforeRenderFrame());
-    assertTrue(localRenderer.getWidth() > 0);
-    assertTrue(localRenderer.getHeight() > 0);
-
-    pcClient.close();
-    waitForPeerConnectionClosed(WAIT_TIMEOUT);
-    Log.d(TAG, "testSizeIsSetBeforeStartingToRender Done.");
-  }
-
-  private void testLoopback(boolean enableVideo, String videoCodec)
+  private void doLoopbackTest(boolean enableVideo, String videoCodec)
       throws InterruptedException {
     loopback = true;
     MockRenderer localRenderer = null;
     MockRenderer remoteRenderer = null;
     if (enableVideo) {
       Log.d(TAG, "testLoopback for video " + videoCodec);
-      localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES);
-      remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES);
+      localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_RENDERER_NAME);
+      remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE_RENDERER_NAME);
     } else {
       Log.d(TAG, "testLoopback for audio.");
     }
@@ -373,19 +345,19 @@
   }
 
   public void testLoopbackAudio() throws InterruptedException {
-    testLoopback(false, VIDEO_CODEC_VP8);
+    doLoopbackTest(false, VIDEO_CODEC_VP8);
   }
 
   public void testLoopbackVp8() throws InterruptedException {
-    testLoopback(true, VIDEO_CODEC_VP8);
+    doLoopbackTest(true, VIDEO_CODEC_VP8);
   }
 
   public void testLoopbackVp9() throws InterruptedException {
-    testLoopback(true, VIDEO_CODEC_VP9);
+    doLoopbackTest(true, VIDEO_CODEC_VP9);
   }
 
   public void testLoopbackH264() throws InterruptedException {
-    testLoopback(true, VIDEO_CODEC_H264);
+    doLoopbackTest(true, VIDEO_CODEC_H264);
   }
 
   // Checks if default front camera can be switched to back camera and then
@@ -394,8 +366,8 @@
     Log.d(TAG, "testCameraSwitch");
     loopback = true;
 
-    MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES);
-    MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES);
+    MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_RENDERER_NAME);
+    MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE_RENDERER_NAME);
 
     pcClient = createPeerConnectionClient(
         localRenderer, remoteRenderer, true, VIDEO_CODEC_VP8);
@@ -440,8 +412,8 @@
     Log.d(TAG, "testVideoSourceRestart");
     loopback = true;
 
-    MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES);
-    MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES);
+    MockRenderer localRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, LOCAL_RENDERER_NAME);
+    MockRenderer remoteRenderer = new MockRenderer(EXPECTED_VIDEO_FRAMES, REMOTE_RENDERER_NAME);
 
     pcClient = createPeerConnectionClient(
         localRenderer, remoteRenderer, true, VIDEO_CODEC_VP8);