Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1575)

Unified Diff: content/common/sandbox_mac_unittest_helper.mm

Issue 8589001: Load mac sandbox definitions from resources instead of the bundle. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: also remove old bundle gyp code Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/sandbox_mac_unittest_helper.mm
diff --git a/content/common/sandbox_mac_unittest_helper.mm b/content/common/sandbox_mac_unittest_helper.mm
index 3b0345d05d80171a6c5ad6d7b1f637f010610bd6..ea555bc9ca8152f3eef117d199c550c401b137d5 100644
--- a/content/common/sandbox_mac_unittest_helper.mm
+++ b/content/common/sandbox_mac_unittest_helper.mm
@@ -14,6 +14,8 @@ extern "C" {
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "content/common/sandbox_mac.h"
+#include "content/test/test_content_client.h"
+#include "grit/content_resources.h"
#include "testing/multiprocess_func_list.h"
using sandbox::Sandbox;
@@ -24,6 +26,15 @@ const char* kSandboxTypeKey = "CHROMIUM_SANDBOX_SANDBOX_TYPE";
const char* kSandboxTestNameKey = "CHROMIUM_SANDBOX_TEST_NAME";
const char* kTestDataKey = "CHROMIUM_SANDBOX_USER_DATA";
+const int kSandboxDefinitionResourceIds[] = {
+ IDR_GPU_SANDBOX_DEFINITION,
+ IDR_WORKER_SANDBOX_DEFINITION,
+ IDR_COMMON_SANDBOX_DEFINITION,
+ IDR_PPAPI_SANDBOX_DEFINITION,
+ IDR_RENDERER_SANDBOX_DEFINITION,
+ IDR_UTILITY_SANDBOX_DEFINITION,
+};
+
} // namespace
namespace sandboxtest {
@@ -54,26 +65,24 @@ bool MacSandboxTest::RunTestInAllSandboxTypes(const char* test_name,
const char* test_data) {
// Go through all the sandbox types, and run the test case in each of them
// if one fails, abort.
- for(int i = static_cast<int>(Sandbox::SANDBOX_TYPE_FIRST_TYPE);
- i < Sandbox::SANDBOX_AFTER_TYPE_LAST_TYPE;
- ++i) {
+ for(unsigned i = 0; i < arraysize(kSandboxDefinitionResourceIds); ++i) {
- if (!RunTestInSandbox(static_cast<Sandbox::SandboxProcessType>(i),
+ if (!RunTestInSandbox(kSandboxDefinitionResourceIds[i],
test_name, test_data)) {
LOG(ERROR) << "Sandboxed test (" << test_name << ")" <<
"Failed in sandbox type " << i <<
- "user data: (" << test_data << ")";
+ " user data: (" << test_data << ")";
return false;
}
}
return true;
}
-bool MacSandboxTest::RunTestInSandbox(Sandbox::SandboxProcessType sandbox_type,
+bool MacSandboxTest::RunTestInSandbox(int sandbox_definition_resource_id,
const char* test_name,
const char* test_data) {
std::stringstream s;
- s << static_cast<int>(static_cast<int>(sandbox_type));
+ s << sandbox_definition_resource_id;
setenv(kSandboxTypeKey, s.str().c_str(), 1);
setenv(kSandboxTestNameKey, test_name, 1);
if (test_data)
@@ -125,14 +134,15 @@ namespace {
// Main function for driver process that enables the sandbox and runs test
// code.
MULTIPROCESS_TEST_MAIN(mac_sandbox_test_runner) {
+ TestContentClient content_client;
+ content::SetContentClient(&content_client);
// Extract parameters.
char* sandbox_type_str = getenv(kSandboxTypeKey);
if (!sandbox_type_str) {
LOG(ERROR) << "Sandbox type not specified";
return -1;
}
- Sandbox::SandboxProcessType sandbox_type =
- static_cast<Sandbox::SandboxProcessType>(atoi(sandbox_type_str));
+ int sandbox_definition_resource_id = atoi(sandbox_type_str);
char* sandbox_test_name = getenv(kSandboxTestNameKey);
if (!sandbox_test_name) {
LOG(ERROR) << "Sandbox test name not specified";
@@ -156,10 +166,11 @@ MULTIPROCESS_TEST_MAIN(mac_sandbox_test_runner) {
return -1;
}
- Sandbox::SandboxWarmup(sandbox_type);
+ Sandbox::SandboxWarmup(sandbox_definition_resource_id);
- if (!Sandbox::EnableSandbox(sandbox_type, FilePath())) {
- LOG(ERROR) << "Failed to initialize sandbox " << sandbox_type;
+ if (!Sandbox::EnableSandbox(sandbox_definition_resource_id, FilePath())) {
+ LOG(ERROR) << "Failed to initialize sandbox (definition resource id "
+ << sandbox_definition_resource_id << ")";
return -1;
}

Powered by Google App Engine
This is Rietveld 408576698