aboutsummaryrefslogtreecommitdiff
path: root/test/min_time_parse_gtest.cc
blob: e2bdf67850ab91f87b920904a69a29b81f916ca4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "../src/benchmark_runner.h"
#include "gtest/gtest.h"

namespace {

TEST(ParseMinTimeTest, InvalidInput) {
#if GTEST_HAS_DEATH_TEST
  // Tests only runnable in debug mode (when BM_CHECK is enabled).
#ifndef NDEBUG
#ifndef TEST_BENCHMARK_LIBRARY_HAS_NO_ASSERTIONS
  ASSERT_DEATH_IF_SUPPORTED(
      { benchmark::internal::ParseBenchMinTime("abc"); },
      "Malformed seconds value passed to --benchmark_min_time: `abc`");

  ASSERT_DEATH_IF_SUPPORTED(
      { benchmark::internal::ParseBenchMinTime("123ms"); },
      "Malformed seconds value passed to --benchmark_min_time: `123ms`");

  ASSERT_DEATH_IF_SUPPORTED(
      { benchmark::internal::ParseBenchMinTime("1z"); },
      "Malformed seconds value passed to --benchmark_min_time: `1z`");

  ASSERT_DEATH_IF_SUPPORTED(
      { benchmark::internal::ParseBenchMinTime("1hs"); },
      "Malformed seconds value passed to --benchmark_min_time: `1hs`");
#endif
#endif
#endif
}
}  // namespace