Skip to content

Conversation

@RaduNichita
Copy link
Contributor

Added two more unit tests to the suite:

  • one to test the std::next function on a beman iterator
  • one to test the std::distance function on a beman iterator

@camio
Copy link
Member

camio commented Nov 14, 2024

Could these tests be made constexpr with static_assert?

@steve-downey
Copy link
Member

constexpr can involve different code paths in the implementation, so the tests should generally be both consteval and runtime. I think?

I'm still working out understanding of constexpr testing and testing constexpr code.

@neatudarius
Copy link
Member

I would also add tests for concepts like in https://github.com/beman-project/optional26/blob/main/src/beman/optional26/tests/detail/iterator.t.cpp

@neatudarius
Copy link
Member

constexpr can involve different code paths in the implementation, so the tests should generally be both consteval and runtime. I think?

I'm still working out understanding of constexpr testing and testing constexpr code.

https://github.com/beman-project/optional26/blob/main/src/beman/optional26/tests/detail/iterator.t.cpp#L18C9-L18C28

@steve-downey , is the same solution that we already have in this file in optional26? Is there any other "better" utility?

@steve-downey
Copy link
Member

constexpr can involve different code paths in the implementation, so the tests should generally be both consteval and runtime. I think?

I'm still working out understanding of constexpr testing and testing constexpr code.

https://github.com/beman-project/optional26/blob/main/src/beman/optional26/tests/detail/iterator.t.cpp#L18C9-L18C28

@steve-downey , is the same solution that we already have in this file in optional26? Is there any other "better" utility?

Looking at that, I'm not 100% sure that's actually consteval? That macro looks like it would work in a constexpr context, but it would also work at runtime?
Also need to be sure that, for example, we could iterate an array in a consteval function using one of these? Or a constexpr vector, if the compiler will let us?
And, hopefully, still produce a junit report so the dashboard is green, or the appropriate test is visibly failing?

Failing to compile is a draconian error and we don't get any other test results.

@RaduNichita RaduNichita merged commit c935543 into bemanproject:main Nov 15, 2024
7 checks passed
@neatudarius
Copy link
Member

Link this PR against #5

steve-downey pushed a commit to steve-downey/iterator_interface26 that referenced this pull request Mar 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants