diff --git a/UnitTest++/TestRunner.cpp b/UnitTest++/TestRunner.cpp index f143eca..6f19121 100644 --- a/UnitTest++/TestRunner.cpp +++ b/UnitTest++/TestRunner.cpp @@ -5,6 +5,7 @@ #include "TimeHelpers.h" #include "MemoryOutStream.h" #include "SuitePredicate.h" +#include "ParameterizedManager.h" #include @@ -81,7 +82,21 @@ namespace UnitTest { return true; } - int RunTestsCmd(int argc, char**argv, char const* suiteArgument, char const* testArgument) + bool readIgnoreParamArgument(int argc, char**argv, char const* argument) + { + int from, count; + if (!findArgumentListIndex(argc, argv, argument, from, count)) + { + return false; + } + for (int i = from; i < from + count; i++) + { + ParameterizedManager::getInstance().ignoreIndexes(argv[i]); + } + return true; + } + + int RunTestsCmd(int argc, char**argv, char const* suiteArgument, char const* testArgument, char const* ignoreParamArgument) { SuitePredicate predicate; @@ -89,6 +104,8 @@ namespace UnitTest { specific |= readSuiteArgument(predicate, argc, argv, suiteArgument); specific |= readTestArgument(predicate, argc, argv, testArgument); + readIgnoreParamArgument(argc, argv, ignoreParamArgument); + if (!specific) { predicate.addAll(); diff --git a/UnitTest++/TestRunner.h b/UnitTest++/TestRunner.h index 9226f2b..fbf14c0 100644 --- a/UnitTest++/TestRunner.h +++ b/UnitTest++/TestRunner.h @@ -12,7 +12,7 @@ namespace UnitTest { class Timer; UNITTEST_LINKAGE int RunAllTests(); - UNITTEST_LINKAGE int RunTestsCmd(int argc, char**argv, char const* suiteArgument = "--suite", char const* testArgument = "--test"); + UNITTEST_LINKAGE int RunTestsCmd(int argc, char**argv, char const* suiteArgument = "--suite", char const* testArgument = "--test", char const* ignoreParamArgument = "--ignoreparam"); struct True {