Currently this is just a playground to setup xfce in docker.
This is a xubuntu 17.04, with a build from git sources of all core Xfce components + some apps for testing.
The tests are run automatically by travis.
✅ Those test are usually errored or failed as we are building master of the xfce repositories. A more stable branch will follow.
This test is set-up as a docker container which is displaying it's X11 content on a Xephyr instance on your screen.
The first process to be started is LDTP As "toolkit-accessibility" is activated (see Dockerfile) LDTP provides an XMLRPC port to run automated tests.
On top of LDTP there is Behave running a series of tests.
You can also just start the container and "play around" in the newest XFCE environment...
make manual-session
either "read" the Makefile :) or at least assure docker and Xephyr to be on-board
sudo apt install -y xserver-xephyr docker.io
If you don't want to build this docker image on your own (with the Makefile from github) you should
- pull the image from docker-hub
- start Xephyr
- run the container (having the X11 displayed in Xephyr)
here are those steps as copy'n'paste lines
docker pull schuellerf/xfce-test:latest
Xephyr :1 -ac -screen 800x600 &
docker run --name xfce-test --rm --env DISPLAY=":1" --volume /tmp/.X11-unix:/tmp/.X11-unix schuellerf/xfce-test:latest
to stop testing you can leave the xfce-session and close Xephyr or
killall Xephyr
or just close Xephyr - which would be "the hard way"
To inspect stuff inside the docker to help create more tests you might want to start sniff
which will help you identify the windows and buttons for LDTP.
You should start the tests with
make debug
This way the tests will stop executing and stay in the python debugger once a step fails.
Once this happens you can inspect the current state of "behave" or checkout the current state in the Xephyr window or open up a second shell and start make run-manual-session
to examine the current state
When you want to make screenshots for each test step just set the variable SCREENSHOTS
to ALWAYS
export SCREENSHOTS=ALWAYS
make
Don't forget to delete the Screenshots
folder before each run. Otherwise those pictures will get mixed up!
You can also use this container as test and compilation environment.
When you are in a source folder of a component (e.g. xfce4-panel) then you should set the SRC_DIR
to be a full path e.g.
your_host:~/xfce4-panel$ export SRC_DIR=$(pwd)
then start your compile and test enviroment (assuming that you have https://github.com/schuellerf/xfce-test checked out in your home)
your_host:~/xfce4-panel$ make -C ~/xfce-test compile-local
then you can go into the directory /data
in the docker container and compile/install and test in the Xephyr window
finally quit the bash of the docker container and tear down the container and Xephyr with
your_host:~/xfce4-panel$ make -C ~/xfce-test test-teardown