diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-05 21:02:28 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-05 21:02:28 +0000 |
commit | 38f285a515082e15e9be1a07985b2d1a37da4d9f (patch) | |
tree | 34bd260ee5f4aaa7ba39c8ba0cfad7d1d1aa7342 /chrome/browser/extensions/sandboxed_extension_unpacker_unittest.cc | |
parent | 40e4bb53e1ed9f16f2ed9b5a10195f2a475ca169 (diff) | |
download | chromium_src-38f285a515082e15e9be1a07985b2d1a37da4d9f.zip chromium_src-38f285a515082e15e9be1a07985b2d1a37da4d9f.tar.gz chromium_src-38f285a515082e15e9be1a07985b2d1a37da4d9f.tar.bz2 |
Delete temp extension directory on the file thread.
BUG=61922
Review URL: http://codereview.chromium.org/4506001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65250 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/sandboxed_extension_unpacker_unittest.cc')
-rw-r--r-- | chrome/browser/extensions/sandboxed_extension_unpacker_unittest.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/chrome/browser/extensions/sandboxed_extension_unpacker_unittest.cc b/chrome/browser/extensions/sandboxed_extension_unpacker_unittest.cc index 4d893e1..1842e00 100644 --- a/chrome/browser/extensions/sandboxed_extension_unpacker_unittest.cc +++ b/chrome/browser/extensions/sandboxed_extension_unpacker_unittest.cc @@ -51,12 +51,17 @@ class MockSandboxedExtensionUnpackerClient class SandboxedExtensionUnpackerTest : public testing::Test { public: virtual void SetUp() { + file_thread_.reset(new BrowserThread(BrowserThread::FILE, &loop_)); // It will delete itself. client_ = new MockSandboxedExtensionUnpackerClient; client_->DelegateToFake(); } virtual void TearDown() { + // Need to destruct SandboxedExtensionUnpacker before the message loop since + // it posts a task to it. + sandboxed_unpacker_ = NULL; + loop_.RunAllPending(); // Clean up finally. ASSERT_TRUE(file_util::Delete(install_dir_, true)) << install_dir_.value(); @@ -93,6 +98,9 @@ class SandboxedExtensionUnpackerTest : public testing::Test { sandboxed_unpacker_ = new SandboxedExtensionUnpacker(crx_path, temp_dir_, NULL, client_); + // Hack since SandboxedExtensionUnpacker gets its background thread id from + // the Start call, but we don't call it here. + sandboxed_unpacker_->thread_identifier_ = BrowserThread::FILE; PrepareUnpackerEnv(); } @@ -144,6 +152,8 @@ class SandboxedExtensionUnpackerTest : public testing::Test { MockSandboxedExtensionUnpackerClient* client_; scoped_ptr<ExtensionUnpacker> unpacker_; scoped_refptr<SandboxedExtensionUnpacker> sandboxed_unpacker_; + MessageLoop loop_; + scoped_ptr<BrowserThread> file_thread_; }; TEST_F(SandboxedExtensionUnpackerTest, NoCatalogsSuccess) { |