Skip to content
This repository was archived by the owner on Apr 19, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Now you can clone the project locally and get to work!

## Testing

See [Catch2 tutorial](https://github.com/catchorg/Catch2/blob/master/docs/tutorial.md)
See [Catch2 tutorial](https://github.com/catchorg/Catch2/blob/develop/docs/tutorial.md)

## Fuzz testing

Expand Down
2 changes: 1 addition & 1 deletion conanfile.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Docs at https://docs.conan.io/en/latest/reference/conanfile_txt.html

[requires]
catch2/2.13.9
catch2/3.3.0
cli11/2.2.0
spdlog/1.10.0

Expand Down
16 changes: 6 additions & 10 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@ find_package(Catch2 CONFIG REQUIRED)

include(Catch)

add_library(catch_main OBJECT catch_main.cpp)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've kept this lines to avoid changing to Catch2::Catch2WithMain in all other target_link_libraries. It worked anyway.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you elaborate on what the benefits are of keeping the catch_main target? When keeping it it just serves as an alias for Catch2::CatchWithMain. My initial thought was to remove it, since it shortens and simplifies the cmake file and thus servers the purpose of a minimal starter project better.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think none to be honest. But you see that's an project_options include. I'm not sure if it changes something or not.

target_link_libraries(catch_main PUBLIC Catch2::Catch2)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed only here to target_link_libraries(catch_main PUBLIC Catch2::Catch2WithMain)

target_link_libraries(catch_main PRIVATE myproject::project_options)

# Provide a simple smoke test to make sure that the CLI works and can display a --help message
add_test(NAME cli.has_help COMMAND intro --help)

Expand All @@ -43,7 +39,7 @@ add_test(NAME cli.version_matches COMMAND intro --version)
set_tests_properties(cli.version_matches PROPERTIES PASS_REGULAR_EXPRESSION "${PROJECT_VERSION}")

add_executable(tests tests.cpp)
target_link_libraries(tests PRIVATE myproject::project_warnings myproject::project_options catch_main)
target_link_libraries(tests PRIVATE myproject::project_warnings myproject::project_options Catch2::Catch2WithMain)

# automatically discover tests that are defined in catch based test files you can modify the unittests. Set TEST_PREFIX
# to whatever you want, or use different for different binaries
Expand All @@ -52,7 +48,7 @@ catch_discover_tests(
TEST_PREFIX
"unittests."
REPORTER
xml
XML
OUTPUT_DIR
.
OUTPUT_PREFIX
Expand All @@ -62,14 +58,14 @@ catch_discover_tests(

# Add a file containing a set of constexpr tests
add_executable(constexpr_tests constexpr_tests.cpp)
target_link_libraries(constexpr_tests PRIVATE myproject::project_options myproject::project_warnings catch_main)
target_link_libraries(constexpr_tests PRIVATE myproject::project_options myproject::project_warnings Catch2::Catch2WithMain)

catch_discover_tests(
constexpr_tests
TEST_PREFIX
"constexpr."
REPORTER
xml
XML
OUTPUT_DIR
.
OUTPUT_PREFIX
Expand All @@ -80,15 +76,15 @@ catch_discover_tests(
# Disable the constexpr portion of the test, and build again this allows us to have an executable that we can debug when
# things go wrong with the constexpr testing
add_executable(relaxed_constexpr_tests constexpr_tests.cpp)
target_link_libraries(relaxed_constexpr_tests PRIVATE myproject::project_options myproject::project_warnings catch_main)
target_link_libraries(relaxed_constexpr_tests PRIVATE myproject::project_options myproject::project_warnings Catch2::Catch2WithMain)
target_compile_definitions(relaxed_constexpr_tests PRIVATE -DCATCH_CONFIG_RUNTIME_STATIC_REQUIRE)

catch_discover_tests(
relaxed_constexpr_tests
TEST_PREFIX
"relaxed_constexpr."
REPORTER
xml
XML
OUTPUT_DIR
.
OUTPUT_PREFIX
Expand Down
3 changes: 0 additions & 3 deletions test/catch_main.cpp

This file was deleted.

2 changes: 1 addition & 1 deletion test/constexpr_tests.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <catch2/catch.hpp>
#include <catch2/catch_test_macros.hpp>

constexpr unsigned int Factorial(unsigned int number)// NOLINT(misc-no-recursion)
{
Expand Down
2 changes: 1 addition & 1 deletion test/tests.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <catch2/catch.hpp>
#include <catch2/catch_test_macros.hpp>

unsigned int Factorial(unsigned int number)// NOLINT(misc-no-recursion)
{
Expand Down