Skip to content

Instantly share code, notes, and snippets.

@smccarney
Created May 25, 2024 07:28
Show Gist options
  • Save smccarney/67d7719f0cf9cea2d134b0796aa408da to your computer and use it in GitHub Desktop.
Save smccarney/67d7719f0cf9cea2d134b0796aa408da to your computer and use it in GitHub Desktop.
pseq: Test plan for DBusInterfacesFinder

Test Plan

Automated Tests

  • Verify all automated tests run successfully

Manual Tests

  • DBusInterfacesFinder::DBusInterfacesFinder()
    • Verify InterfacesAdded signal handler is installed
    • Verify existing interfaces are found via ObjectMapper
  • DBusInterfacesFinder::interfacesAddedCallback()
    • Test where works
      • No matching interfaces are found in message
      • One matching interface is found in message
      • Multiple matching interfaces are found in message
      • Some interfaces in message are not matches
      • Verify callback is called for each matching interface
      • Verify correct properties are passed to callback
    • Test where fails
      • Message is invalid
      • An error occurs reading the InterfacesAdded message
  • DBusInterfacesFinder::findInterfaces()
    • Test where works
      • No matching interfaces were found
      • One matching interface was found
      • Multiple matching interfaces were found
      • Some services in returned data are not matches
      • Some interfaces in returned data are not matches
      • Verify callback is called for each matching interface
      • Verify correct properties are passed to callback
    • Test where fails
      • Querying the mapper fails
      • Getting the property values for an interface fails
  • End-to-end
    • All interface instances are found via ObjectMapper
    • All interface instances are found via InterfacesAdded
    • No interface instances are found
    • Verify callback is called 0 times if no interface instances found
    • Verify callback is called 1 time if one interface instance found
    • Verify callback is called multiple times if multiple interface instances found
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment