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")); } });