Currently Nexedi takes mostly a copy-paste approach when it comes to
organizing bin/runTestSuite and an instance to run this inside testnode:
kirr@deco:~/src/wendelin/slapos/slapos-master$ git ls-files |grep runTestSuite
and adding new tests to be run this way will only increase the entropy.
Let's stop this, at least for new tests, and use a uniform approach without copying:
1) I've created nxdtest tool which allows a project to specify in
declarative way how to test itself: given such declaration nxdtest
takes on itself the responsibility to communicate with testnode
master, to drive test commands spawning etc, and leaves to the
project only semantic part that is specific to the particular
Nxdtest is based on my go/neo/t/nxd/runTestSuite[2,3] and on the code
I've seen elsewhere scattered in other runTestSuite.in files.
2) Let's add stack/nxdtest.cfg to SlapOS that provides easy way for a
software or component to organize testing of itself.
This patch adds stack/nxdtest and migrates software/neotest to use it
(because stack/nxdtest is based on it and this way it helps to track the
In the following patches we will add testing support for pygolang,
zodbtools and wendelin.core .