Coverage Report

Created: 2026-10-28 06:38

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/CMake/Source/cmTestDiscovery.h
Line
Count
Source
1
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2
   file LICENSE.rst or https://cmake.org/licensing for details.  */
3
#pragma once
4
5
#include "cmConfigure.h" // IWYU pragma: keep
6
7
#include "cmArgumentParser.h"
8
9
struct cmTestDiscoveryArgs : ArgumentParser::ParseResult
10
{
11
  ArgumentParser::NonEmpty<std::vector<std::string>> Command;
12
  ArgumentParser::NonEmpty<std::vector<std::string>> DiscoveryArgs;
13
  ArgumentParser::NonEmpty<std::string> DiscoveryMatch;
14
  ArgumentParser::MaybeEmpty<std::vector<std::string>> DiscoveryProperties;
15
  ArgumentParser::MaybeEmpty<std::vector<std::string>> BuildDepends;
16
  ArgumentParser::NonEmpty<std::string> TestName;
17
  ArgumentParser::NonEmpty<std::vector<std::string>> TestArgs;
18
  ArgumentParser::MaybeEmpty<std::vector<std::string>> TestProperties;
19
};
20
21
template <typename Args>
22
auto cmTestDiscoveryParser() -> cmArgumentParser<Args>
23
0
{
24
0
  static_assert(std::is_base_of<cmTestDiscoveryArgs, Args>::value, "");
25
0
  return cmArgumentParser<Args>{}
26
0
    .Bind("COMMAND"_s, &Args::Command)
27
0
    .Bind("DISCOVERY_ARGS"_s, &Args::DiscoveryArgs)
28
0
    .Bind("DISCOVERY_MATCH"_s, &Args::DiscoveryMatch)
29
0
    .Bind("DISCOVERY_PROPERTIES"_s, &Args::DiscoveryProperties)
30
0
    .Bind("BUILD_DEPENDS"_s, &Args::BuildDepends)
31
0
    .Bind("TEST_NAME"_s, &Args::TestName)
32
0
    .Bind("TEST_ARGS"_s, &Args::TestArgs)
33
0
    .Bind("TEST_PROPERTIES"_s, &Args::TestProperties);
34
0
}