mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-18 17:40:55 +08:00
[svn-r8298] Purpose:
Code cleanup Description: Added SetTest() to handle test controls. Platforms tested: h5committested.
This commit is contained in:
parent
6705762081
commit
4c8f0b2463
@ -67,6 +67,13 @@
|
||||
#define VERBOSE_MED (GetTestVerbosity()>=VERBO_MED)
|
||||
#define VERBOSE_HI (GetTestVerbosity()>=VERBO_HI)
|
||||
|
||||
/*
|
||||
* Test controls definitions.
|
||||
*/
|
||||
#define SKIPTEST 1 /* Skip this test */
|
||||
#define ONLYTEST 2 /* Do only this test */
|
||||
#define BEGINTEST 3 /* Skip all tests before this test */
|
||||
|
||||
/*
|
||||
* This contains the filename prefix specificied as command line option for
|
||||
* the parallel test files.
|
||||
@ -129,6 +136,8 @@ H5TEST_DLL void ParseTestVerbosity(char *argv);
|
||||
H5TEST_DLL int GetTestNumErrs(void);
|
||||
H5TEST_DLL void *GetTestParameters(void);
|
||||
H5TEST_DLL int TestErrPrintf(const char *format, ...);
|
||||
H5TEST_DLL void SetTest(const char *testname, int action);
|
||||
|
||||
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5TEST_DLL int h5_set_info_object(void);
|
||||
|
@ -197,9 +197,7 @@ void TestParseCmdLine(int argc, char *argv[], int *Summary, int *CleanUp)
|
||||
(HDstrcmp(argv[CLLoop], "-x") == 0))) {
|
||||
Loop = CLLoop + 1;
|
||||
while ((Loop < argc) && (argv[Loop][0] != '-')) {
|
||||
for (Loop1 = 0; Loop1 < Index; Loop1++)
|
||||
if (HDstrcmp(argv[Loop], Test[Loop1].Name) == 0)
|
||||
Test[Loop1].SkipFlag = 1;
|
||||
SetTest(argv[Loop], SKIPTEST);
|
||||
Loop++;
|
||||
} /* end while */
|
||||
} /* end if */
|
||||
@ -207,12 +205,7 @@ void TestParseCmdLine(int argc, char *argv[], int *Summary, int *CleanUp)
|
||||
(HDstrcmp(argv[CLLoop], "-b") == 0))) {
|
||||
Loop = CLLoop + 1;
|
||||
while ((Loop < argc) && (argv[Loop][0] != '-')) {
|
||||
for (Loop1 = 0; Loop1 < Index; Loop1++) {
|
||||
if (HDstrcmp(argv[Loop], Test[Loop1].Name) != 0)
|
||||
Test[Loop1].SkipFlag = 1;
|
||||
if (HDstrcmp(argv[Loop], Test[Loop1].Name) == 0)
|
||||
Loop1 = Index;
|
||||
} /* end for */
|
||||
SetTest(argv[Loop], BEGINTEST);
|
||||
Loop++;
|
||||
} /* end while */
|
||||
} /* end if */
|
||||
@ -223,9 +216,7 @@ void TestParseCmdLine(int argc, char *argv[], int *Summary, int *CleanUp)
|
||||
|
||||
Loop = CLLoop + 1;
|
||||
while ((Loop < argc) && (argv[Loop][0] != '-')) {
|
||||
for (Loop1 = 0; Loop1 < Index; Loop1++)
|
||||
if (HDstrcmp(argv[Loop], Test[Loop1].Name) == 0)
|
||||
Test[Loop1].SkipFlag = 0;
|
||||
SetTest(argv[Loop], ONLYTEST);
|
||||
Loop++;
|
||||
} /* end while */
|
||||
} /* end if */
|
||||
@ -380,3 +371,50 @@ TestErrPrintf(const char *format, ...)
|
||||
return ret_value;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Set (control) which test will be tested.
|
||||
* SKIPTEST: skip this test
|
||||
* ONLYTEST: do only this test
|
||||
* BEGINETEST: skip all tests before this test
|
||||
*
|
||||
*/
|
||||
void SetTest(const char *testname, int action)
|
||||
{
|
||||
int Loop;
|
||||
|
||||
switch (action){
|
||||
case SKIPTEST:
|
||||
for (Loop = 0; Loop < Index; Loop++)
|
||||
if (HDstrcmp(testname, Test[Loop].Name) == 0){
|
||||
Test[Loop].SkipFlag = 1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case BEGINTEST:
|
||||
for (Loop = 0; Loop < Index; Loop++) {
|
||||
if (HDstrcmp(testname, Test[Loop].Name) != 0)
|
||||
Test[Loop].SkipFlag = 1;
|
||||
else
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case ONLYTEST:
|
||||
for (Loop = 0; Loop < Index; Loop++) {
|
||||
if (HDstrcmp(testname, Test[Loop].Name) != 0)
|
||||
Test[Loop].SkipFlag = 1;
|
||||
else {
|
||||
Test[Loop].SkipFlag = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* skip the rest */
|
||||
while (++Loop < Index)
|
||||
Test[Loop].SkipFlag = 1;
|
||||
break;
|
||||
default:
|
||||
/* error */
|
||||
printf("*** ERROR: Unknown action (%d) for SetTest\n", action);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user