diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp
index 864e782f4acba6e3cbd8a60a840d02eaf5df26c8..c1ae45f687eb120f2ecc5314c8f666bbe25ec7c4 100644
--- a/tests/auto/debugger/tst_dumpers.cpp
+++ b/tests/auto/debugger/tst_dumpers.cpp
@@ -347,17 +347,15 @@ struct Type5 : Type
 
 enum DebuggerEngine
 {
-    DumpTestGdbEngine,
-    DumpTestCdbEngine,
-    DumpTestLldbEngine
+    DumpTestGdbEngine = 0x01,
+    DumpTestCdbEngine = 0x02,
+    DumpTestLldbEngine = 0x04,
 };
 
 struct CheckBase
 {
-    CheckBase() : useLldb(true), useGdb(true) {}
-
-    mutable bool useLldb;
-    mutable bool useGdb;
+    CheckBase() : enginesForCheck(DumpTestGdbEngine | DumpTestCdbEngine | DumpTestLldbEngine) {}
+    mutable int enginesForCheck;
 };
 
 struct Check : CheckBase
@@ -377,28 +375,33 @@ struct Check : CheckBase
 
     bool matchesEngine(DebuggerEngine engine) const
     {
-        return (engine == DumpTestLldbEngine && useLldb)
-            || (engine == DumpTestGdbEngine && useGdb);
+        return (engine & enginesForCheck);
+    }
+
+    const Check &setEngines(int debuggerEngine)
+    {
+        enginesForCheck = debuggerEngine;
+        return *this;
     }
 
     const Check &setForLldbOnly() const
     {
-        clearUsed();
-        useLldb = true;
+        enginesForCheck = DumpTestLldbEngine;
         return *this;
     }
 
     const Check &setForGdbOnly() const
     {
-        clearUsed();
-        useGdb = true;
+        enginesForCheck = DumpTestGdbEngine;
         return *this;
     }
 
-    void clearUsed() const
+    const Check &setForCdbOnly()
     {
-        useLldb = useGdb = false;
+        enginesForCheck = DumpTestCdbEngine;
+        return *this;
     }
+
     QByteArray iname;
     Name expectedName;
     Value expectedValue;