summaryrefslogtreecommitdiff
path: root/testing/multiprocess_func_list.h
diff options
context:
space:
mode:
Diffstat (limited to 'testing/multiprocess_func_list.h')
-rw-r--r--testing/multiprocess_func_list.h72
1 files changed, 0 insertions, 72 deletions
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_