tests: Attempt to fix race in rauc test

CI tests with asan/ubsan sometimes fail in system_rauc test. [1]

The test log looks like this:

```
 /home/ci/src/cesnet-gerrit-public/CzechLight/velia/tests/system_rauc.cpp:8:
 TEST CASE:  Fetch RAUC data over DBus
   Installation OK

 /home/ci/src/cesnet-gerrit-public/CzechLight/velia/tests/system_rauc.cpp:142: FATAL ERROR: REQUIRE( rauc->operation() == "installing" ) is NOT correct!
   values: REQUIRE( idle == installing )

 (...)
```

By looking at the code, it seems that the contents of the REQUIRE macro
 REQUIRE(rauc->operation() == "installing");
is executed before the RAUC installation actually starts (it is executed
from another thread) and therefore before it sets current DBus property
"Operation" to value "installing".
Let's try to fix that by waiting for the installation to actually start.

Jan: also extend the wait in case of a simulated failing installation so
that the test suite has a chance to react to this event.

[1] https://object-store.cloud.muni.cz/swift/v1/ci-logs-public/70/5270/2/check/f34-clang-asan-ubsan/4467b92/job-output.txt

Change-Id: I8e6e217660f3b87045a5538949a84139573a005a
Signed-off-by: Jan Kundrát <jan.kundrat@cesnet.cz>
2 files changed
tree: adfb414ac4f30f1357fe41ae4d7c54f127ac19b6
  1. .clang-format
  2. .gitmodules
  3. .zuul.CzechLight-internal.yaml
  4. .zuul.public.yaml
  5. CMakeLists.txt
  6. Doxyfile.in
  7. LICENSE
  8. LICENSE.md
  9. README.md
  10. ci/
  11. cmake/
  12. docs/
  13. src/
  14. tests/
  15. yang/
README.md

YANG System management for embedded devices running Linux

Together with sysrepo, this software provides "general system management" of embedded devices. The target platform is anything that runs Linux with systemd. This runs in production on CzechLight SDN DWDM devices.

Health tracking

This component tracks the overal health state of the system, including various sensors, or the state of systemd units. As an operator-friendly LED at the front panel of the appliance shows the aggregated health state.

System management

Firmware can be updated via RAUC, and various aspects of the system's configuration can be adjusted. This includes a firewall, basic network settings, and authentication management.

Supported YANG models

For a full list, consult the yang/ directory in this repository.