-
Kirill Smelkov authored
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 software/build-rina/runTestSuite.in software/buildout-testing/runTestSuite.in software/cython-test/runTestSuite.in software/erp5testnode/testsuite/deploy-test/runTestSuite.py software/jstestnode/runTestSuite.in software/neoppod/runTestSuite.in software/neoppod/stress-testing/runTestSuite.in software/unstable/pyodide/runTestSuite.in 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[1] 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 project. 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 changes). In the following patches we will add testing support for pygolang, zodbtools and wendelin.core . [1] https://lab.nexedi.com/kirr/nxdtest/blob/master/nxdtest [2] neo@51b18490 [3] neo@f67c147d
15bf01ed