-
Notifications
You must be signed in to change notification settings - Fork 345
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
TST/CI: Add post-install tests for CMake, pkg-config, and geos-config #429
Conversation
18c825f
to
8651b0c
Compare
78428dd
to
31e74fc
Compare
Ready for review for anyone willing to go thru a patch with C/C++/Autoconf/Automake/Make/CMake/POSIX sh/Windows BAT/YAML in it. The non-GitHub linked CI tests have not been verified yet. |
This is a very large and finicky piece of work to bring in, touching as it does every CI target. Having done only small and easy bits of CI work and seen them eat multiple days each time I shrink from picking this up on pure laziness grounds. Do we break external build frequently? |
Two recent issues that I've discovered while developing the previous post-install tests include: Probably most of these would have eventually been picked up on an alpha/beta/RC phase, but not always. The post-install tests can also be run on other installations of libgeos, e.g. from conda. Just run the script with a different prefix. |
Because there's lots going on in this PR, here is my English version of the methods: There are three ways to link a program to libgeos:
In the post-install suite, there are two trivial "apps" that are built against libgeos:
Besides testing a successful compilation, each build goes through two checks:
The checks are written using CTest (in the CMakeLists.txt files) or POSIX sh for geos-config/pkg-config (Automake supports a handy |
@robe2 any chance I can suck you into this? You have visibility into more CI envs than anyone else... |
Sorry just saw this. I haven't read thru it all but can probably look at it in a week or so. |
@robe2 I haven't mentioned here, but I'm already scheming a 3rd version of this test suite that checks static and dynamic libraries. It's on my laptop, but not done yet. So a review can wait until it's ready. |
@mwtoews Where did we leave off on this? |
It's still on my todo list. Let's close this one for now, and I'll open a new PR when ready. It should look similar to the one for PROJ. |
The primary objective with this PR is to test installing GEOS on a host, and run post-install tests that build and link apps based on the installed library. CMake, pkg-config, and geos-config solutions are tested independently. Autoconf and automake are also tested from a CMake-built library.
This largely supersedes #346, when autotools was natively supported.
See Trac #1113.