summaryrefslogtreecommitdiffstats
path: root/chrome/test/nacl
diff options
context:
space:
mode:
authorjvoung@chromium.org <jvoung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-27 05:40:51 +0000
committerjvoung@chromium.org <jvoung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-27 05:40:51 +0000
commit19625770020f2127a95373fe41ed11068c4242b4 (patch)
treec80ae8041463533b6dd4e3b9ea8c2106c7e44ccb /chrome/test/nacl
parent366a35ada815caefc10ae3d56f811ac0f051d0ff (diff)
downloadchromium_src-19625770020f2127a95373fe41ed11068c4242b4.zip
chromium_src-19625770020f2127a95373fe41ed11068c4242b4.tar.gz
chromium_src-19625770020f2127a95373fe41ed11068c4242b4.tar.bz2
Test that pnacl translates and loads in incognito (and with ASAN).
Use IN_PROC_BROWSER_TEST_F instead of NACL_BROWSER_TEST_F to only test under PNaCl. This also lets us test pnacl_coordinator under ASAN, since it avoids reading/writing to the "cache", and PNaCl is disabled under ASAN when using NACL_BROWSER_TEST_F. BUG=https://code.google.com/p/nativeclient/issues/detail?id=3230 Review URL: https://chromiumcodereview.appspot.com/11896114 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179077 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/nacl')
-rw-r--r--chrome/test/nacl/nacl_browsertest.cc8
-rw-r--r--chrome/test/nacl/nacl_browsertest_util.cc18
-rw-r--r--chrome/test/nacl/nacl_browsertest_util.h10
3 files changed, 33 insertions, 3 deletions
diff --git a/chrome/test/nacl/nacl_browsertest.cc b/chrome/test/nacl/nacl_browsertest.cc
index 06ae754..eb5f931 100644
--- a/chrome/test/nacl/nacl_browsertest.cc
+++ b/chrome/test/nacl/nacl_browsertest.cc
@@ -42,4 +42,12 @@ NACL_BROWSER_TEST_F(NaClBrowserTest, MAYBE_ProgressEvents, {
RunNaClIntegrationTest(FILE_PATH_LITERAL("ppapi_progress_events.html"));
})
+// NOTE: this does not use NACL_BROWSER_TEST_F, since we only need to
+// test that PNaCl works under incognito (translation caching).
+IN_PROC_BROWSER_TEST_F(NaClBrowserTestPnacl, IncognitoTranslateAndLoad) {
+ // Force Incognito mode.
+ SetBrowser(CreateIncognitoBrowser());
+ RunLoadTest(FILE_PATH_LITERAL("nacl_load_test.html"));
+}
+
} // namespace anonymous
diff --git a/chrome/test/nacl/nacl_browsertest_util.cc b/chrome/test/nacl/nacl_browsertest_util.cc
index b4f4ee8..d5a0126 100644
--- a/chrome/test/nacl/nacl_browsertest_util.cc
+++ b/chrome/test/nacl/nacl_browsertest_util.cc
@@ -176,7 +176,7 @@ static bool GetNaClVariantRoot(const FilePath::StringType& variant,
return true;
}
-NaClBrowserTestBase::NaClBrowserTestBase() {
+NaClBrowserTestBase::NaClBrowserTestBase() : test_browser_(NULL) {
}
NaClBrowserTestBase::~NaClBrowserTestBase() {
@@ -209,9 +209,9 @@ GURL NaClBrowserTestBase::TestURL(const FilePath::StringType& url_fragment) {
bool NaClBrowserTestBase::RunJavascriptTest(const GURL& url,
TestMessageHandler* handler) {
JavascriptTestObserver observer(
- chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
+ chrome::GetActiveWebContents(GetBrowser())->GetRenderViewHost(),
handler);
- ui_test_utils::NavigateToURL(browser(), url);
+ ui_test_utils::NavigateToURL(GetBrowser(), url);
return observer.Run();
}
@@ -241,6 +241,18 @@ bool NaClBrowserTestBase::StartTestServer() {
return test_server_->Start();
}
+void NaClBrowserTestBase::SetBrowser(Browser* browser) {
+ test_browser_ = browser;
+}
+
+Browser* NaClBrowserTestBase::GetBrowser() {
+ if (test_browser_) {
+ return test_browser_;
+ } else {
+ return browser();
+ }
+}
+
FilePath::StringType NaClBrowserTestNewlib::Variant() {
return FILE_PATH_LITERAL("newlib");
}
diff --git a/chrome/test/nacl/nacl_browsertest_util.h b/chrome/test/nacl/nacl_browsertest_util.h
index d89f5e4f..ee8f28b 100644
--- a/chrome/test/nacl/nacl_browsertest_util.h
+++ b/chrome/test/nacl/nacl_browsertest_util.h
@@ -10,6 +10,8 @@
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/javascript_test_observer.h"
+class Browser;
+
// A helper base class that decodes structured automation messages of the form:
// {"type": type_name, ...}
class StructuredMessageHandler : public TestMessageHandler {
@@ -73,6 +75,10 @@ class NaClBrowserTestBase : public InProcessBrowserTest {
virtual bool IsPnacl();
+ // Set the Browser window used for loading tests to a different window
+ // (e.g., an incognito window).
+ void SetBrowser(Browser* browser);
+
// Map a file relative to the variant directory to a URL served by the test
// web server.
GURL TestURL(const FilePath::StringType& url_fragment);
@@ -98,7 +104,11 @@ class NaClBrowserTestBase : public InProcessBrowserTest {
private:
bool StartTestServer();
+ Browser* GetBrowser();
+
scoped_ptr<net::TestServer> test_server_;
+
+ Browser* test_browser_;
};
class NaClBrowserTestNewlib : public NaClBrowserTestBase {