summaryrefslogtreecommitdiff
path: root/hyprtester/src/tests/main/misc.cpp
diff options
context:
space:
mode:
authorEvilLary <EvilLary@proton.me>2026-01-06 16:29:17 +0300
committerGitHub <noreply@github.com>2026-01-06 14:29:17 +0100
commitcbfbd9712a7218b6d39b4e9d93d0941eb0572783 (patch)
treeadc1e519d80c8a1d9f1c11d7e6e122c4900d380d /hyprtester/src/tests/main/misc.cpp
parent9817553c664b0b7f6776671383a6368c74ee8dee (diff)
anr: open anr dialog on parent's workspace (#12509)
Diffstat (limited to 'hyprtester/src/tests/main/misc.cpp')
-rw-r--r--hyprtester/src/tests/main/misc.cpp115
1 files changed, 115 insertions, 0 deletions
diff --git a/hyprtester/src/tests/main/misc.cpp b/hyprtester/src/tests/main/misc.cpp
index 3187694b..471eef7a 100644
--- a/hyprtester/src/tests/main/misc.cpp
+++ b/hyprtester/src/tests/main/misc.cpp
@@ -18,6 +18,121 @@ using namespace Hyprutils::Memory;
#define UP CUniquePointer
#define SP CSharedPointer
+// Uncomment once test vm can run hyprland-dialog
+// static void testAnrDialogs() {
+// NLog::log("{}Testing ANR dialogs", Colors::YELLOW);
+//
+// OK(getFromSocket("/keyword misc:enable_anr_dialog true"));
+// OK(getFromSocket("/keyword misc:anr_missed_pings 1"));
+//
+// NLog::log("{}ANR dialog: regular workspaces", Colors::YELLOW);
+// {
+// OK(getFromSocket("/dispatch workspace 2"));
+//
+// auto kitty = Tests::spawnKitty("bad_kitty");
+//
+// if (!kitty) {
+// ret = 1;
+// return;
+// }
+//
+// {
+// auto str = getFromSocket("/activewindow");
+// EXPECT_CONTAINS(str, "workspace: 2");
+// }
+//
+// OK(getFromSocket("/dispatch workspace 1"));
+//
+// ::kill(kitty->pid(), SIGSTOP);
+// Tests::waitUntilWindowsN(2);
+//
+// {
+// auto str = getFromSocket("/activeworkspace");
+// EXPECT_CONTAINS(str, "windows: 0");
+// }
+//
+// {
+// OK(getFromSocket("/dispatch focuswindow class:hyprland-dialog"))
+// auto str = getFromSocket("/activewindow");
+// EXPECT_CONTAINS(str, "workspace: 2");
+// }
+// }
+//
+// Tests::killAllWindows();
+//
+// NLog::log("{}ANR dialog: named workspaces", Colors::YELLOW);
+// {
+// OK(getFromSocket("/dispatch workspace name:yummy"));
+//
+// auto kitty = Tests::spawnKitty("bad_kitty");
+//
+// if (!kitty) {
+// ret = 1;
+// return;
+// }
+//
+// {
+// auto str = getFromSocket("/activewindow");
+// EXPECT_CONTAINS(str, "yummy");
+// }
+//
+// OK(getFromSocket("/dispatch workspace 1"));
+//
+// ::kill(kitty->pid(), SIGSTOP);
+// Tests::waitUntilWindowsN(2);
+//
+// {
+// auto str = getFromSocket("/activeworkspace");
+// EXPECT_CONTAINS(str, "windows: 0");
+// }
+//
+// {
+// OK(getFromSocket("/dispatch focuswindow class:hyprland-dialog"))
+// auto str = getFromSocket("/activewindow");
+// EXPECT_CONTAINS(str, "yummy");
+// }
+// }
+//
+// Tests::killAllWindows();
+//
+// NLog::log("{}ANR dialog: special workspaces", Colors::YELLOW);
+// {
+// OK(getFromSocket("/dispatch workspace special:apple"));
+//
+// auto kitty = Tests::spawnKitty("bad_kitty");
+//
+// if (!kitty) {
+// ret = 1;
+// return;
+// }
+//
+// {
+// auto str = getFromSocket("/activewindow");
+// EXPECT_CONTAINS(str, "special:apple");
+// }
+//
+// OK(getFromSocket("/dispatch togglespecialworkspace apple"));
+// OK(getFromSocket("/dispatch workspace 1"));
+//
+// ::kill(kitty->pid(), SIGSTOP);
+// Tests::waitUntilWindowsN(2);
+//
+// {
+// auto str = getFromSocket("/activeworkspace");
+// EXPECT_CONTAINS(str, "windows: 0");
+// }
+//
+// {
+// OK(getFromSocket("/dispatch focuswindow class:hyprland-dialog"))
+// auto str = getFromSocket("/activewindow");
+// EXPECT_CONTAINS(str, "special:apple");
+// }
+// }
+//
+// OK(getFromSocket("/reload"));
+// Tests::killAllWindows();
+// }
+
static bool test() {
NLog::log("{}Testing config: misc:", Colors::GREEN);