<html><head></head><body><div>On Fri, 2019-05-10 at 12:06 -0500, Dustyn Blasig wrote:</div><blockquote type="cite"><div dir="ltr">Hi All,<br><div><br></div><div>I'm curious if anyone has had success allowing two testing paths to coexist well.</div><div><br></div><div>Currently, we are using CTest to run our test executables with `make test`. However, on our Jenkins system, the build machines have the whole development stack but the test machines do not. So we need a way to package up the tests in a way that the test machines can simply run some generated script to do the equivalent of what CTest would do.</div><div><br></div><div>My current thought is to generate OS specific scripts `make test` depends on and runs. These scripts can get installed through `make install` if ENABLE_TEST_INSTALL is set, and then the test machine can run the installed scripts. The tricky part is building up the hierarchy of scripts in such a way that the tester just needs to run "test.sh" or "test.bat" at the top-level of the install hierarchy.</div><div><br></div><div>Any comments and suggestions greatly appreciated!</div><div></div></div></blockquote><div><br></div><div>If you at least have CMake/CTest installed on the test machines (even if you don't have compilers, libraries, etc.), then you can create a CMake project that doesn't build any code, but instead runs tests against a set of external executables.</div><div><br></div><div>The build process for CMake itself has a mechanism to do exactly this: if you configure CMake with -DCMake_TEST_EXTERNAL_CMAKE=path/to/bin, then it will execute the test suite against the external CMake executable without building any code. You could do something similar in your own project: add an option to instead run the test suite against an set of <b></b>external excutables instead of building them.</div><div><br></div><div>Hope that helps!</div><div><br></div><div>Kyle</div><div>
</div></body></html>