{ "--unit-test", Parameter::PT_SELECT,
"silent | minimal | normal | verbose | env (export CK_VERBOSITY)", nullptr,
"<verbosity> run unit tests with given libcheck output mode" },
+ { "--catch-tags", Parameter::PT_STRING, nullptr, nullptr,
+ "comma separated list of cat unit test tags" },
#endif
{ "--version", Parameter::PT_IMPLIED, nullptr, nullptr,
"show version number (same as -V)" },
#ifdef UNIT_TEST
else if ( v.is("--unit-test") )
unit_test_mode(v.get_string());
+ else if ( v.is("--catch-tags") )
+ unit_test_catch_test_filter(v.get_string());
#endif
else if ( v.is("--version") )
help_version(sc, v.get_string());
//--------------------------------------------------------------------------
// unit_test.h author Russ Combs <rucombs@cisco.com>
+#include <vector>
+#include <string>
+
#include "unit_test.h"
#include <stdlib.h>
#include "suite_decl.h"
static print_output s_mode = CK_LAST;
+static std::vector<std::string> test_tags;
typedef Suite* (* SuiteCtor_f)();
s_mode = CK_ENV;
}
+void unit_test_catch_test_filter(const char* s)
+{
+ test_tags.push_back( s );
+}
+
bool unit_test_enabled()
{
return s_mode != CK_LAST;
{
Catch::Session session;
// write to session.configData() or session.Config() to customize
+ if( s_mode == CK_VERBOSE )
+ session.configData().showSuccessfulTests = true;
+ if( test_tags.size() > 0 )
+ session.configData().testsOrTags = test_tags;
+
return session.run() == 0;
}