On Tue, Jun 29, 2021 at 04:32:36PM +0300, Nikos Nikoleris wrote: > Hi all, > > On 14/04/2021 11:42, Andrew Jones wrote: > > On Tue, Apr 13, 2021 at 05:52:37PM +0100, Nikos Nikoleris wrote: > > > On 24/03/2021 17:13, Nikos Nikoleris wrote: > > > > This set of patches makes small changes to the build system to allow > > > > easy integration of tests not included in the repository. To this end, > > > > it adds a parameter to the configuration script `--ext-dir=DIR` which > > > > will instruct the build system to include the Makefile in > > > > DIR/Makefile. The external Makefile can then add extra tests, > > > > link object files and modify/extend flags. > > > > > > > > In addition, to demonstrate how we can use this functionality, a > > > > README file explains how to use litmus7 to generate the C code for > > > > litmus tests and link with kvm-unit-tests to produce flat files. > > > > > > > > Note that currently, litmus7 produces its own independent Makefile as > > > > an intermediate step. Once this set of changes is committed, litmus7 > > > > will be modifed to make use hook to specify external tests and > > > > leverage the build system to build the external tests > > > > (https://github.com/relokin/herdtools7/commit/8f23eb39d25931c2c34f4effa096df58547a3bb4). > > > > > > > > > > Just wanted to add that if anyone's interested in trying out this series > > > with litmus7 I am very happy to help. Any feedback on this series or the way > > > we use kvm-unit-tests would be very welcome! > > > > Hi Nikos, > > > > It's on my TODO to play with this. I just haven't had a chance yet. I'm > > particularly slow right now because I'm in the process of handling a > > switch of my email server from one type to another, requiring rewrites > > of filters, new mail synchronization methods, and, in general, lots of > > pain... Hopefully by the end of this week all will be done. Then, I can > > start ignoring emails on purpose again, instead of due to the fact that > > I can't find them :-) > > > > Thanks, > > drew > > > > Just wanted to revive the discussion on this. In particular there are two > fairly small changes to the build system that allow us to add external tests > (in our case, generated using litmus7) to the list of tests we build. This > is specific to arm builds but I am happy to look into generalizing it to > include all archs. > Hi Nikos, I just spent a few minutes playing around with litmus7. I see the litmus/libdir/kvm-*.cfg files in herdtools7[1] are very kvm-unit-tests specific. They appear to absorb much of the kvm-unit-tests Makefile paths, flags, cross compiler prefixes, etc. Are these .cfg files the only kvm-unit-tests specific files in herdtools7? Here's a half-baked proposal that I'd like your input on: 1) Generate the kvm-unit-tests specific .cfg files in kvm-unit-tests when configured with a new --litmus7 configure switch. This will ensure that the paths, flags, etc. will be up to date in the .cfg file. 2) Add kvm-unit-tests as a git submodule to [1] to get access to the generated .cfg files and to build the litmus tests for kvm-unit-tests. A litmus7 command will invoke the kvm-unit-tests build (using make -C). 3) Create an additional unittests.cfg file (e.g. litmus7-tests.cfg) for kvm-unit-tests that allows easily running all the litmus7 tests. (That should also allow 'make standalone' to work for litmus7 tests.) 4) Like patch 3/3 already does, document the litmus7 stuff in kvm-unit-tests, so people understand the purpose of the --litmus7 configure switch and also to inform them of the ability to run additional tests and how (by using [1]). [1] https://github.com/herd/herdtools7.git Thanks, drew