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() |