lumiera_documentation/tests/stage
Ichthyostega 9c74466778 Tests: build an link a test-support library
This is something I wanted to clean-up since a very long time indeed,
but always postponed it, since it requires a lot of nasty clean-up and disentangling....

Several parts had been stashed away into `src/lib/test`, which are not really related:
 * the testrunner and testsuite builder
 * generic helper utilities
 * specialised test-support facilities, e.g. the EventLog

This changeset introduces a new top-level test folder and a namespace `::test`
Code from this folder is linked into a shared library `libtestsupport.so`,
which resides in the linkage hierarchy between »Vessel« and »Vault«,
yet is no longer part of the Lumiera application and only linked into the test-suite.
2026-03-06 23:16:32 +01:00
..
ctrl Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
interact Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
model Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
test Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
abstract-tangible-test.cpp Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
bus-term-test.cpp Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
gen-node-location-query.hpp Upgrade: down with typename!! 2025-07-06 01:19:08 +02:00
README Global-Layer-Renaming: rearrange directories 2018-11-15 23:28:03 +01:00

GUI backbone tests

The tests in this subtree are a bit special: they cover the generic and
backbone internals of the Lumiera GTK GUI. They are linked against the
complete GUI-module (gui plugin), and thus may use all related ABIs.

Yet these tests are *deliberately* compiled without any GTK, GTKmm or SigC
includes. This effectively rules out the use, even indirectly, of any GTK
widgets and APIs -- forcing the covered GUI backbone entities to stay
clean and generic at API level.

This is a decision done on purpose. The concrete GUI framework technology
shall be treated as an implementation detail. There is no point in writing
tests which click buttons in the GUI -- better delegate any significant
logic or functionality to GUI agnostic components. GUI is meant to be
a presentation layer and must not develop intelligence on its own.