AutoTest: Cut insignificant digits

Avoids displaying insignificant numbers of durations.
Some frameworks use a smaller precision than others which looks
strange for some frameworks. But for generalization reasons and
a similar look we are using ms as base for displaying.

Change-Id: Ib4b9e427778819ce09e93152042b3bf8705a7916
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2024-07-24 14:28:22 +02:00
parent 3bcd5aff22
commit cf765fd5f8
2 changed files with 12 additions and 1 deletions

View File

@@ -6,6 +6,8 @@
#include <utils/qtcassert.h>
#include <utils/theme/theme.h>
#include <QRegularExpression>
using namespace Utils;
namespace Autotest {
@@ -39,6 +41,15 @@ const ITestTreeItem *TestResult::findTestTreeItem() const
return nullptr;
}
void TestResult::setDuration(const QString &milliSeconds)
{
static const QRegularExpression insignificant("\\.?0{1,3}$");
QString significant = milliSeconds;
if (significant.contains('.'))
significant.remove(insignificant);
m_duration.emplace(significant);
}
ResultType TestResult::resultFromString(const QString &resultString)
{
if (resultString == "pass")

View File

@@ -102,7 +102,7 @@ public:
void setDescription(const QString &description) { m_description = description; }
void setFileName(const Utils::FilePath &fileName) { m_file = fileName; }
void setLine(int line) { m_line = line; }
void setDuration(const QString &milliSeconds) { m_duration.emplace(milliSeconds); }
void setDuration(const QString &milliSeconds);
void setResult(ResultType type) { m_result = type; }
static ResultType resultFromString(const QString &resultString);