smoke-test doesn't work on FreeBSD
It was spotted by the CI discussed in https://github.com/avahi/avahi/issues/724
It heavily relies on systemctl, systemd-run, journaltcl and so on
+ run systemctl start avahi-daemon
+ systemctl start avahi-daemon
.github/workflows/smoke-tests.sh: line 12: systemctl: command not found
+ dump_journal
+ journalctl --sync
.github/workflows/smoke-tests.sh: line 7: journalctl: command not found
+ look_for_asan_ubsan_reports
+ journalctl --sync
.github/workflows/build.sh: line 14: journalctl: command not found
Tearing down VM
Error: The process '/usr/bin/ssh' failed with exit code 127
~~Other than that it uses dfuzzer and it doesn't work on FreeBSD either.~~
Do I understand it correctly that the point of the smoke test is to start the Avahi service via system's service management facility and then verify that it is started successfully? In that case, the smoke test for FreeBSD would look like
service avahi_daemon start
service avahi_daemon status
The smoke test does more than that: https://github.com/avahi/avahi/blob/master/.github/workflows/smoke-tests.sh
There are tests there that aren't tied to systemd. Once it starts avahi it pokes its D-Bus interface, the simple protocol and thing like that and collects ASan/Valgrind backtraces if there are any.
For the record with https://github.com/dbus-fuzzer/dfuzzer/pull/155 merged and proc mounted dfuzzer should start working on FreeBSD. It even managed to crash avahi due to what appears to be https://nvd.nist.gov/vuln/detail/CVE-2023-38473 in avahi-app shipped by FreeBSD (it isn't reproducible with the master branch at least).