diff --git a/README.developer b/README.developer index 1c1a7c27c..bdca0f715 100644 --- a/README.developer +++ b/README.developer @@ -285,6 +285,7 @@ Optional, but highly recommended: * perl devel # h2xs * tcl devel # tcltk-depends * python devel # python-config +* pytest * lua devel * libxml2 devel # xml2-config --version * libgd2 devel # gdlib-config --version (rigmatrix) @@ -440,6 +441,46 @@ as above and once the run is complete: The resulting generated document in the 'latex' directory is 'refman.pdf'. +1.3.2 Automated tests + +Automated tests are executed running: + + make check + +The makefiles run the simple tests with automake. +The make variable TESTS contains the tests to be run and the variables +check_PROGRAMS and check_SCRIPTS contain the executables needed to run the +tests that aren't built by make all. +For more information see the automake manual at +https://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html + +1.3.2.1 C tests + +Tests written in C are available in the tests/ directory. They are run with: + + make -C tests/ check + +1.3.2.2 Python tests with pytest + +Tests written in Python are available in the bindings/python directory if +Hamlib is configured to build the Python bindings and if pytest is installed, +eg.: + + ./configure --with-python-binding --enable-pytest + +They are run with: + + make -C bindings/ check + +The Python scripts consist in handwritten tests, meant to test realistic use +cases, and autogenerated tests, meant to detect unwanted changes in the +bindings. When a public symbol is added to the bindings or removed, the +autogenerated tests must be updated: + + make -C bindings/ generate-pytests + +and the handwritten tests should be updated to reflect the change. + 1.4. Feedback