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

Unified Diff: sandbox/win/tests/common/controller.h

Issue 1851213002: Remove sandbox on Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix nacl compile issues Created 4 years, 9 months 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
« no previous file with comments | « sandbox/win/src/window.cc ('k') | sandbox/win/tests/common/controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sandbox/win/tests/common/controller.h
diff --git a/sandbox/win/tests/common/controller.h b/sandbox/win/tests/common/controller.h
deleted file mode 100644
index 7c1c78f66d110842860b50e5d02f50dfec86dca3..0000000000000000000000000000000000000000
--- a/sandbox/win/tests/common/controller.h
+++ /dev/null
@@ -1,172 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef SANDBOX_WIN_TESTS_COMMON_CONTROLLER_H_
-#define SANDBOX_WIN_TESTS_COMMON_CONTROLLER_H_
-
-#include <windows.h>
-#include <string>
-
-#include "base/strings/string16.h"
-#include "base/win/scoped_handle.h"
-#include "sandbox/win/src/sandbox.h"
-
-namespace sandbox {
-
-// See winerror.h for details.
-#define SEVERITY_INFO_FLAGS 0x40000000
-#define SEVERITY_ERROR_FLAGS 0xC0000000
-#define CUSTOMER_CODE 0x20000000
-#define SBOX_TESTS_FACILITY 0x05B10000
-
-// All the possible error codes returned by the child process in
-// the sandbox.
-enum SboxTestResult {
- SBOX_TEST_FIRST_RESULT = CUSTOMER_CODE | SBOX_TESTS_FACILITY,
- SBOX_TEST_SUCCEEDED,
- SBOX_TEST_PING_OK,
- SBOX_TEST_FIRST_INFO = SBOX_TEST_FIRST_RESULT | SEVERITY_INFO_FLAGS,
- SBOX_TEST_DENIED, // Access was denied.
- SBOX_TEST_NOT_FOUND, // The resource was not found.
- SBOX_TEST_FIRST_ERROR = SBOX_TEST_FIRST_RESULT | SEVERITY_ERROR_FLAGS,
- SBOX_TEST_SECOND_ERROR,
- SBOX_TEST_THIRD_ERROR,
- SBOX_TEST_FOURTH_ERROR,
- SBOX_TEST_FIFTH_ERROR,
- SBOX_TEST_SIXTH_ERROR,
- SBOX_TEST_SEVENTH_ERROR,
- SBOX_TEST_INVALID_PARAMETER,
- SBOX_TEST_FAILED_TO_RUN_TEST,
- SBOX_TEST_FAILED_TO_EXECUTE_COMMAND,
- SBOX_TEST_TIMED_OUT,
- SBOX_TEST_FAILED,
- SBOX_TEST_LAST_RESULT
-};
-
-inline bool IsSboxTestsResult(SboxTestResult result) {
- unsigned int code = static_cast<unsigned int>(result);
- unsigned int first = static_cast<unsigned int>(SBOX_TEST_FIRST_RESULT);
- unsigned int last = static_cast<unsigned int>(SBOX_TEST_LAST_RESULT);
- return (code > first) && (code < last);
-}
-
-enum SboxTestsState {
- MIN_STATE = 1,
- BEFORE_INIT,
- BEFORE_REVERT,
- AFTER_REVERT,
- EVERY_STATE,
- MAX_STATE
-};
-
-#define SBOX_TESTS_API __declspec(dllexport)
-#define SBOX_TESTS_COMMAND extern "C" SBOX_TESTS_API
-
-extern "C" {
-typedef int (*CommandFunction)(int argc, wchar_t **argv);
-}
-
-// Class to facilitate the launch of a test inside the sandbox.
-class TestRunner {
- public:
- TestRunner(JobLevel job_level, TokenLevel startup_token,
- TokenLevel main_token);
-
- TestRunner();
-
- ~TestRunner();
-
- // Adds a rule to the policy. The parameters are the same as the AddRule
- // function in the sandbox.
- bool AddRule(TargetPolicy::SubSystem subsystem,
- TargetPolicy::Semantics semantics,
- const wchar_t* pattern);
-
- // Adds a filesystem rules with the path of a file in system32. The function
- // appends "pattern" to "system32" and then call AddRule. Return true if the
- // function succeeds.
- bool AddRuleSys32(TargetPolicy::Semantics semantics, const wchar_t* pattern);
-
- // Adds a filesystem rules to the policy. Returns true if the functions
- // succeeds.
- bool AddFsRule(TargetPolicy::Semantics semantics, const wchar_t* pattern);
-
- // Starts a child process in the sandbox and ask it to run |command|. Returns
- // a SboxTestResult. By default, the test runs AFTER_REVERT.
- int RunTest(const wchar_t* command);
-
- // Sets the timeout value for the child to run the command and return.
- void SetTimeout(DWORD timeout_ms);
-
- // Sets TestRunner to return without waiting for the process to exit.
- void SetAsynchronous(bool is_async) { is_async_ = is_async; }
-
- // Sets TestRunner to return without waiting for the process to exit.
- void SetUnsandboxed(bool is_no_sandbox) { no_sandbox_ = is_no_sandbox; }
-
- // Sets whether TestRunner should disable CSRSS or not (default true).
- // Any test that needs to spawn a child process needs to set this to false.
- void SetDisableCsrss(bool disable_csrss) { disable_csrss_ = disable_csrss; }
-
- // Sets the desired state for the test to run.
- void SetTestState(SboxTestsState desired_state);
-
- // Sets a flag whether the process should be killed when the TestRunner is
- // destroyed.
- void SetKillOnDestruction(bool value) { kill_on_destruction_ = value; }
-
- // Returns the pointers to the policy object. It can be used to modify
- // the policy manually.
- TargetPolicy* GetPolicy();
-
- BrokerServices* broker() { return broker_; }
-
- // Returns the process handle for an asynchronous test.
- HANDLE process() { return target_process_.Get(); }
-
- // Returns the process ID for an asynchronous test.
- DWORD process_id() { return target_process_id_; }
-
- private:
- // Initializes the data in the object. Sets is_init_ to tree if the
- // function succeeds. This is meant to be called from the constructor.
- void Init(JobLevel job_level,
- TokenLevel startup_token,
- TokenLevel main_token);
-
- // The actual runner.
- int InternalRunTest(const wchar_t* command);
-
- BrokerServices* broker_;
- TargetPolicy* policy_;
- DWORD timeout_;
- SboxTestsState state_;
- bool is_init_;
- bool is_async_;
- bool no_sandbox_;
- bool disable_csrss_;
- bool kill_on_destruction_;
- base::win::ScopedHandle target_process_;
- DWORD target_process_id_;
-};
-
-// Returns the broker services.
-BrokerServices* GetBroker();
-
-// Constructs a full path to a file inside the system32 folder.
-base::string16 MakePathToSys32(const wchar_t* name, bool is_obj_man_path);
-
-// Constructs a full path to a file inside the syswow64 folder.
-base::string16 MakePathToSysWow64(const wchar_t* name, bool is_obj_man_path);
-
-// Constructs a full path to a file inside the system32 (or syswow64) folder
-// depending on whether process is running in wow64 or not.
-base::string16 MakePathToSys(const wchar_t* name, bool is_obj_man_path);
-
-// Runs the given test on the target process.
-int DispatchCall(int argc, wchar_t **argv);
-
-} // namespace sandbox
-
-#endif // SANDBOX_WIN_TESTS_COMMON_CONTROLLER_H_
« no previous file with comments | « sandbox/win/src/window.cc ('k') | sandbox/win/tests/common/controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698