From 6b70fd6dc7385a5cee14f04332a7f177a97283d3 Mon Sep 17 00:00:00 2001
From: David Schulz <david.schulz@digia.com>
Date: Mon, 11 Nov 2013 09:18:00 +0100
Subject: [PATCH] Debugger: Allow to use a set of engines per dumper check.

Change-Id: I62143a6090240aa60968b9a55ef552235f4a9149
Reviewed-by: hjk <hjk121@nokiamail.com>
---
 tests/auto/debugger/tst_dumpers.cpp | 33 ++++++++++++++++-------------
 1 file changed, 18 insertions(+), 15 deletions(-)

diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp
index 864e782f4ac..c1ae45f687e 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;
-- 
GitLab