Tests: Enhance robustness of stdout driven waiting state in Sikuli based tests.
Some tests were randomly passing, because from time to time waiting for idle was skiped. It was combination of multiple problems :
- buffering on stdout (now use readline + flush for each write to log)
- it is sometime required to wait for activity before waiting for timeout added "WaitForChangeAndIdle" to "stdoutIdleObserver"
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg2637"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="modern_knob_1.svg">
<defs
id="defs2631">
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4292"
id="linearGradient10071"
gradientUnits="userSpaceOnUse"
x1="504.87"
y1="526.63"
x2="505.57999"
y2="603.70001"
gradientTransform="matrix(3.5063468,0,0,3.5063468,198.4947,-3883.2624)" />
<linearGradient
id="linearGradient4292">
<stop
id="stop4294"
style="stop-color:#666666"
offset="0" />
<stop
id="stop4296"
style="stop-color:#c3c3c5"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient4378"
y2="585.34003"
xlink:href="#linearGradient3919"
gradientUnits="userSpaceOnUse"
x2="493.29999"
y1="596.53003"
x1="486.85001"
inkscape:collect="always"
gradientTransform="matrix(3.5063468,0,0,3.5063468,198.4947,-3883.2624)" />
<linearGradient
id="linearGradient3919"
inkscape:collect="always">
<stop
id="stop3921"
style="stop-color:#ffffff"
offset="0" />
<stop
id="stop3923"
style="stop-color:#ffffff;stop-opacity:0"
offset="1" />
</linearGradient>
<radialGradient
id="radialGradient4372"
xlink:href="#linearGradient3862"
gradientUnits="userSpaceOnUse"
cy="271.12"
cx="488.75"
gradientTransform="matrix(-1.1814,2.021e-7,-1.7895e-7,-0.97615,1072.1,866.87)"
r="57.629002"
inkscape:collect="always" />
<linearGradient
id="linearGradient3862">
<stop
id="stop3864"
style="stop-color:#414141"
offset="0" />
<stop
id="stop3868"
style="stop-color:#41433f"
offset=".15789" />
<stop
id="stop3866"
style="stop-color:#000000"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient4374"
y2="274.60001"
xlink:href="#linearGradient3994"
gradientUnits="userSpaceOnUse"
x2="461.51001"
gradientTransform="matrix(-0.93252,0,0,-0.93252,950.38,864.32)"
y1="378.48001"
x1="460.51001"
inkscape:collect="always" />
<linearGradient
id="linearGradient3994">
<stop
id="stop3996"
style="stop-color:#626262"
offset="0" />
<stop
id="stop4000"
style="stop-color:#919191"
offset=".74085" />
<stop
id="stop3998"
style="stop-color:#ceced2"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#radialGradient4436"
id="linearGradient31386"
x1="1094.1289"
y1="489.64468"
x2="1008.9722"
y2="209.67311"
gradientUnits="userSpaceOnUse" />
<radialGradient
id="radialGradient4436"
gradientUnits="userSpaceOnUse"
cy="336.42001"
cx="491.09"
gradientTransform="matrix(1.1429,0,0,1.1429,-73.994,-53.898)"
r="42.073002"
inkscape:collect="always">
<stop
id="stop3894"
style="stop-color:#ddcf1b"
offset="0" />
<stop
id="stop3898"
style="stop-color:#ccd21b"
offset=".5" />
<stop
id="stop3896"
style="stop-color:#2bb733"
offset="1" />
</radialGradient>
<linearGradient
id="linearGradient4376"
y2="603.70001"
xlink:href="#linearGradient4292"
gradientUnits="userSpaceOnUse"
x2="505.57999"
y1="526.63"
x1="504.87"
inkscape:collect="always"
gradientTransform="matrix(2.1333334,0,0,2.1333334,893.33419,706.77548)" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="208.80035"
inkscape:cy="841.9769"
inkscape:document-units="mm"
inkscape:current-layer="g3058"
showgrid="false"
inkscape:window-width="1623"
inkscape:window-height="1446"
inkscape:window-x="3346"
inkscape:window-y="244"
inkscape:window-maximized="0" />
<metadata
id="metadata2634">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="matrix(0.26458333,0,0,0.26458333,-468.86815,-460.25864)"
id="g3058">
<g
id="g31471">
<circle
id="path4349"
style="fill:url(#linearGradient10071);stroke:url(#linearGradient4378);stroke-width:2.13336658"
transform="scale(1,-1)"
cx="1974.9573"
cy="-1907.7942"
r="125.20776" />
<path
transform="matrix(2.1333334,0,0,2.1333334,917.47072,723.36897)"
id="path4276"
style="fill:url(#radialGradient4372);stroke:url(#linearGradient4374);stroke-width:0.93251997"
sodipodi:type="inkscape:offset"
d="m 495.71875,499.5625 c -30.71038,0 -55.625,24.94721 -55.625,55.65625 0,30.70904 24.91462,55.65625 55.625,55.65625 30.71038,0 55.65625,-24.94587 55.65625,-55.65625 0,-30.71038 -24.94587,-55.65625 -55.65625,-55.65625 z m 0.5957,6.625 c 26.16416,-0.0377 49.91573,24.21255 48.50196,50.61719 a 1.906235,1.906235 0 0 0 -0.002,0.0312 c -0.96267,26.09835 -23.97335,48.63457 -50.44531,47.41601 a 1.906235,1.906235 0 0 0 -0.0703,-0.002 c -27.12401,-0.25004 -50.9578,-26.70889 -47.31641,-53.83984 a 1.906235,1.906235 0 0 0 0.008,-0.0703 c 2.26482,-23.38029 22.99305,-43.56741 46.70508,-44.05859 a 1.906235,1.906235 0 0 0 0.0781,-0.004 c 0.86395,-0.0528 1.71288,-0.0887 2.54101,-0.0898 z"
inkscape:original="M 495.71875 501.46875 C 466.0389 501.46875 442 525.5389 442 555.21875 C 442 584.8986 466.0389 608.96875 495.71875 608.96875 C 525.3986 608.96875 549.46875 584.8986 549.46875 555.21875 C 549.46875 525.5389 525.3986 501.46875 495.71875 501.46875 z M 496.3125 504.28125 C 523.64396 504.24185 548.1961 529.3142 546.71875 556.90625 C 545.71652 584.07711 521.8754 607.42646 494.28125 606.15625 C 465.94032 605.89499 441.28655 578.52263 445.09375 550.15625 C 447.45524 525.77795 468.89562 504.8879 493.65625 504.375 C 494.5429 504.3208 495.43084 504.28245 496.3125 504.28125 z "
inkscape:radius="1.9060444" />
</g>
<g
style="fill:none;stroke-width:1.47405899"
transform="matrix(0.53304115,0,0,0.53229017,1417.5153,1776.3135)"
inkscape:label="HMI:CircularBar@value[HMI_REAL,HMI_INT]0,111@label[HMI_STRING]"
id="g30664">
<text
inkscape:label="value"
id="text30652"
y="272.72952"
x="1045.2592"
style="font-style:normal;font-weight:normal;font-size:70.65699005px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;opacity:1;fill-opacity:1;stroke:none;stroke-width:2.60381603px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;fill-opacity:1;stroke:none;stroke-width:2.60381603px;stroke-opacity:1"
y="272.72952"
x="1045.2592"
id="tspan30650"
sodipodi:role="line">65%</tspan></text>
<path
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:url(#linearGradient31386);stroke-width:11.26410389;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:120.22967529;stroke-opacity:1;marker:none"
id="path30654"
inkscape:label="path"
sodipodi:type="arc"
sodipodi:cx="1045.7766"
sodipodi:cy="247.00946"
sodipodi:rx="209.17709"
sodipodi:ry="209.47221"
sodipodi:start="2.268928"
sodipodi:end="0.87266463"
d="M 911.32017,407.47449 A 209.17709,209.47221 0 0 1 849.21444,175.36575 209.17709,209.47221 0 0 1 1045.7766,37.537247 209.17709,209.47221 0 0 1 1242.3388,175.36574 209.17709,209.47221 0 0 1 1180.2331,407.47449"
sodipodi:open="true" />
</g>
<g
id="g31467"
inkscape:label="g31467"
style="display:inline">
<circle
id="path4282"
style="fill:url(#linearGradient4376);stroke-width:2.13333344"
cx="1974.1705"
cy="1908.6909"
r="76.17897" />
<use
transform="matrix(0.53304115,0,0,0.53229017,1419.5153,1778.3135)"
style="opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:4.00493336;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="0"
y="0"
xlink:href="#text30652"
id="use31590"
width="100%"
height="100%" />
<use
transform="matrix(0.53304115,0,0,0.53229017,1417.5153,1776.3135)"
style="opacity:1;vector-effect:none;fill:#333333;fill-opacity:1;stroke:none;stroke-width:4.0050149;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="0"
y="0"
xlink:href="#text30652"
id="use31592"
width="100%"
height="100%" />
</g>
</g>
</svg>