Commit d4d89cce authored by Jérome Perrin's avatar Jérome Perrin

tests/slapgrid: make test more deterministic

`test_one_failing_daemon_in_service_will_bang_with_watchdog` often fail with:

```
======================================================================
FAIL: test_one_failing_daemon_in_service_will_bang_with_watchdog (slapos.tests.slapgrid.TestSlapgridCPWithMasterWatchdog)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/srv/slapgrid/slappart9/srv/testnode/bpy/inst/test0-0/parts/slapos.core/slapos/tests/slapgrid.py", line 907, in test_one_failing_daemon_in_service_will_bang_with_watchdog
    'etc', 'software_release', 'worked', '.slapos-retention-lock-delay'])
  File "/srv/slapgrid/slappart9/srv/testnode/bpy/soft/5082e1741ad09c0910ec59bf9feae300/eggs/six-1.11.0-py2.7.egg/six.py", line 673, in assertCountEqual
    return getattr(self, _assertCountEqual)(*args, **kwargs)
AssertionError: Element counts were not equal:
First has 1, Second has 0:  'crashed'
First has 1, Second has 0:  'launched'
```

This test uses a service that will create files `launched` and `crashed` files
when running, and just after telling supervisor to start the service test
inspects the directory content.
If service had time to start, then files are created, otherwise they are not.

Change the service to wait for a delay before creating the files to reduce the
change of race condition here.

/reviewed-on !82
parent f01afc72
......@@ -96,7 +96,7 @@ chmod 755 etc/run/wrapper
DAEMON_CONTENT = """#!/bin/sh
mkdir -p etc/service &&
echo "#!/bin/sh" > etc/service/daemon &&
echo "touch launched
echo "sleep 1; touch launched
if [ -f ./crashed ]; then
while true; do echo Working; sleep 0.1; done
else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment