LUMIERA.clone/tests/stage
Ichthyostega 3caa5cfb03 Tests: reorganise test folders
This resolves a long-standing issue:
we could not use proper include paths for test-helper code that was defined alongside the tests.

Since some test-helper code must now be relocated into the »Vault«-Layer,
I took the opportunity to finally resolve this annoyance. The solution is two-fold
 * introduce a dedicated test-support library
 * remove the quirks that were necessary to support some plain-C tests
Together, this allows to raise the include-directory by one level,
and then to adjust all folder names so that they match the namespace
2026-03-07 00:56:19 +01:00
..
ctrl Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
interact Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
model Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
test Tests: reorganise test folders 2026-03-07 00:56:19 +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
DIR_INFO Tests: reorganise test folders 2026-03-07 00:56:19 +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.