Updated Catch Macro blocks

Signed-off-by: Ian bell <ian.h.bell@gmail.com>
This commit is contained in:
Ian bell
2014-05-16 12:08:21 +02:00
parent 55c8a292fa
commit 5f591e4931

View File

@@ -147,58 +147,74 @@
}
static Catch::Session session; // There must be exactly one instance
#endif
int run_fast_tests()
{
Catch::ConfigData &config = session.configData();
config.testsOrTags.clear();
config.testsOrTags.push_back("[fast]");
session.useConfigData(config);
return session.run();
#ifdef ENABLE_CATCH
Catch::ConfigData &config = session.configData();
config.testsOrTags.clear();
config.testsOrTags.push_back("[fast]");
session.useConfigData(config);
return session.run();
#else
return 0;
#endif
}
int run_not_slow_tests()
{
Catch::ConfigData &config = session.configData();
config.testsOrTags.clear();
config.testsOrTags.push_back("~[slow]");
session.useConfigData(config);
#ifdef ENABLE_CATCH
Catch::ConfigData &config = session.configData();
config.testsOrTags.clear();
config.testsOrTags.push_back("~[slow]");
session.useConfigData(config);
time_t t1, t2;
t1 = clock();
session.run();
t2 = clock();
printf("Elapsed time for not slow tests: %g s",(double)(t2-t1)/CLOCKS_PER_SEC);
time_t t1, t2;
t1 = clock();
session.run();
t2 = clock();
printf("Elapsed time for not slow tests: %g s",(double)(t2-t1)/CLOCKS_PER_SEC);
return 1;
return 1;
#else
return 0;
#endif
}
int run_user_defined_tests(const std::vector<std::string> & tests_or_tags)
{
Catch::ConfigData &config = session.configData();
config.testsOrTags.clear();
for (unsigned int i = 0; i < tests_or_tags.size(); i++)
{
config.testsOrTags.push_back(tests_or_tags[i]);
}
session.useConfigData(config);
#ifdef ENABLE_CATCH
Catch::ConfigData &config = session.configData();
config.testsOrTags.clear();
for (unsigned int i = 0; i < tests_or_tags.size(); i++)
{
config.testsOrTags.push_back(tests_or_tags[i]);
}
session.useConfigData(config);
time_t t1, t2;
t1 = clock();
session.run();
t2 = clock();
printf("Elapsed time for user defined tests: %g s",(double)(t2-t1)/CLOCKS_PER_SEC);
time_t t1, t2;
t1 = clock();
session.run();
t2 = clock();
printf("Elapsed time for user defined tests: %g s",(double)(t2-t1)/CLOCKS_PER_SEC);
return 1;
return 1;
#else
return 0;
#endif
}
void run_tests()
{
Catch::ConfigData &config = session.configData();
config.testsOrTags.clear();
//config.shouldDebugBreak = true;
session.useConfigData(config);
session.run();
#ifdef ENABLE_CATCH
Catch::ConfigData &config = session.configData();
config.testsOrTags.clear();
//config.shouldDebugBreak = true;
session.useConfigData(config);
session.run();
#else
return 0;
#endif
}
#endif