Skip to content
Snippets Groups Projects
Commit d81f0fc8 authored by David Stevens's avatar David Stevens
Browse files

c2_e2e_test: decouple activity and test startup

This change adds a boolean extra flag that can be set to make the test
wait until it receives a specific intent to start the decode/encode
test. The delay can be used to configure the activity's window before
the test itself starts.

Bug: 166403789
Test: manually verify the new flag works

Change-Id: Ibbae112dbb3c977be2ad3bf8507e60eeeb4fb72d
parent a2e18369
No related branches found
No related tags found
No related merge requests found
...@@ -29,6 +29,8 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback ...@@ -29,6 +29,8 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
private SurfaceView mSurfaceView; private SurfaceView mSurfaceView;
private Size mSize; private Size mSize;
private boolean mSurfaceCreated = false;
private boolean mCanStartTest = false;
private Size mExpectedSize; private Size mExpectedSize;
private CountDownLatch mLatch; private CountDownLatch mLatch;
...@@ -44,6 +46,8 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback ...@@ -44,6 +46,8 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
mSurfaceView = (SurfaceView) findViewById(R.id.surface); mSurfaceView = (SurfaceView) findViewById(R.id.surface);
mSurfaceView.getHolder().addCallback(this); mSurfaceView.getHolder().addCallback(this);
mCanStartTest = !getIntent().getBooleanExtra("delay-start", false);
} }
@Override @Override
...@@ -55,6 +59,14 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback ...@@ -55,6 +59,14 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
@Override @Override
public void surfaceCreated(SurfaceHolder holder) { public void surfaceCreated(SurfaceHolder holder) {
mSurfaceCreated = true;
maybeStartTest();
}
private void maybeStartTest() {
if (!mSurfaceCreated || !mCanStartTest) {
return;
}
boolean encode = getIntent().getBooleanExtra("do-encode", false); boolean encode = getIntent().getBooleanExtra("do-encode", false);
String[] testArgs = String[] testArgs =
getIntent().getStringArrayExtra("test-args") != null getIntent().getStringArrayExtra("test-args") != null
...@@ -71,7 +83,7 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback ...@@ -71,7 +83,7 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
encode, encode,
testArgs, testArgs,
testArgs.length, testArgs.length,
holder.getSurface(), mSurfaceView.getHolder().getSurface(),
logFile); logFile);
Log.i(TAG, "Test returned result code " + res); Log.i(TAG, "Test returned result code " + res);
...@@ -95,6 +107,12 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback ...@@ -95,6 +107,12 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
@Override @Override
public void onNewIntent(Intent intent) { public void onNewIntent(Intent intent) {
if (intent.getAction().equals("org.chromium.c2.test.START_TEST")) {
mCanStartTest = true;
maybeStartTest();
return;
}
synchronized (this) { synchronized (this) {
if (mDecoderPtr != 0) { if (mDecoderPtr != 0) {
stopDecoderLoop(mDecoderPtr); stopDecoderLoop(mDecoderPtr);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment