Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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 .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FROM ghcr.io/philips-software/amp-devcontainer-cpp:6.10.3@sha256:e1f388179dbeabaddcdd37b8b563ed89ca3cd36dcf158aa2e5c4f70eb513efec
FROM ghcr.io/philips-software/amp-devcontainer-cpp:7.2.0@sha256:1afa82f415104fd36c8af65740872fd01685275c2e1620f8133c35b3fbff0590

HEALTHCHECK NONE
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
build-in-devcontainer:
name: Devcontainer Build
runs-on: [ubuntu-latest]
container: ghcr.io/philips-software/amp-devcontainer-cpp:6.10.3@sha256:e1f388179dbeabaddcdd37b8b563ed89ca3cd36dcf158aa2e5c4f70eb513efec
container: ghcr.io/philips-software/amp-devcontainer-cpp:7.2.0@sha256:1afa82f415104fd36c8af65740872fd01685275c2e1620f8133c35b3fbff0590
strategy:
matrix:
target: [Host, Windows]
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:
issues: read
checks: write
pull-requests: write
container: ghcr.io/philips-software/amp-devcontainer-cpp:6.10.3@sha256:e1f388179dbeabaddcdd37b8b563ed89ca3cd36dcf158aa2e5c4f70eb513efec
container: ghcr.io/philips-software/amp-devcontainer-cpp:7.2.0@sha256:1afa82f415104fd36c8af65740872fd01685275c2e1620f8133c35b3fbff0590
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: hendrikmuhs/ccache-action@33522472633dbd32578e909b315f5ee43ba878ce # v1.2.22
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
sonar:
name: SonarCloud
runs-on: ubuntu-latest
container: ghcr.io/philips-software/amp-devcontainer-cpp:6.10.3@sha256:e1f388179dbeabaddcdd37b8b563ed89ca3cd36dcf158aa2e5c4f70eb513efec
container: ghcr.io/philips-software/amp-devcontainer-cpp:7.2.0@sha256:1afa82f415104fd36c8af65740872fd01685275c2e1620f8133c35b3fbff0590
env:
SONAR_SERVER_URL: "https://sonarcloud.io"
steps:
Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
codeql:
name: CodeQL
runs-on: ubuntu-latest
container: ghcr.io/philips-software/amp-devcontainer-cpp:6.10.3@sha256:e1f388179dbeabaddcdd37b8b563ed89ca3cd36dcf158aa2e5c4f70eb513efec
container: ghcr.io/philips-software/amp-devcontainer-cpp:7.2.0@sha256:1afa82f415104fd36c8af65740872fd01685275c2e1620f8133c35b3fbff0590
permissions:
security-events: write
steps:
Expand Down
23 changes: 14 additions & 9 deletions cucumber_cpp/library/BodyMacro.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,20 @@
{
cucumber_cpp::library::support::SetUpTearDownWrapper wrapper{ *static_cast<Base*>(this) };

// IILE to extract the argument types from the `Base::ExecuteImpl` function
[this, &args]<class... TArgs>(void (Base::* /* unused */)(TArgs...))
{
// IILE to call `Base::ExecuteImpl` with each argument transformed using `TransformArg`
[this, &args]<std::size_t... I>(std::index_sequence<I...> /*unused*/)
{
static_cast<Base*>(this)->ExecuteImpl(TransformArg<std::remove_cvref_t<TArgs>>(args[I].converterName, args[I].converterArgs)...);
}(std::make_index_sequence<sizeof...(TArgs)>{});
}(&Base::ExecuteImpl);
ExecuteImpl(&Base::ExecuteImpl, args);
}

private:
template<class... TArgs>
void ExecuteImpl(void (Base::* /*unused*/)(TArgs...), const util::ExecuteArgs& args)

Check warning on line 39 in cucumber_cpp/library/BodyMacro.hpp

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Replace this function pointer with a template parameter or a "std::function".

See more on https://sonarcloud.io/project/issues?id=philips-software_amp-cucumber-cpp-runner&issues=AZ7LN0HTq26mY3X2VVKP&open=AZ7LN0HTq26mY3X2VVKP&pullRequest=349
{
ExecuteImpl<TArgs...>(args, std::index_sequence_for<TArgs...>{});
}

template<class... TArgs, std::size_t... I>
void ExecuteImpl(const util::ExecuteArgs& args, std::index_sequence<I...> /*unused*/)
{
static_cast<Base*>(this)->ExecuteImpl(TransformArg<std::remove_cvref_t<TArgs>>(args[I].converterName, args[I].converterArgs)...);
}
};
}
Expand Down
6 changes: 6 additions & 0 deletions external/cucumber/gherkin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,9 @@ add_subdirectory(${cucumber_gherkin_SOURCE_DIR}/cpp ${cucumber_gherkin_BINARY_DI
set_target_properties(cucumber_gherkin_lib PROPERTIES CXX_STANDARD 20)
set_target_properties(cucumber_gherkin_bin PROPERTIES CXX_STANDARD 20)
set_target_properties(cucumber_gherkin_generate_tokens_bin PROPERTIES CXX_STANDARD 20)

# Mark cucumber_gherkin_lib include directories as SYSTEM so that deprecation
# warnings in third-party headers (e.g. std::wstring_convert in utils.hpp)
# are not raised as errors in consuming targets.
get_target_property(_gherkin_includes cucumber_gherkin_lib INTERFACE_INCLUDE_DIRECTORIES)
set_target_properties(cucumber_gherkin_lib PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_gherkin_includes}")
10 changes: 10 additions & 0 deletions external/google/googletest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,15 @@ if(NOT TARGET gtest)
FetchContent_MakeAvailable(googletest)

set_target_properties(gtest gtest_main gmock gmock_main PROPERTIES FOLDER External/GoogleTest)

# clang-22 promoted -Wcharacter-conversion to an on-by-default warning
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 22.0.0)
target_compile_options(gtest INTERFACE -Wno-character-conversion)
target_compile_options(gtest_main INTERFACE -Wno-character-conversion)
target_compile_options(gmock INTERFACE -Wno-character-conversion)
target_compile_options(gmock_main INTERFACE -Wno-character-conversion)
endif()
endif()
mark_as_advanced(BUILD_GMOCK BUILD_GTEST BUILD_SHARED_LIBS gmock_build_tests gtest_build_samples test_build_tests gtest_disable_pthreads gtest_force_shared_crt gtest_hide_internal_symbols)
endif()
Loading