Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for the TAP log format #381

Open
vinipsmaker opened this issue Mar 30, 2023 · 0 comments
Open

Support for the TAP log format #381

vinipsmaker opened this issue Mar 30, 2023 · 0 comments

Comments

@vinipsmaker
Copy link

TAP is a simple text-based protocol to communicate the results of unit tests. It's simple, old, and understood by lots of mainstream tools. Among the tools supporting TAP, there is CMake, Autotools, and Meson.

I'm currently using Meson as the build system and test harness for one of my projects. Meson will produce the JUnit XML file that I upload to the AppVeyor CI, and the results look like this: https://ci.appveyor.com/project/vinipsmaker/emilua/build/tests.

Boost.Test also can produce JUnit XML files, but then I'd have multiple XML files and I'd have to take care of them myself (possibly merging results, be careful to not clash with names already used by other test suites, etc).

Fortunately Meson is also a TAP consumer which means that any “unit test” that produces valid TAP output will be properly recognized as its own test suite and Meson will do the proper transformation to include these results in its own JUnit XML file. This is really ideal for my case as not every test is defined by C++ code, and it'd not be trivial to generate XML test output for shell commands, for instance.

So I think it'd be useful for Boost.Test to support the TAP protocol. It'd widen the ecosystem it already supports. Plus the TAP protocol is really simple, so it shouldn't be too difficult to implement.

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

No branches or pull requests

1 participant