Enlightenment has a regression testing suite that can be of benefit when exploring a possible defect or unexpected change in the window manager or it's applications.
The test suite can be found at https://git.enlightenment.org/devs/zmike/test-e.git but it must be installed using the following instructions before it can be used.
The test suite should be cloned from git and installed in the usual autotools manner:
$ git clone https://git.enlightenment.org/devs/zmike/test-e.git
$ cd test-e
$ ./autogen.sh --prefix=
$ make
$ make install
Tests are invoked using the run script:
./run.sh
runs all available tests./run.sh <test1> <test2>
run the specified testsGraphical output is rendered to a png file matching the name of the test i.e. test1.png.
Test stdout and stderr are saved to a log file with the same name i.e. test1.log.
The following environment variables are supported to control the behaviour of the tests:
Additionally you can change the expected outcome of a test by editing the imgs/testname.png file. If you delete the file then it will be recreated from the output of the next test run.
To add a new test to the suite follow these steps
Create src/<newtestname>.c
Copy scripts/basic.sh to scripts/<newtestname>.sh
Add src/<newtestname>.c to src/Makefile.mk
Add RUN_TEST(<newtestname>); to src/e_mod_main.c
Add TEST_FN(<newtestname>); to src/e_mod_main.h
Add the following content to src/<newtestname>.c as a starting point:
#include "e_mod_main.h"
TEST_FN(<testname>)
{
// Initialize stuff here
}
For further examples of how to write tests please check the content of existing test files.