# HG changeset patch # User Edouard Tisserant # Date 1690916640 -7200 # Node ID c2b6354f036ff1df8201114631b220101d0e2cd1 # Parent a466d4468d7ac11c0046dd1e12c6f7c85a18c3e9 Tests: Add minimal SVGHMI test diff -r a466d4468d7a -r c2b6354f036f tests/ide_tests/svghmi_basic.sikuli/svghmi_basic.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/ide_tests/svghmi_basic.sikuli/svghmi_basic.py Tue Aug 01 21:04:00 2023 +0200 @@ -0,0 +1,43 @@ +""" This test opens, builds and runs exemple project named "python". +Test succeeds if runtime's stdout behaves as expected +""" + +import os +import time + +# allow module import from current test directory's parent +addImportPath(os.path.dirname(getBundlePath())) + +# common test definitions module +from sikuliberemiz import * + +def test(app): + # Start the app + + app.k.Clean() + + app.waitForChangeAndIdleStdout() + + app.k.Build() + + app.waitPatternInStdout("Successfully built.", 10) + + app.k.Connect() + + app.waitForChangeAndIdleStdout() + + app.k.Transfer() + + app.waitForChangeAndIdleStdout() + + app.k.Run() + + app.waitForChangeAndIdleStdout() + # app.WaitIdleUI() + + app.click("OFF") + + # wait 10 seconds for 10 Grumpfs + return app.waitPatternInStdout("ALL GREEN LIGHTS", 10) + +run_test(test, testproject="svghmi_basic") diff -r a466d4468d7a -r c2b6354f036f tests/projects/svghmi_basic/beremiz.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/svghmi_basic/beremiz.xml Tue Aug 01 21:04:00 2023 +0200 @@ -0,0 +1,5 @@ + + + + + diff -r a466d4468d7a -r c2b6354f036f tests/projects/svghmi_basic/plc.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/svghmi_basic/plc.xml Tue Aug 01 21:04:00 2023 +0200 @@ -0,0 +1,1490 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ORANGE_LIGHT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T#500ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ORANGE_LIGHT + + + + + + + + + + + + + + + + + + + + + + + + ORANGE_LIGHT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ORANGE_LIGHT + + + + + + + T#500ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SWITCH_BUTTON + + + + + + + + + + + STOP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PEDESTRIAN_BUTTON + + + + + + + T#2s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WARN_CARS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SWITCH_BUTTON + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SwitchButton + + + + + + + PedestrianButton + + + + + + + + + + + + + RedLight + + + + + + + + + + + + + OrangeLight + + + + + + + + + + + GreenLight + + + + + + + + + + + + + PedestrianRedLight + + + + + + + + + + + + + PedestrianGreenLight + + + + + + + 'sys.stdout.write("ALL GREEN LIGHTS\n"), sys.stdout.flush()' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r a466d4468d7a -r c2b6354f036f tests/projects/svghmi_basic/svghmi_0@svghmi/baseconfnode.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/svghmi_basic/svghmi_0@svghmi/baseconfnode.xml Tue Aug 01 21:04:00 2023 +0200 @@ -0,0 +1,2 @@ + + diff -r a466d4468d7a -r c2b6354f036f tests/projects/svghmi_basic/svghmi_0@svghmi/confnode.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/svghmi_basic/svghmi_0@svghmi/confnode.xml Tue Aug 01 21:04:00 2023 +0200 @@ -0,0 +1,2 @@ + + diff -r a466d4468d7a -r c2b6354f036f tests/projects/svghmi_basic/svghmi_0@svghmi/svghmi.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/svghmi_basic/svghmi_0@svghmi/svghmi.svg Tue Aug 01 21:04:00 2023 +0200 @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ON + + + diff -r a466d4468d7a -r c2b6354f036f tests/tools/Docker/Dockerfile --- a/tests/tools/Docker/Dockerfile Tue Aug 01 21:02:08 2023 +0200 +++ b/tests/tools/Docker/Dockerfile Tue Aug 01 21:04:00 2023 +0200 @@ -59,6 +59,22 @@ ) | install /dev/stdin /usr/local/bin/sikulix +### SVGHMI dependencies : Chromium browser + Inkscape ### +# +# On ubuntu chromium is distrinuted as a snap. +# Running snapd on docker is a mess. +# As a workaround, there is a PPA where chromium .deb packges build is still beeing maintained : +# +# https://launchpad.net/~savoury1/+archive/ubuntu/chromium +# ppa:savoury1, maintained by Rob Savoury at the time of writing +# +# As a side effect of docker limitations, chromium need --no-sandbox command line argument. +# +RUN apt-get install -qqy --no-install-recommends gnupg software-properties-common \ + && add-apt-repository -y ppa:savoury1/chromium \ + && add-apt-repository -y ppa:savoury1/ffmpeg4 \ + && apt-get install -qqy --no-install-recommends chromium-browser inkscape + # easy to remember 'do_tests' alias to invoke main makefile 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