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
Add test to verify headers are self-contained #147
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure to fully understand the (Jamfile) logic, but conceptually this looks good to me. So, trusting that the CI will catch any issues, I'm going to approve this.
Feel free to ask specific questions about that script. I'll do my best to explain. |
A sample of errors caught by the two CI-s:
|
Make core and io headers self-contained. Required by test to verify headers are self-contained in boostorg#147.
138a6dc
to
36669fc
Compare
The new test require more time from the CI jobs, while the allowance is limited, eg. My plan is to:
|
For each header, a translation unit is generated along with corresponding compile target. Currently, only boost/gil/*.hpp and boost/gil/io/* headres are included. On CI services, compile self_contained_headers targets only if TEST_HEADERS environment variable is set. This is to avoid build timeouts due to CI services limits. When running b2 locally, the tests are compiled by default.
36669fc
to
9dc67ea
Compare
Done in 9dc67ea
|
For each header, a translation unit is generated along with corresponding compile target.
Currently, only
boost/gil/*.hpp
andboost/gil/io/* headres
are included.On CI services, compile self_contained_headers targets only if
TEST_HEADERS
environment variable is set. This is to avoid build timeouts due to CI services limits.When running b2 locally, the tests are compiled by default.
NOTE: The self-contained headers tests are built by default. There will be compilation errors due to actual 'broken' headers! Obviously, those need to be fixed via dedicated PRs/commits.
References
Tasklist