diff options
author | jvoung@chromium.org <jvoung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-27 05:40:51 +0000 |
---|---|---|
committer | jvoung@chromium.org <jvoung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-27 05:40:51 +0000 |
commit | 19625770020f2127a95373fe41ed11068c4242b4 (patch) | |
tree | c80ae8041463533b6dd4e3b9ea8c2106c7e44ccb /chrome/test/nacl | |
parent | 366a35ada815caefc10ae3d56f811ac0f051d0ff (diff) | |
download | chromium_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.cc | 8 | ||||
-rw-r--r-- | chrome/test/nacl/nacl_browsertest_util.cc | 18 | ||||
-rw-r--r-- | chrome/test/nacl/nacl_browsertest_util.h | 10 |
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 { |