summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/tests/test_kernel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/kernel/tests/test_kernel.cpp')
-rw-r--r--packages/kernel/tests/test_kernel.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/kernel/tests/test_kernel.cpp b/packages/kernel/tests/test_kernel.cpp
index ebcfbc3..0172901 100644
--- a/packages/kernel/tests/test_kernel.cpp
+++ b/packages/kernel/tests/test_kernel.cpp
@@ -2,6 +2,9 @@
#include <doctest/doctest.h>
#include <unbox/kernel/kernel.hpp>
+#include <unbox/kernel/server.hpp>
+
+#include <cstdlib>
TEST_CASE("kernel compiles against and links wlroots + libwayland-server") {
CHECK(unbox::kernel::link_probe());
@@ -11,3 +14,16 @@ TEST_CASE("kernel compiles against and links wlroots + libwayland-server") {
TEST_CASE("vendored RMLUi subproject compiled and linked") {
CHECK(!unbox::kernel::rmlui_version().empty());
}
+
+TEST_CASE("server boots and shuts down on the headless backend") {
+ // Headless backend + pixman renderer: no GPU, no parent session needed.
+ setenv("WLR_BACKENDS", "headless", 1);
+ setenv("WLR_RENDERER", "pixman", 1);
+
+ auto server = unbox::kernel::Server::create({});
+ CHECK(!server->socket_name().empty());
+ for (int i = 0; i < 3; ++i) {
+ CHECK(server->dispatch(10));
+ }
+ // Destruction runs the full tinywl shutdown sequence.
+}