-
Notifications
You must be signed in to change notification settings - Fork 228
Add compile-only tests verifying headers are self-contained #525
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 compile-only tests verifying headers are self-contained #525
Conversation
Add Boost.Jam rule generating test target for each header found in specified location. List test suites (target aliases) for groups of headers. Build self_contained_headers test only if CI environment variable is NOT defined or on-demand, if TEST_HEADERS environment variable is defined, or if b2 test/self_contained_headers is requested from command line. Related to issue boostorg#523
|
Thanks, this is useful. |
|
Thanks! |
|
Wow, thanks! Just to be sure, does it work with CircleCI? (EDIT: And by "it" I mean bjam properly defining |
|
I see no reason why it should not work on CircleCI - I mean, those tests should be automatically filtered there as on Travis or AppVeyor. CircleCI does define |
|
Ok, thanks for the explanation. |
|
@mloskot This change polluted our regression matrix (https://www.boost.org/development/tests/develop/developer/geometry.html). I'm considering disabling it by default. Or maybe do you have some other ideas? EDIT: Furthermore on windows the generated paths are too long even with |
Disable headers tests on CI services and during regression tests. Refines boostorg#525
|
If they are not run by default it is no longer an issue since we can just run them on linux. Thanks! |
Disable headers tests on CI services and during regression tests. Refines boostorg#525
Add Boost.Jam rule generating test target for each header found in specified location.
List test suites (target aliases) for groups of headers.
Build self_contained_headers test only if
CIenvironment variable is NOT defined or on-demand, ifTEST_HEADERSenvironment variable is defined, or ifb2 test/self_contained_headersis requested from command line.Related to issue #523
First, this PR does not attempt to fix any headers, not yet.
I've run all the headers tests on 24 CPUs (48 logical cores) as follows:
AFAICT, it compile-tests ~900 headers in less than 4 minutes:
And, I have only included several extensions, see
alias-es and comments intest/self_contained_headers/Jamfile.To run the tests on CI services, it should be enough to define environment variable
TEST_HEADERS=1for one just build job. For example, Boost.GIL defines it for first job only https://travis-ci.org/boostorg/gil/jobs/447353675