brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 96f5058 Raw
46 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8///9/// \file10/// This file contains the definition of the command-line options and the11/// implementation of the logic for selecting test configurations.12///13//===----------------------------------------------------------------------===//14 15#include "mathtest/CommandLineExtras.hpp"16 17#include "mathtest/CommandLine.hpp"18#include "mathtest/TestConfig.hpp"19 20#include "llvm/ADT/SmallVector.h"21#include "llvm/Support/CommandLine.h"22 23using namespace mathtest;24 25llvm::cl::opt<bool> mathtest::cl::IsVerbose(26    "verbose",27    llvm::cl::desc("Enable verbose output for failed and unsupported tests"),28    llvm::cl::init(false));29 30llvm::cl::opt<llvm::cl::TestConfigsArg> mathtest::cl::detail::TestConfigsOpt(31    "test-configs", llvm::cl::Optional,32    llvm::cl::desc("Select test configurations"),33    llvm::cl::value_desc("all|provider:platform[,provider:platform...]"));34 35const llvm::SmallVector<TestConfig, 4> &mathtest::cl::getTestConfigs() {36  switch (detail::TestConfigsOpt.Mode) {37  case llvm::cl::TestConfigsArg::Mode::Default:38    return getDefaultTestConfigs();39  case llvm::cl::TestConfigsArg::Mode::All:40    return getAllTestConfigs();41  case llvm::cl::TestConfigsArg::Mode::Explicit:42    return detail::TestConfigsOpt.Explicit;43  }44  llvm_unreachable("Unknown TestConfigsArg mode");45}46