diff --git a/tests/DumpRenderTree2/res/menu/gui_menu.xml b/tests/DumpRenderTree2/res/menu/gui_menu.xml
new file mode 100644
index 0000000000000..a5b2b65e3cb48
--- /dev/null
+++ b/tests/DumpRenderTree2/res/menu/gui_menu.xml
@@ -0,0 +1,20 @@
+
+
+
\ No newline at end of file
diff --git a/tests/DumpRenderTree2/res/values/strings.xml b/tests/DumpRenderTree2/res/values/strings.xml
index 5fd1eb9a5b406..049640418761c 100644
--- a/tests/DumpRenderTree2/res/values/strings.xml
+++ b/tests/DumpRenderTree2/res/values/strings.xml
@@ -25,4 +25,6 @@ limitations under the License.
Please wait...
Preloading tests...
+
+ Run all tests in the current directory
\ No newline at end of file
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/ui/DirListActivity.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/ui/DirListActivity.java
index 2280c665ba440..b1862efa80fd1 100644
--- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/ui/DirListActivity.java
+++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/ui/DirListActivity.java
@@ -35,6 +35,9 @@ import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
@@ -205,11 +208,7 @@ public class DirListActivity extends ListActivity {
showDir(item.getRelativePath());
} else {
/** Run the test */
- Intent intent = new Intent();
- intent.setClass(DirListActivity.this, TestsListActivity.class);
- intent.setAction(Intent.ACTION_RUN);
- intent.putExtra(TestsListActivity.EXTRA_TEST_PATH, item.getRelativePath());
- startActivity(intent);
+ runAllTestsUnder(item.getRelativePath());
}
}
});
@@ -236,6 +235,32 @@ public class DirListActivity extends ListActivity {
showDir("");
}
+ private void runAllTestsUnder(String relativePath) {
+ Intent intent = new Intent();
+ intent.setClass(DirListActivity.this, TestsListActivity.class);
+ intent.setAction(Intent.ACTION_RUN);
+ intent.putExtra(TestsListActivity.EXTRA_TEST_PATH, relativePath);
+ startActivity(intent);
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.gui_menu, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.run_all:
+ runAllTestsUnder(mCurrentDirPath);
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
@Override
/**
* Moves to the parent directory if one exists. Does not allow to move above
@@ -278,13 +303,7 @@ public class DirListActivity extends ListActivity {
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(DIALOG_RUN_ABORT_DIR);
- /** Run the tests */
- Intent intent = new Intent();
- intent.setClass(DirListActivity.this, TestsListActivity.class);
- intent.setAction(Intent.ACTION_RUN);
- intent.putExtra(TestsListActivity.EXTRA_TEST_PATH,
- args.getString("relativePath"));
- startActivity(intent);
+ runAllTestsUnder(args.getString("relativePath"));
}
});