Tests: cleanup and tidy docker definitions and scripts
--- a/.github/workflows/run_tests_in_docker.yml Thu Nov 24 16:12:03 2022 +0100
+++ b/.github/workflows/run_tests_in_docker.yml Thu Nov 24 17:21:53 2022 +0100
@@ -40,7 +40,7 @@
- if: ${{ steps.cache-docker.outputs.cache-hit == false }}
name: Create docker image
- cd beremiz/tests/tools/Docker/beremiz-sikuli
+ cd beremiz/tests/tools/Docker docker image save --output="/tmp/latest.tar" beremiz_sikuli
@@ -51,12 +51,12 @@
- name: Create docker container
- cd beremiz/tests/tools/Docker/beremiz-sikuli
+ cd beremiz/tests/tools/Docker ./create_docker_container.sh ${{ github.workspace }}/test
- name: Run tests in docker
- cd beremiz/tests/tools/Docker/beremiz-sikuli
+ cd beremiz/tests/tools/Docker - name: Upload test resuts artifact
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tools/Docker/Dockerfile Thu Nov 24 17:21:53 2022 +0100
@@ -0,0 +1,79 @@
+# Dockerfile for Beremiz +# This container is used to run tests for Beremiz +RUN groupadd -g $GID $UNAME +RUN useradd -m -u $UID -g $GID -s /bin/bash $UNAME + && TZ="America/Paris" \ + DEBIAN_FRONTEND="noninteractive" \ + apt-get install -y --no-install-recommends \ + `# to run X based tests` \ + `# to build tested apps` \ + build-essential automake flex bison mercurial \ + libgtk-3-dev libgl1-mesa-dev libglu1-mesa-dev \ + libpython2.7-dev libssl-dev \ + python2 virtualenv cmake +# force bigger font and flat theme for GTK in order to make OCR more reliable +RUN mkdir -p /etc/gtk-3.0 +RUN env echo -e '[Settings]\ngtk-font-name=FreeSans,12\ngtk-theme-name=Materia\n' > /etc/gtk-3.0/settings.ini +# link obtained from https://raiman.github.io/SikuliX1/downloads.html + wget -qP /usr/local/bin \ + https://launchpad.net/sikuli/sikulix/2.0.5/+download/sikulixide-2.0.5.jar && \ + echo 0795f1e0866ee5a7a84e4c89793ea78c /usr/local/bin/sikulixide-2.0.5.jar | md5sum -c && \ + ( echo '#!/bin/sh' && \ + echo "exec java -jar /usr/local/bin/sikulixide-*.jar \"\$@\"" \ + ) | install /dev/stdin /usr/local/bin/sikulix +RUN env echo -e '#!/bin/bash\nmake -f /home/testing/src/beremiz/tests/Makefile $*' > /usr/local/bin/do_tests +RUN chmod +x /usr/local/bin/do_tests +RUN mkdir /home/$UNAME/build /home/$UNAME/src /home/$UNAME/test +RUN virtualenv --python=$(which python2) ~/beremizenv +RUN ~/beremizenv/bin/pip install \ + pytest pytest-timeout ddt \ + lxml future matplotlib zeroconf2 enum34 pyro sslpsk posix_spawn \ + twisted nevow autobahn click opcua \ +# Point to python binary test scripts will use +ENV BEREMIZPYTHONPATH /home/$UNAME/beremizenv/bin/python +# easy to remember 'do_tests' alias to invoke main makefile +ARG OWNDIRBASENAME=beremiz +ENV OWNDIRBASENAME ${OWNDIRBASENAME} --- a/tests/tools/Docker/beremiz-requirements/Dockerfile Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-# Dockerfile for Beremiz
-# This container is used to run tests for Beremiz
-# To run test localy use following command executed from beremiz directory:
-# $ docker run --volume=$PWD:/beremiz --workdir="/beremiz" --volume=$PWD/../CanFestival-3:/CanFestival-3 --memory=1g --entrypoint=/beremiz/tests/tools/check_source.sh skvorl/beremiz-requirements
-FROM skvorl/python2.7-wxpython
-MAINTAINER Andrey Skvortsov <andrej.skvortzov@gmail.com>
- && apt-get install -y --no-install-recommends \
- && apt-get install -y --no-install-recommends ca-certificates \
- && apt-get install -y --no-install-recommends wxglade python-cwiid \
- && apt-get install -y --no-install-recommends build-essential automake flex bison mercurial python-pip \
- && apt-get install -y --no-install-recommends \
- python-pytest-timeout \
- && apt-get install -y python3-pip \
- && pip3 install crossbar \
- && /usr/bin/pip install gnosis \
- && hg clone http://dev.automforge.net/CanFestival-3 \
- && hg clone -r 24ef30a9bcee1e65b027be2c7f7a8d52c41a7479 https://bitbucket.org/automforge/matiec \
- && mkdir /usr/lib/matiec \
- && cp -vR lib/* /usr/lib/matiec \
- && hg clone https://bitbucket.org/mjsousa/modbus Modbus \
- && svn checkout https://svn.code.sf.net/p/bacnet/code/trunk/bacnet-stack/ BACnet \
- && make MAKE_DEFINE='-fPIC' all \
- && apt-get remove -y bison flex automake python-pip python3-pip libpython2.7-dev \
- && apt-get autoremove -y \
--- a/tests/tools/Docker/beremiz-sikuli/Dockerfile Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-# Dockerfile for Beremiz
-# This container is used to run tests for Beremiz
-RUN groupadd -g $GID $UNAME
-RUN useradd -m -u $UID -g $GID -s /bin/bash $UNAME
- && TZ="America/Paris" \
- DEBIAN_FRONTEND="noninteractive" \
- apt-get install -y --no-install-recommends \
- `# to run X based tests` \
- `# to build tested apps` \
- build-essential automake flex bison mercurial \
- libgtk-3-dev libgl1-mesa-dev libglu1-mesa-dev \
- libpython2.7-dev libssl-dev \
- python2 virtualenv cmake
-# force bigger font and flat theme for GTK in order to make OCR more reliable
-RUN mkdir -p /etc/gtk-3.0
-RUN env echo -e '[Settings]\ngtk-font-name=FreeSans,12\ngtk-theme-name=Materia\n' > /etc/gtk-3.0/settings.ini
-# link obtained from https://raiman.github.io/SikuliX1/downloads.html
- wget -qP /usr/local/bin \
- https://launchpad.net/sikuli/sikulix/2.0.5/+download/sikulixide-2.0.5.jar && \
- echo 0795f1e0866ee5a7a84e4c89793ea78c /usr/local/bin/sikulixide-2.0.5.jar | md5sum -c && \
- ( echo '#!/bin/sh' && \
- echo "exec java -jar /usr/local/bin/sikulixide-*.jar \"\$@\"" \
- ) | install /dev/stdin /usr/local/bin/sikulix
-RUN env echo -e '#!/bin/bash\nmake -f /home/testing/src/beremiz/tests/Makefile $*' > /usr/local/bin/do_tests
-RUN chmod +x /usr/local/bin/do_tests
-RUN mkdir /home/$UNAME/build /home/$UNAME/src /home/$UNAME/test
-RUN virtualenv --python=$(which python2) ~/beremizenv
-RUN ~/beremizenv/bin/pip install \
- pytest pytest-timeout ddt \
- lxml future matplotlib zeroconf2 enum34 pyro sslpsk posix_spawn \
- twisted nevow autobahn click opcua \
-# Point to python binary test scripts will use
-ENV BEREMIZPYTHONPATH /home/$UNAME/beremizenv/bin/python
-# easy to remember 'do_tests' alias to invoke main makefile
-ARG OWNDIRBASENAME=beremiz
-ENV OWNDIRBASENAME ${OWNDIRBASENAME}
--- a/tests/tools/Docker/beremiz-sikuli/build_docker_image.sh Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-echo "Building docker image"
- --build-arg UID=$(id -u) \
- --build-arg GID=$(id -g) \
--- a/tests/tools/Docker/beremiz-sikuli/clean_docker_container.sh Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-docker rm beremiz_sikuli_current
--- a/tests/tools/Docker/beremiz-sikuli/clean_docker_image.sh Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-docker rmi beremiz_sikuli
--- a/tests/tools/Docker/beremiz-sikuli/create_docker_container.sh Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-# source directory containing beremiz, matiec, etc..
-SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd ../../../../.. && pwd )"
-echo "SOURCE direcory : $SRCDIR"
-# absolute path to test directory. ~/test if not given as only argument
-echo "TEST direcory : $TESTDIR"
-# define TESTDEBUG in env to enable dev-mode. This enables :
-# - debug pasthrough for Xnest
-# - VNC port passthrough
-DEBUGARGS="-v /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 -e DISPLAY=$DISPLAY -p 5900:5900"
-echo "Creating docker container"
- --name beremiz_sikuli_current \
- -v $SRCDIR:$UHOME/src \
- -v $TESTDIR:$UHOME/test \
- `if [ "$TESTDEBUG" == "YES" ]; then echo $DEBUGARGS; fi` \
- -i -t beremiz_sikuli /bin/bash
--- a/tests/tools/Docker/beremiz-sikuli/do_test_in_docker.sh Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-CONTAINER=beremiz_sikuli_current
-docker exec $CONTAINER bash -c "do_tests $1"
--- a/tests/tools/Docker/beremiz-sikuli/enter_docker.sh Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-CONTAINER=beremiz_sikuli_current
-docker start -i $CONTAINER
--- a/tests/tools/Docker/beremiz-sikuli/enter_docker_as_root.sh Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-CONTAINER=beremiz_sikuli_current
-docker exec -i -t -u root $CONTAINER bash
--- a/tests/tools/Docker/beremiz-sikuli/rebuild_docker.sh Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-./clean_docker_container.sh || true
-./clean_docker_image.sh || true
-./create_docker_container.sh $1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tools/Docker/build_docker_image.sh Thu Nov 24 17:21:53 2022 +0100
@@ -0,0 +1,10 @@
+echo "Building docker image" + --build-arg UID=$(id -u) \ + --build-arg GID=$(id -g) \ --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tools/Docker/clean_docker_container.sh Thu Nov 24 17:21:53 2022 +0100
@@ -0,0 +1,5 @@
+docker rm beremiz_sikuli_current --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tools/Docker/clean_docker_image.sh Thu Nov 24 17:21:53 2022 +0100
@@ -0,0 +1,5 @@
+docker rmi beremiz_sikuli --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tools/Docker/create_docker_container.sh Thu Nov 24 17:21:53 2022 +0100
@@ -0,0 +1,30 @@
+# source directory containing beremiz, matiec, etc.. +SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd ../../../../.. && pwd )" +echo "SOURCE direcory : $SRCDIR" +# absolute path to test directory. ~/test if not given as only argument +echo "TEST direcory : $TESTDIR" +# define TESTDEBUG in env to enable dev-mode. This enables : +# - debug pasthrough for Xnest +# - VNC port passthrough +DEBUGARGS="-v /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 -e DISPLAY=$DISPLAY -p 5900:5900" +echo "Creating docker container" + --name beremiz_sikuli_current \ + -v $SRCDIR:$UHOME/src \ + -v $TESTDIR:$UHOME/test \ + `if [ "$TESTDEBUG" == "YES" ]; then echo $DEBUGARGS; fi` \ + -i -t beremiz_sikuli /bin/bash --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tools/Docker/do_test_in_docker.sh Thu Nov 24 17:21:53 2022 +0100
@@ -0,0 +1,11 @@
+CONTAINER=beremiz_sikuli_current +docker exec $CONTAINER bash -c "do_tests $1" --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tools/Docker/enter_docker.sh Thu Nov 24 17:21:53 2022 +0100
@@ -0,0 +1,5 @@
+CONTAINER=beremiz_sikuli_current +docker start -i $CONTAINER --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tools/Docker/enter_docker_as_root.sh Thu Nov 24 17:21:53 2022 +0100
@@ -0,0 +1,7 @@
+CONTAINER=beremiz_sikuli_current +docker exec -i -t -u root $CONTAINER bash --- a/tests/tools/Docker/python2.7-wxpython/Dockerfile Thu Nov 24 16:12:03 2022 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-# Dockerfile for wxPython3.0 running on python2.7
- && apt-get install -y --no-install-recommends python-wxgtk3.0 python-matplotlib \
- && apt-get install -y --no-install-recommends python-xvfbwrapper xvfb \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tools/Docker/rebuild_docker.sh Thu Nov 24 17:21:53 2022 +0100
@@ -0,0 +1,9 @@
+./clean_docker_container.sh || true +./clean_docker_image.sh || true +./create_docker_container.sh $1