BOOST_AUTO_TEST_CASE_TEMPLATE with multiple template types
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reviewing the current BOOST_AUTO_TEST_CASE_TEMPLATE interface and how it handles template parameters. The requested behavior is support for cross-products of multiple type lists and for template types that remain partially specified; done means both example forms can define and run the intended test cases.
Written by the indexing model from the issue text.
Description
I find myself with a need to do something like:
using test_types_1 std::tuple<int,long,unsigned char> ;
using test_types_2 = test_types_1;
BOOST_AUTO_TEST_CASE_TEMPLATE( my_test, T1, T2, test_types_1, test_types_2 )
{
BOOST_TEST( sizeof(T1) == sizeof(T2) );
}
Where each call to my_test is the cross-product of the two vectors of test types.
As well as a need to do
using test_types_1 std::tuple<int,long,unsigned char> ;
using test_types_2 = some_template_type_list<std::vector, std::array, std::set>;
BOOST_AUTO_TEST_CASE_TEMPLATE( my_test, T1, template<typename ...> T2, test_types_1, test_types_2 )
{
BOOST_TEST( T2<T1>.empty() );
}
Where the template type provided to BOOST_AUTO_TEST_CASE_TEMPLATE is not fully specified, and is itself a template, so that one of the other template parameter types, or manually written code inside the test, can instantiate the template as part of the test.
- Dominant language
- C++
- Stars
- 217
- Forks
- 149
- Avg merge
- 18h 41m
- Merged PRs (30d)
- 1
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boostorg/test
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 3/5 1-2 days Newbie friendliness 52/100
-
Conversion Warning with GCC15 when using operator<< within custom failure message and -WConversionOpen
Difficulty 4/5 3-5 days Newbie friendliness 42/100
Similar issues
-
Server-side raycast misses objects with `rotate = true` selection boxes (degrees passed as radians)OpenUnconfirmed bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
luanti-org/luanti#17624 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
moneymanagerex/moneymanagerex#8564 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 Half a day Newbie friendliness 72/100
tesseract-robotics/tesseract_nanobind#190 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
telegramdesktop/tdesktop#31409 ·
Maintainers usually reply within 10 days