MCPcopy Create free account
hub / github.com/Compaile/ctrack / parseArgs

Method parseArgs

test/doctest.h:6637–6761  ·  view source on GitHub ↗

parses args

Source from the content-addressed store, hash-verified

6635
6636// parses args
6637void Context::parseArgs(int argc, const char* const* argv, bool withDefaults) {
6638 using namespace detail;
6639
6640 // clang-format off
6641 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "source-file=", p->filters[0]);
6642 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sf=", p->filters[0]);
6643 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "source-file-exclude=",p->filters[1]);
6644 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sfe=", p->filters[1]);
6645 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-suite=", p->filters[2]);
6646 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "ts=", p->filters[2]);
6647 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-suite-exclude=", p->filters[3]);
6648 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "tse=", p->filters[3]);
6649 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-case=", p->filters[4]);
6650 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "tc=", p->filters[4]);
6651 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-case-exclude=", p->filters[5]);
6652 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "tce=", p->filters[5]);
6653 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "subcase=", p->filters[6]);
6654 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sc=", p->filters[6]);
6655 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "subcase-exclude=", p->filters[7]);
6656 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sce=", p->filters[7]);
6657 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "reporters=", p->filters[8]);
6658 parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "r=", p->filters[8]);
6659 // clang-format on
6660
6661 int intRes = 0;
6662 String strRes;
6663
6664#define DOCTEST_PARSE_AS_BOOL_OR_FLAG(name, sname, var, default) \
6665 if(parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name "=", option_bool, intRes) || \
6666 parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname "=", option_bool, intRes)) \
6667 p->var = static_cast<bool>(intRes); \
6668 else if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name) || \
6669 parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname)) \
6670 p->var = true; \
6671 else if(withDefaults) \
6672 p->var = default
6673
6674#define DOCTEST_PARSE_INT_OPTION(name, sname, var, default) \
6675 if(parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name "=", option_int, intRes) || \
6676 parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname "=", option_int, intRes)) \
6677 p->var = intRes; \
6678 else if(withDefaults) \
6679 p->var = default
6680
6681#define DOCTEST_PARSE_STR_OPTION(name, sname, var, default) \
6682 if(parseOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name "=", &strRes, default) || \
6683 parseOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname "=", &strRes, default) || \
6684 withDefaults) \
6685 p->var = strRes
6686
6687 // clang-format off
6688 DOCTEST_PARSE_STR_OPTION("out", "o", out, "");
6689 DOCTEST_PARSE_STR_OPTION("order-by", "ob", order_by, "file");
6690 DOCTEST_PARSE_INT_OPTION("rand-seed", "rs", rand_seed, 0);
6691
6692 DOCTEST_PARSE_INT_OPTION("first", "f", first, 0);
6693 DOCTEST_PARSE_INT_OPTION("last", "l", last, UINT_MAX);
6694

Callers

nothing calls this directly

Calls 2

parseCommaSepArgsFunction · 0.85
parseFlagFunction · 0.85

Tested by

no test coverage detected