<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Inline below.<br><div dir="ltr"><div><br></div><div>--</div><div>Jonathan</div></div><div dir="ltr"><br>On Oct 19, 2018, at 6:19 AM, Brad King <<a href="mailto:brad.king@kitware.com">brad.king@kitware.com</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><span>On 10/18/2018 11:22 PM, Jonathan R. Madsen wrote:</span><br><blockquote type="cite"><span>I have created some Python bindings for CTest. The goal was to</span><br></blockquote><blockquote type="cite"><span>create an easy way for Python projects that I work with to be able</span><br></blockquote><blockquote type="cite"><span>to wrap their Python compilation log (if there was one), dynamically</span><br></blockquote><blockquote type="cite"><span>generate CTests and/or wrap their existing testing commands, do any</span><br></blockquote><blockquote type="cite"><span>additional testing analysis (in Python), etc. and then submit the</span><br></blockquote><blockquote type="cite"><span>logs, notes, plots, etc. to CDash without requiring them to overhaul</span><br></blockquote><blockquote type="cite"><span>any of their existing build or testing systems. </span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Is there any interest in this development?</span><br></blockquote><span></span><br><span>Neat.  Have you published these anywhere?</span><br><span></span><br></div></blockquote><span style="background-color: rgba(255, 255, 255, 0);">Yes it is currently available at </span><a href="https://github.com/jrmadsen/pyctest">https://github.com/jrmadsen/pyctest</a><span style="background-color: rgba(255, 255, 255, 0);">.</span></div><div><span style="background-color: rgba(255, 255, 255, 0);">The 'conda-fixes' branch is what I've been working on most recently but I hasn't diverged much outside of the examples. This is a good example of how the driver works:</span></div><div><br></div><div><a href="https://github.com/jrmadsen/pyctest/blob/conda-fixes/examples/TomoPy/pyctest_tomopy.py">https://github.com/jrmadsen/pyctest/blob/conda-fixes/examples/TomoPy/pyctest_tomopy.py</a></div><div><br><blockquote type="cite"><div dir="ltr"><span>Does this make modifications to CTest itself,</span></div></blockquote><br><span style="background-color: rgba(255, 255, 255, 0);">It does not modify CTestLib or CMakeLib in any substantial way. I had to reimplement some classes to bypass some expectations -- such as the expections for actual files -- but when that was required I prefixed the new/alternative implementation with "py" (e.g. cmConfigureFileCommand became pycmConfigureFileCommand).</span></div><div><br><blockquote type="cite"><div dir="ltr"><span>or is this all</span><br><span>going through CTestTestfile.cmake generation?  </span></div></blockquote><br><div><span style="background-color: rgba(255, 255, 255, 0);">I'm not 100% sure what you are asking here. For the most part, I let y'all's library do all the work. For example, the Python version of cmTest (pycmTest) uses cmPropertyMap and the Python version of cmTestGenerator (pycmTestGenerator) </span><span style="background-color: rgba(255, 255, 255, 0);">inherits from cmScriptGenerator. I believe this to be a far less error-prone method than just creating a Python package that "knows the syntax" and writes files for CMake/CTest.</span></div><div><br></div><blockquote type="cite"><div dir="ltr"><span>I don't think we</span><br><span>can have "ctest" itself link to python libraries.</span><br><span></span><br></div></blockquote></div><div><br></div><div>Nothing on the CMake side has any dependencies on python libraries as a result of this. I just include header files and link to y'all's library like one does with any other API. </div><div><br><blockquote type="cite"><div dir="ltr"><span>Thanks,</span><br><span>-Brad</span><br></div></blockquote></div></body></html>