Commit 5379420c authored by Markus Kauppila's avatar Markus Kauppila

Refactored a bit. Extracted the code which checks for

test suite selection to a function.
parent 16254c32
...@@ -315,8 +315,6 @@ ParseOptions(int argc, char *argv[]) ...@@ -315,8 +315,6 @@ ParseOptions(int argc, char *argv[])
memset(selected_suite_name, 0, NAME_BUFFER_SIZE); memset(selected_suite_name, 0, NAME_BUFFER_SIZE);
strcpy(selected_suite_name, suiteName); strcpy(selected_suite_name, suiteName);
printf("%s\n", selected_suite_name);
} }
else { else {
printf("runner: unknown command '%s'\n", arg); printf("runner: unknown command '%s'\n", arg);
...@@ -328,27 +326,18 @@ ParseOptions(int argc, char *argv[]) ...@@ -328,27 +326,18 @@ ParseOptions(int argc, char *argv[])
/*! /*!
* Entry point for test runner * Tests if the given test suite is selected for execution.
* If only_selected_suite flag is zero, then all the suites are
* automatically selected. If the flags is non-zero, only the suite
* which matches the selected suite is selected.
* *
* \param argc Count of command line arguments * \param testSuiteName Name of the test suite
* \param argv Array of commond lines arguments *
* \return 1 if given suite is selected, otherwise 0
*/ */
int int
main(int argc, char *argv[]) SuiteIsSelected(char *testSuiteName) {
{ int retVal = 1;
ParseOptions(argc, argv);
// print: Testing against SDL version fuu (rev: bar) if verbose == true
int failureCount = 0, passCount = 0;
const Uint32 startTicks = SDL_GetTicks();
char **testSuiteNames = ScanForTestSuites();
char *testSuiteName = NULL;
int suiteCounter = 0;
for(testSuiteName = testSuiteNames[suiteCounter]; testSuiteName; testSuiteName = testSuiteNames[++suiteCounter]) {
if(only_selected_suite) { if(only_selected_suite) {
// extract the suite name. Rips the tests/ and file suffix from the suite name // extract the suite name. Rips the tests/ and file suffix from the suite name
...@@ -367,9 +356,38 @@ main(int argc, char *argv[]) ...@@ -367,9 +356,38 @@ main(int argc, char *argv[])
memset(buffer, 0, NAME_BUFFER_SIZE); memset(buffer, 0, NAME_BUFFER_SIZE);
memcpy(buffer, testSuiteName + 6, length); memcpy(buffer, testSuiteName + 6, length);
if(SDL_strncmp(selected_suite_name, buffer, NAME_BUFFER_SIZE) != 0) { retVal = SDL_strncmp(selected_suite_name, buffer, NAME_BUFFER_SIZE) == 0;
continue;
} }
return retVal;
}
/*!
* Entry point for test runner
*
* \param argc Count of command line arguments
* \param argv Array of commond lines arguments
*/
int
main(int argc, char *argv[])
{
ParseOptions(argc, argv);
// print: Testing against SDL version fuu (rev: bar) if verbose == true
int failureCount = 0, passCount = 0;
const Uint32 startTicks = SDL_GetTicks();
char **testSuiteNames = ScanForTestSuites();
char *testSuiteName = NULL;
int suiteCounter = 0;
for(testSuiteName = testSuiteNames[suiteCounter]; testSuiteName; testSuiteName = testSuiteNames[++suiteCounter]) {
// if the current suite isn't selected, go to next suite
if(SuiteIsSelected(testSuiteName) == 0) {
continue;
} }
void *suite = LoadTestSuite(testSuiteName); void *suite = LoadTestSuite(testSuiteName);
...@@ -378,12 +396,9 @@ main(int argc, char *argv[]) ...@@ -378,12 +396,9 @@ main(int argc, char *argv[])
TestCaseReference *reference = NULL; TestCaseReference *reference = NULL;
int counter = 0; int counter = 0;
for(reference = tests[counter]; reference; reference = tests[++counter]) { for(reference = tests[counter]; reference; reference = tests[++counter]) {
if(only_selected_test && SDL_strncmp(selected_test_name, reference->name, NAME_BUFFER_SIZE) != 0) {
if(only_selected_test) {
if(SDL_strncmp(selected_test_name, reference->name, NAME_BUFFER_SIZE) != 0) {
continue; continue;
} }
}
if(reference->enabled == TEST_DISABLED) { if(reference->enabled == TEST_DISABLED) {
printf("Test %s (in %s) disabled. Omitting...\n", reference->name, testSuiteName); printf("Test %s (in %s) disabled. Omitting...\n", reference->name, testSuiteName);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment