int real_main(int argc, char* argv[]) { OptionList options; options.parse(argc, argv, "f:L:l:c:t:s"); if(options.args.size() == 0) { usage("testngppst-runner"); } //showOptions(options); StringList listeners; getListeners(listeners, options); StringList searchingPathsOfListeners; getSearchingPathsOfListeners(searchingPathsOfListeners, options); StringList fixtures; getSpecifiedFixtures(fixtures, options); bool usesSandbox = useSandbox(options); unsigned int maxConcurrent = 0; if(usesSandbox) { maxConcurrent = getMaxConcurrent(options); } std::string tagsFilterOption = getSingleOption("t", options, "*"); return TestRunner().runTests(useSandbox(options), maxConcurrent, options.args, listeners , searchingPathsOfListeners, fixtures, tagsFilterOption); }
unsigned int OptionList:: getSingleUnsignedOption ( const std::string& option , const unsigned int defaultValue) { std::ostringstream oss; oss << defaultValue; std::string result = getSingleOption(option, oss.str()); return atoi(result.c_str()); }
static unsigned int getMaxConcurrent(OptionList& options) { std::string s = getSingleOption("c", options, "1"); errno = 0; int result = ::strtol(s.c_str(),0,10); if(result < 0 || (result == 0 && errno == ERANGE)) { std::cerr << "error: invalid value of option -c : " << s << std::endl; exit(1); } std::cout << "maximum # of sandboxes = " << result << std::endl; return result; }