Chromium Code Reviews| Index: testing/multiprocess_func_list.h |
| diff --git a/testing/multiprocess_func_list.h b/testing/multiprocess_func_list.h |
| index 6ba84954feec0ef31ba6d767e062ae92c4bb2f5f..371f66697c291ee9f17831242e0869b36e4ed580 100644 |
| --- a/testing/multiprocess_func_list.h |
| +++ b/testing/multiprocess_func_list.h |
| @@ -25,7 +25,6 @@ |
| // |
| // The prototype of a_test_func is implicitly |
| // int test_main_func_name(); |
| - |
| namespace multi_process_function_list { |
| // Type for child process main functions. |
| @@ -35,7 +34,9 @@ typedef int (*ChildFunctionPtr)(); |
| // Used by the MULTIPROCESS_TEST_MAIN macro. |
| class AppendMultiProcessTest { |
| public: |
| - AppendMultiProcessTest(std::string test_name, ChildFunctionPtr func_ptr); |
| + AppendMultiProcessTest(std::string test_name, |
|
jeremy
2012/06/13 20:46:28
Need a short comment explaining the arguments.
Jay Civelli
2012/06/22 23:28:29
Done.
|
| + ChildFunctionPtr main_func_ptr, |
| + ChildFunctionPtr setup_func_ptr); |
| }; |
| // Invoke the main function of a test previously registered with |
| @@ -45,10 +46,16 @@ 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 should be run when |
|
jeremy
2012/06/13 20:46:28
nit: should be -> is
Jay Civelli
2012/06/22 23:28:29
Done.
|
| +// the global mapping is added. |test_setup| is a ChildFunctionPtr, its return |
| +// value is ignored. |
|
jeremy
2012/06/13 20:46:28
per comment above - should return void, and then y
Jay Civelli
2012/06/22 23:28:29
Done.
|
| +#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)); \ |
| + AddMultiProcessTest##_##test_main(#test_main, (test_main), (test_setup)); \ |
| } \ |
| int test_main() |