test: split up long-running tests
gtests runs testcases sequentially as part of a test suite which is
causing long test runs. Split up the tests into separate files to
optimize test run duration.
Test suite definition is done via `suite.hpp`/`suite.cpp`.
There is a tradeoff here since the test folder structure now does not
directly mirror the source folder structure anymore. The folder name
is chosen to clarify which implementation file is being tested.
Timeouts inside testcases are not touched, it is assumed these were
chosen correctly.
In case of fdio_timed there is dependency on a folder, which is made
unique via `getpid()` call to avoid races.
Command: `time ninja -C build test`
Before: (as of current master branch, commit
`c6fee5a94bbb4b4fbb6212942f0f2cfa3049c255`)
```
real 0m18.581s
user 0m9.977s
sys 0m5.494s
```
After:
```
real 0m6.430s
user 0m10.021s
sys 0m5.501s
```
Change-Id: I2ba096cb8f9d8ffcc146448d22b7e75a1c25d103
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
diff --git a/test/async/meson.build b/test/async/meson.build
new file mode 100644
index 0000000..d3edd65
--- /dev/null
+++ b/test/async/meson.build
@@ -0,0 +1,15 @@
+
+async_tests = ['context', 'fdio', 'mutex', 'task', 'timer', 'watchdog']
+
+foreach t : async_tests
+ test(
+ 'test_' + t.underscorify(),
+ executable(
+ 'test-' + t.underscorify(),
+ t + '.cpp',
+ dependencies: [gtest_dep, gmock_dep, sdbusplus_dep],
+ ),
+ )
+endforeach
+
+subdir('fdio_timed')