-
Notifications
You must be signed in to change notification settings - Fork 45
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
Fix broken tests for non-Fortran and CMake 3.21 builds (#363) #392
Merged
bartlettroscoe
merged 8 commits into
TriBITSPub:master
from
bartlettroscoe:363-fix-ci-tests
Jul 20, 2021
Merged
Fix broken tests for non-Fortran and CMake 3.21 builds (#363) #392
bartlettroscoe
merged 8 commits into
TriBITSPub:master
from
bartlettroscoe:363-fix-ci-tests
Jul 20, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Nice to set just for completeness. Not really related to TriBITSPub#363 but I did this while workoing on that. I also moved -DDART_TESTING_TIMEOUT=60 up in the argument list because -DCTEST_PARALLEL_LEVEL=16 these kind of go together.
This is one of the test cases being enabled for the GitHub Actions builds for TriBITS in TriBITSPub#363. Just reproducing locally and fixing.
…#363) All of these tests fail to configure because we don't pass down the ENABLE_Fortran configure option to the inner CMake configure and if a working Fortran compiler does not even exist on the system, then these tests fail in the configure of the inner project. While I could pass down this info somehow, a lot of these tests would fail anyway without some adjustment. We don't need every test to run if we don't have a Fortran compiler. We just don't want the TriBITS test suite to have a bunch of failing tests if a user clones the repo and tries to build and run the TriBITS test suite on a machine with no Fortran compiler (like a Mac or a Windows machine).
…#314, TriBITSPub#363) With CMake 3.21, with umask=g-rwx,o-rwx you need explicitly set g+rX for the group permissions to be r-X when setting <Project>_MAKE_INSTALL_WORLD_READABLE=ON which was doing just: chmod -R o+rX <dir> Now, when you ony set <Project>_MAKE_INSTALL_WORLD_READABLE=ON, you get: chmod -R g+rX,o+rX <dir> For some reason, with older verisons of CMake, it was setting the default group permission as 'r-x' when it should not have been. I ran exactly the same build on the same machine (crf450) with the same env except I used CMake 3.21.0 vs. 3.17.1 and I had to make this change to get the same permissions on the base install directory. Strange.
For CMake 3.21 it prints a "could not find requested file" instead of "could not find load file". The latter was obviously a typo so it is good they fixed it but I had this checked for in a test. Now the test passes in both cases.
…riBITSPub#363) Seems CMake 3.21 reports two install failures instead of just one as older versions of CMake reported. I guess it depends how you count. Either way, the number is greater than 0 so that is what matters really.
I searched the git logs and it looks like this change was pulled in the CMake 3.18.0 release. But I only tested this with CMake 3.17.1 and 3.21.0.
…ging code (TriBITSPub#363) With CMake 3.21, this was generating a deprecated warning. With the rest of TriBITS requiring CMake 3.17 it seems bad to have code that has min version going back to 2.6. However, this might change the behaivor of this code so that is a warning. (Fingers crossed.)
bartlettroscoe
added a commit
to bartlettroscoe/Trilinos
that referenced
this pull request
Sep 4, 2021
Brings in numerous refactorings to TriBITS over the last 3 months, but there should be no breaks in backward compatibility. Almost every file in TriBITS is changed due to the lower-casing of command, macro and function names in PR TriBITSPub/TriBITS#379. But the main driver for this snapshot is to bring in the change in PR TriBITSPub/TriBITS#413 that should make it so that Kokkos INTERFACE_COMPILE_OPTIONS get propagated to downstream targets in TriBITS and therefore to external customers through installed <Package>Config.cmake files and IMPORTED targets. I should have done several snapshots in the last few months and not done a big snapshot like this (but I have been testing with Trilinos locally along the way). Overall, this merge brings in changes from a bunch of TriBITS PRs including (from most recent): * TriBITSPub/TriBITS#413: Change internal TriBITS target_link_libraries() to PUBLIC (TriBITSPub/TriBITS#299) component: core type: enhancement * TriBITSPub/TriBITS#410: Upgrade from cmake 3.21.0 to 3.21.2 (TriBITSPub/TriBITS#363, TriBITSPub/TriBITS#394) * TriBITSPub/TriBITS#394: DO NOT MERGE: Show TriBITS test failures with CMake 3.21.0 that don't occur with CMake 3.17.5 (TriBITSPub/TriBITS#363) * TriBITSPub/TriBITS#409: Add getTestDictStatusField() to handle empty 'status' field (SESW-383) component: ci_support type: enhancement * TriBITSPub/TriBITS#408: Deal with spaces in CDash url parts (SESW-383) component: ci_support type: enhancement * TriBITSPub/TriBITS#403: Spelling fixes * TriBITSPub/TriBITS#407: Move tribits_get_build_url_and_write_to_file() to stand-alone module (TriBITSPub/TriBITS#154) component: ctest_driver type: enhancement * TriBITSPub/TriBITS#388: Fixing typos (TriBITSPub/TriBITS#377) * TriBITSPub/TriBITS#406: Fix tribits_ctest_driver() package-by-package mode for CMake 3.19+ (TriBITSPub/TriBITS#363, TriBITSPub/TriBITS#394) component: ctest_driver type: bug * TriBITSPub/TriBITS#401: Improve GitHub Actions and CDash integration (TriBITSPub/TriBITS#154) type: enhancement * TriBITSPub/TriBITS#366: CI: draft action yaml * TriBITSPub/TriBITS#402: Revert some incorrect uppercase->lowercase changes * TriBITSPub/TriBITS#387: Build and deploy TriBITS documentation with Sphinx (TriBITSPub/TriBITS#386) component: documentation type: enhancement * TriBITSPub/TriBITS#398: Deal with pr null in not preprending build name (TriBITSPub/TriBITS#363) type: bug * TriBITSPub/TriBITS#396: Send PR results to 'Pull Request' CDash group and add PR ID to build names (TriBITSPub/TriBITS#363) type: enhancement * TriBITSPub/TriBITS#397: Print the ninja path and version (TriBITSPub/TriBITS#363) * TriBITSPub/TriBITS#393: GitHub Actions based testing for TriBITS (TriBITSPub/TriBITS#363) type: enhancement * TriBITSPub/TriBITS#389: TriBITS CI testing with GitHub Actions (TriBITSPub/TriBITS#363) type: enhancement * TriBITSPub/TriBITS#392: Fix broken tests for non-Fortran and CMake 3.21 builds (TriBITSPub/TriBITS#363) component: core * TriBITSPub/TriBITS#391: Fix up build_docs.sh for Sphinx doc generation (TriBITSPub/TriBITS#386) component: documentation type: enhancement * TriBITSPub/TriBITS#390: Add test for doc generation and fix usage of Python3 component: documentation type: bug * TriBITSPub/TriBITS#385: Replace last few references to TribitsDevelopersGuide.html (TriBITSPub/TriBITS#381) component: documentation type: enhancement * TriBITSPub/TriBITS#384: Split TribitsDevelopersGuide.* into TribitsUsersGuide.* and TribitsMaintainersGuide.* (TriBITSPub/TriBITS#381) component: documentation type: enhancement * TriBITSPub/TriBITS#383: Remove endfunction(<string>) and endmacro(<string>) (TriBITSPub/TriBITS#274, TriBITSPub/TriBITS#382) component: common_tpls type: bug * TriBITSPub/TriBITS#380: More package-arch data-structure documentation updates (TriBITSPub/TriBITS#63) component: documentation type: enhancement * TriBITSPub/TriBITS#379: Convert TriBITS to lower-case CMake command, macro, and function names (TriBITSPub/TriBITS#274) The following files were conflicting where I went with what is on the Trilinos 'develop' branch: * cmake/tribits/common_tpls/FindTPLBLAS.cmake * cmake/tribits/common_tpls/FindTPLLAPACK.cmake * cmake/tribits/common_tpls/FindTPLNetcdf.cmake (It looks like the above changes never made it back into TriBITS proper. The conflicts were due to the case changes in cmake command calls in these files due to TriBITSPub/TriBITS#379.) There was also a conflict in the file: * cmake/tribits/core/installation/TribitsProjectConfigTemplate.cmake.in I looked at that one carefully and I think that may have been due to fixes on both sides and then the case changes from TriBITSPub/TriBITS#379.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related to #363
This fixes all of the tests for the no-Fortran (
TriBITS_ENABLE_Fortran=OFF
) builds mostly be disabling them and updates a few tests for changes in behavior of CMake 3.21 vs. CMake 3.17. But there are still 10 failing tests for CMake 3.21 due to changes in behavior that may be regressions of some type (but we need to understand more).This cleans up most of the failures to enable GitHub Actions testing for #363. The remaining CMake 3.21 tests will likely need to be disabled in the GHA testing builds.
See the individual commits for more details.