summaryrefslogtreecommitdiffstats
path: root/test/testframe.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2015-10-01 16:12:02 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2015-10-01 16:12:02 (GMT)
commit8d131aca15bca2d042ef175af5cf5a642d4c1152 (patch)
tree50a5b1c6dbfd137a0795ca47dc7ee84a6e903101 /test/testframe.c
parenta31524e4aee50324ccbc6707584b1758279f984e (diff)
parent4dc2218ab5622f81c3dd9d68020ac7357f413c50 (diff)
downloadhdf5-8d131aca15bca2d042ef175af5cf5a642d4c1152.zip
hdf5-8d131aca15bca2d042ef175af5cf5a642d4c1152.tar.gz
hdf5-8d131aca15bca2d042ef175af5cf5a642d4c1152.tar.bz2
[svn-r27929] merge from trunk.
Diffstat (limited to 'test/testframe.c')
-rw-r--r--test/testframe.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/test/testframe.c b/test/testframe.c
index 2dd181b..daa27c5 100644
--- a/test/testframe.c
+++ b/test/testframe.c
@@ -213,6 +213,7 @@ void TestInfo(const char *ProgName)
*/
void TestParseCmdLine(int argc, char *argv[])
{
+ hbool_t skipped_all = FALSE;
int ret_code;
while (argv++, --argc > 0){
@@ -248,14 +249,20 @@ void TestParseCmdLine(int argc, char *argv[])
}
else if (((HDstrcmp(*argv, "-only") == 0) ||
(HDstrcmp(*argv, "-o") == 0))) {
- if (argc > 0){
+ if(argc > 0) {
int Loop;
+
--argc; ++argv;
+
/* Skip all tests, then activate only one. */
- for (Loop = 0; Loop < Index; Loop++)
- Test[Loop].SkipFlag = 1;
+ if(!skipped_all) {
+ for(Loop = 0; Loop < Index; Loop++)
+ Test[Loop].SkipFlag = 1;
+ skipped_all = TRUE;
+ } /* end if */
SetTest(*argv, ONLYTEST);
- }else{
+ } /* end if */
+ else {
TestUsage();
exit(EXIT_FAILURE);
}
@@ -548,6 +555,7 @@ TestErrPrintf(const char *format, ...)
void SetTest(const char *testname, int action)
{
int Loop;
+
switch (action){
case SKIPTEST:
for (Loop = 0; Loop < Index; Loop++)
@@ -569,17 +577,12 @@ void SetTest(const char *testname, int action)
break;
case ONLYTEST:
for (Loop = 0; Loop < Index; Loop++) {
- if (HDstrcmp(testname, Test[Loop].Name) != 0)
- Test[Loop].SkipFlag = 1;
- else {
+ if (HDstrcmp(testname, Test[Loop].Name) == 0) {
/* Found it. Set it to run. Break to skip the rest. */
Test[Loop].SkipFlag = 0;
break;
}
}
- /* skip the rest */
- while (++Loop < Index)
- Test[Loop].SkipFlag = 1;
break;
default:
/* error */