test: add the pwtest test framework

Heavily inspired by libinput's litest framework (built around check), this is
a from-scratch framework that simplifies adding tests for various parts of
pipewire. See the pwtest.h documentation for details but the basics are:

- PW_TEST() and PWTEST_SUITE() specify the tests to be run
- Test are run in forked processes, any errors/signals are caught and printed
  to the log
- Tests have a custom pipewire daemon started on demand to talk to [1]. The
  daemon's log is available in the test output.
- Output is YAML to be processed into whatever format needed

[1] There are limits here, since we can't emulate devices yet there is only
so much we can rely on with the daemon.
This commit is contained in:
Peter Hutterer 2021-05-27 10:05:19 +10:00
parent 0054319d88
commit ed3f882fa9
9 changed files with 1878 additions and 0 deletions

View file

@ -485,3 +485,5 @@
#mesondefine HAVE_GSTREAMER_DEVICE_PROVIDER
#mesondefine HAVE_WEBRTC
#mesondefine HAVE_GSTACK