2
0
mirror of https://github.com/catchorg/Catch2 synced 2026-02-23 16:22:10 +00:00
Files
Catch2/tests/ExtraTests/X95-InfiniteGenerators.cpp
2026-02-13 21:30:26 +01:00

41 lines
1.0 KiB
C++

// Copyright Catch2 Authors
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE.txt or copy at
// https://www.boost.org/LICENSE_1_0.txt)
// SPDX-License-Identifier: BSL-1.0
/**\file
* Checks that GENERATE over infinite generator errors out when the tests are
* run with `-warn InfiniteGenerators`
*/
#include <catch2/catch_test_macros.hpp>
#include <catch2/generators/catch_generators.hpp>
namespace {
static int ONE = 1;
class infinite_generator : public Catch::Generators::IGenerator<int> {
public:
int const& get() const override { return ONE; }
bool next() override { return true; }
auto isFinite() const -> bool override { return false; }
};
static auto make_infinite_generator()
-> Catch::Generators::GeneratorWrapper<int> {
return { new infinite_generator() };
}
} // namespace
TEST_CASE() {
auto _ = GENERATE( make_infinite_generator() );
}
TEST_CASE() {
REQUIRE(true);
}