You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, all of the unit tests are grouped to the utest_grppi CMake executable. In consequence, new back-ends cannot individually test the different patterns without modifying the underlying test to use a different execution policy (testing::Types<>). With the current design, CMake compiles all of the available tests even if they're not implemented. This causes static assertion errors due to unsupported patterns.
For example, a new back-end that only implements the map, reduce, and map-reduce patterns, cannot make use of their corresponding unit tests because a compilation error will occur:
static_assert failed due to requirement supports_pipeline<grppi::my_custom_execution>() "pipeline pattern is not supported by execution type"
The same error will similarly occur with all of the remaining unimplemented patterns. This could be addressed by splitting the tests into different executables.
Currently the only way to test individual unit tests (for incomplete back-ends) is to modify TYPED_TEST_SUITE(map_test, <custom_policy>,) in each desired file, and temporarily replacing <custom_policy> by a newly defined execution policy (in supported_executions.h).
The text was updated successfully, but these errors were encountered:
This is a suggestion rather than a bug.
Currently, all of the unit tests are grouped to the
utest_grppi
CMake executable. In consequence, new back-ends cannot individually test the different patterns without modifying the underlying test to use a different execution policy (testing::Types<>). With the current design, CMake compiles all of the available tests even if they're not implemented. This causes static assertion errors due to unsupported patterns.For example, a new back-end that only implements the map, reduce, and map-reduce patterns, cannot make use of their corresponding unit tests because a compilation error will occur:
static_assert failed due to requirement supports_pipeline<grppi::my_custom_execution>() "pipeline pattern is not supported by execution type"
The same error will similarly occur with all of the remaining unimplemented patterns. This could be addressed by splitting the tests into different executables.
Currently the only way to test individual unit tests (for incomplete back-ends) is to modify
TYPED_TEST_SUITE(map_test, <custom_policy>,)
in each desired file, and temporarily replacing <custom_policy> by a newly defined execution policy (in supported_executions.h).The text was updated successfully, but these errors were encountered: