From ceb052a0b80d8b83d0cf23bf736dae5fcd2f7724 Mon Sep 17 00:00:00 2001 From: cherierm Date: Tue, 19 Dec 2006 16:30:01 +0000 Subject: [PATCH] test runner concept implementation git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3015 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- win32_test_app/src/TTestRunner.c | 70 ++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 win32_test_app/src/TTestRunner.c diff --git a/win32_test_app/src/TTestRunner.c b/win32_test_app/src/TTestRunner.c new file mode 100644 index 0000000000..f27a2d3045 --- /dev/null +++ b/win32_test_app/src/TTestRunner.c @@ -0,0 +1,70 @@ +#include + + +/* + * Create an new s_TestRunner struct and + * returns a pointer to self. + */ +TestRunner_t TestRunner_new(void) +{ + TestRunner_t ptr = calloc(1,sizeof(s_TestRunner_t)); + + if(NULL == ptr){ + setErrno(E_TEST_RUNNER_ALLOCATION_FAILED); + return NULL; + } + + ptr->buffer = Buffer_new(); + + if(NULL == ptr->buffer){ + TestRunner_free(ptr); + return NULL; + } + + ptr->testSuite = TestSuite_new(); + + if(NULL == ptr->testSuite){ + TestRunner_free(ptr); + return NULL; + } + + setErrno(E_SUCCESS); + return ptr; +} + +/* + * Initialize the s_TestRunner struct + * by processing the command line. + */ +errno_t TestRunner_initialize(TestRunner_t runner,int argc,char *argv[]) +{ + if(E_SUCCESS != TestSuite_initialize(runner->testSuite,argc,argv)) + return getErrno(); + + return E_SUCCESS; +} + +/* + * Launch the test runner. + */ +void TestRunner_run(TestRunner_t runner) +{ + TestSuite_run(runner->testSuite); +} + +/* + * Free the s_TestRunner. + */ +void TestRunner_free(TestRunner_t runner) +{ + if(NULL == runner) + return; + + if(NULL != runner->buffer) + Buffer_free(runner->buffer); + + if(NULL != runner->testSuite) + TestSuite_free(runner->testSuite); +} + + -- 2.20.1