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

Unified Diff: testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java

Issue 1173363008: [Android] Refactor browser test execution. (RELAND) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed. Created 5 years, 6 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
Index: testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java
diff --git a/testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java b/testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java
index 46a490b3c68da041290c5836f9aa1d1c1c902fb5..8e147201c5f62951194a32bf06ae4b35e7221cb4 100644
--- a/testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java
+++ b/testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java
@@ -10,12 +10,16 @@ import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
+import android.os.Process;
import org.chromium.base.CommandLine;
import org.chromium.base.JNINamespace;
import org.chromium.base.Log;
+import org.chromium.test.reporter.TestStatusReporter;
import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
/**
* Android's NativeActivity is mostly useful for pure-native code.
@@ -28,16 +32,17 @@ public class NativeTestActivity extends Activity {
"org.chromium.native_test.NativeTestActivity.CommandLineFile";
public static final String EXTRA_COMMAND_LINE_FLAGS =
"org.chromium.native_test.NativeTestActivity.CommandLineFlags";
+ public static final String EXTRA_SHARD =
+ "org.chromium.native_test.NativeTestActivity.Shard";
public static final String EXTRA_STDOUT_FILE =
"org.chromium.native_test.NativeTestActivity.StdoutFile";
- private static final String TAG = Log.makeTag("native_test");
+ private static final String TAG = "cr.native_test";
private static final String EXTRA_RUN_IN_SUB_THREAD = "RunInSubThread";
- // We post a delayed task to run tests so that we do not block onCreate().
- private static final long RUN_TESTS_DELAY_IN_MS = 300;
private String mCommandLineFilePath;
private StringBuilder mCommandLineFlags = new StringBuilder();
+ private TestStatusReporter mReporter;
private boolean mRunInSubThread = false;
private boolean mStdoutFifo = false;
private String mStdoutFilePath;
@@ -48,6 +53,7 @@ public class NativeTestActivity extends Activity {
CommandLine.init(new String[]{});
parseArgumentsFromIntent(getIntent());
+ mReporter = new TestStatusReporter(this);
}
private void parseArgumentsFromIntent(Intent intent) {
@@ -68,6 +74,19 @@ public class NativeTestActivity extends Activity {
mRunInSubThread = intent.hasExtra(EXTRA_RUN_IN_SUB_THREAD);
+ ArrayList<String> shard = intent.getStringArrayListExtra(EXTRA_SHARD);
+ if (shard != null) {
+ StringBuilder filterFlag = new StringBuilder();
+ filterFlag.append("--gtest_filter=");
+ for (Iterator<String> test_iter = shard.iterator(); test_iter.hasNext();) {
+ filterFlag.append(test_iter.next());
+ if (test_iter.hasNext()) {
+ filterFlag.append(":");
+ }
+ }
+ appendCommandLineFlags(filterFlag.toString());
+ }
+
mStdoutFilePath = intent.getStringExtra(EXTRA_STDOUT_FILE);
if (mStdoutFilePath == null) {
mStdoutFilePath = new File(getFilesDir(), "test.fifo").getAbsolutePath();
@@ -94,19 +113,21 @@ public class NativeTestActivity extends Activity {
} else {
// Post a task to run the tests. This allows us to not block
// onCreate and still run tests on the main thread.
- new Handler().postDelayed(new Runnable() {
+ new Handler().post(new Runnable() {
@Override
public void run() {
runTests();
}
- }, RUN_TESTS_DELAY_IN_MS);
+ });
}
}
private void runTests() {
+ mReporter.testRunStarted(Process.myPid());
nativeRunTests(mCommandLineFlags.toString(), mCommandLineFilePath, mStdoutFilePath,
mStdoutFifo, getApplicationContext());
finish();
+ mReporter.testRunFinished(Process.myPid());
}
// Signal a failure of the native test loader to python scripts

Powered by Google App Engine
This is Rietveld 408576698