From Fedora Project Wiki

Description

Avahi is a system that facilitates service discovery on a local network via the mDNS/DNS-SD protocol suite. avahi-glib provides Glib integration for Avahi, and avahi-libs contains the libraries needed for Avahi tools and for other applications to integrate Avahi functionalities.This test case ensures that the avahi, avahi-glib, and avahi-libs work correctly for local network service discovery and Glib integration.

Setup

  1. Ensure you have two Fedora systems on the same local network (System A and System B).
  2. Install the avahi, avahi-glib, and avahi-libs packages on both systems: sudo dnf install avahi avahi-glib avahi-libs.
  3. Start the Avahi daemon on both systems: sudo systemctl start avahi-daemon.

How to test

  1. On System A:
  2. Publish a test service: avahi-publish-service TestService _test._tcp 12345 "This is a test".
  3. On System B:
  4. Browse for services: avahi-browse _test._tcp.
  5. Verify that the service published by System A appears in the list on System B.
  6. On System B:
  7. Write a small test application or script that uses Glib integration (via avahi-glib) to discover services on the local network. This might require basic programming knowledge.
  8. Run the test application or script and verify that it can discover the service published by System A.
  9. On both systems:
  10. Ensure that any application or tools depending on avahi-libs function without errors related to Avahi functionalities.

Expected Results

  1. The avahi-publish-service should publish the test service without errors on System A.
  2. On System B, the avahi-browse command should display the service published by System A.
  3. The test application or script using avahi-glib on System B should successfully discover the service published by System A.
  4. Any operations or tools dependent on avahi-libs should run without errors.

Optional

For deeper testing:

  1. Experiment with different types of services using Avahi.
  2. Test the behavior when the Avahi daemon is restarted or stops unexpectedly.
  3. Check the integration of Avahi with other applications that utilize mDNS/DNS-SD.
  4. Ensure that the Avahi Glib integration works with more complex Glib-based applications.