summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/multiprocess_func_list.cc55
-rw-r--r--testing/multiprocess_func_list.h72
2 files changed, 0 insertions, 127 deletions
diff --git a/testing/multiprocess_func_list.cc b/testing/multiprocess_func_list.cc
deleted file mode 100644
index a400557445..0000000000
--- a/testing/multiprocess_func_list.cc
+++ /dev/null
@@ -1,55 +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.
-
-#include "multiprocess_func_list.h"
-
-#include <map>
-
-// Helper functions to maintain mapping of "test name"->test func.
-// The information is accessed via a global map.
-namespace multi_process_function_list {
-
-namespace {
-
-struct ProcessFunctions {
- ProcessFunctions() : main(NULL), setup(NULL) {}
- ProcessFunctions(TestMainFunctionPtr main, SetupFunctionPtr setup)
- : main(main), setup(setup) {}
- TestMainFunctionPtr main;
- SetupFunctionPtr setup;
-};
-
-typedef std::map<std::string, ProcessFunctions> MultiProcessTestMap;
-
-// Retrieve a reference to the global 'func name' -> func ptr map.
-MultiProcessTestMap& GetMultiprocessFuncMap() {
- static MultiProcessTestMap test_name_to_func_ptr_map;
- return test_name_to_func_ptr_map;
-}
-
-} // namespace
-
-AppendMultiProcessTest::AppendMultiProcessTest(
- std::string test_name,
- TestMainFunctionPtr main_func_ptr,
- SetupFunctionPtr setup_func_ptr) {
- GetMultiprocessFuncMap()[test_name] =
- ProcessFunctions(main_func_ptr, setup_func_ptr);
-}
-
-int InvokeChildProcessTest(std::string test_name) {
- MultiProcessTestMap& func_lookup_table = GetMultiprocessFuncMap();
- MultiProcessTestMap::iterator it = func_lookup_table.find(test_name);
- if (it != func_lookup_table.end()) {
- const ProcessFunctions& process_functions = it->second;
- if (process_functions.setup)
- (*process_functions.setup)();
- if (process_functions.main)
- return (*process_functions.main)();
- }
-
- return -1;
-}
-
-} // namespace multi_process_function_list
diff --git a/testing/multiprocess_func_list.h b/testing/multiprocess_func_list.h
deleted file mode 100644
index 2ec4d7d975..0000000000
--- a/testing/multiprocess_func_list.h
+++ /dev/null
@@ -1,72 +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 TESTING_MULTIPROCESS_FUNC_LIST_H_
-#define TESTING_MULTIPROCESS_FUNC_LIST_H_
-
-#include <string>
-
-// This file provides the plumbing to register functions to be executed
-// as the main function of a child process in a multi-process test.
-// This complements the MultiProcessTest class which provides facilities
-// for launching such tests.
-//
-// The MULTIPROCESS_TEST_MAIN() macro registers a string -> func_ptr mapping
-// by creating a new global instance of the AppendMultiProcessTest() class
-// this means that by the time that we reach our main() function the mapping
-// is already in place.
-//
-// Example usage:
-// MULTIPROCESS_TEST_MAIN(a_test_func) {
-// // Code here runs in a child process.
-// return 0;
-// }
-//
-// The prototype of a_test_func is implicitly
-// int test_main_func_name();
-
-namespace multi_process_function_list {
-
-// Type for child process main functions.
-typedef int (*TestMainFunctionPtr)();
-
-// Type for child setup functions.
-typedef void (*SetupFunctionPtr)();
-
-// Helper class to append a test function to the global mapping.
-// Used by the MULTIPROCESS_TEST_MAIN macro.
-class AppendMultiProcessTest {
- public:
- // |main_func_ptr| is the main function that is run in the child process.
- // |setup_func_ptr| is a function run when the global mapping is added.
- AppendMultiProcessTest(std::string test_name,
- TestMainFunctionPtr main_func_ptr,
- SetupFunctionPtr setup_func_ptr);
-};
-
-// Invoke the main function of a test previously registered with
-// MULTIPROCESS_TEST_MAIN()
-int InvokeChildProcessTest(std::string test_name);
-
-// This macro creates a global MultiProcessTest::AppendMultiProcessTest object
-// whose constructor does the work of adding the global mapping.
-#define MULTIPROCESS_TEST_MAIN(test_main) \
- MULTIPROCESS_TEST_MAIN_WITH_SETUP(test_main, NULL)
-
-// Same as above but lets callers specify a setup method that is run in the
-// child process, just before the main function is run. This facilitates
-// adding a generic one-time setup function for multiple tests.
-#define MULTIPROCESS_TEST_MAIN_WITH_SETUP(test_main, test_setup) \
- int test_main(); \
- namespace { \
- multi_process_function_list::AppendMultiProcessTest \
- AddMultiProcessTest##_##test_main(#test_main, \
- (test_main), \
- (test_setup)); \
- } \
- int test_main()
-
-} // namespace multi_process_function_list
-
-#endif // TESTING_MULTIPROCESS_FUNC_LIST_H_