aboutsummaryrefslogtreecommitdiffstats
path: root/QtVsTools.TestAdapter/Logger.cs
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@qt.io>2024-07-16 14:04:56 +0200
committerKarsten Heimrich <karsten.heimrich@qt.io>2024-07-24 06:32:58 +0000
commit86167242d0ae04e7edca8d6863f577d8149e8ec3 (patch)
treebb3e0a1a85bf71b935734f219d3770ad60f78135 /QtVsTools.TestAdapter/Logger.cs
parentea34ae669cbb7eb539b58d59a91d8b0dffa686c2 (diff)
Implement Visual Studio test adapter for QtTest framework
Task-number: QTVSADDINBUG-24 Change-Id: I33ff1c57ea95f11fb656a3786625c1fe56065056 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Diffstat (limited to 'QtVsTools.TestAdapter/Logger.cs')
-rw-r--r--QtVsTools.TestAdapter/Logger.cs37
1 files changed, 37 insertions, 0 deletions
diff --git a/QtVsTools.TestAdapter/Logger.cs b/QtVsTools.TestAdapter/Logger.cs
new file mode 100644
index 00000000..400eeaac
--- /dev/null
+++ b/QtVsTools.TestAdapter/Logger.cs
@@ -0,0 +1,37 @@
+/**************************************************************************************************
+ Copyright (C) 2024 The Qt Company Ltd.
+ SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+**************************************************************************************************/
+
+using System;
+using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
+
+namespace QtVsTools.TestAdapter
+{
+ internal class Logger : IDisposable
+ {
+ private readonly IMessageLogger logger;
+ private readonly string workload;
+ private bool showAdapterOutput = true;
+
+ internal Logger(IMessageLogger logger, string workload = "discovery")
+ {
+ this.logger = logger;
+ this.workload = workload;
+ logger.SendMessage(TestMessageLevel.Informational, $"Starting Qt tests {workload}.");
+ }
+
+ internal void SetShowAdapterOutput(bool show) => showAdapterOutput = show;
+
+ internal void SendMessage(string message, TestMessageLevel level = TestMessageLevel.Informational)
+ {
+ if (showAdapterOutput)
+ logger.SendMessage(level, message);
+ }
+
+ public void Dispose()
+ {
+ logger.SendMessage(TestMessageLevel.Informational, $"Finished Qt tests {workload}.");
+ }
+ }
+}