From 0b63c90f5f4f5d1948e63c12f8b9b3395d316809 Mon Sep 17 00:00:00 2001
From: aavit 
Date: Fri, 19 Nov 2010 14:51:40 +0100
Subject: Added command to clear all baselines
---
 tests/arthur/baselineserver/src/baselineserver.cpp | 42 ++++------------------
 tests/arthur/baselineserver/src/baselineserver.h   |  3 +-
 tests/arthur/baselineserver/src/htmlpage.cpp       | 26 ++++++--------
 3 files changed, 18 insertions(+), 53 deletions(-)
diff --git a/tests/arthur/baselineserver/src/baselineserver.cpp b/tests/arthur/baselineserver/src/baselineserver.cpp
index 7679f13..416b58f 100644
--- a/tests/arthur/baselineserver/src/baselineserver.cpp
+++ b/tests/arthur/baselineserver/src/baselineserver.cpp
@@ -51,6 +51,7 @@
 #include 
 #include 
 #include 
+#include 
 
 QString BaselineServer::storage;
 
@@ -349,43 +350,14 @@ QString BaselineHandler::pathForItem(const ImageItem &item, bool isBaseline, boo
 }
 
 
-QString BaselineHandler::updateAllBaselines(const QString &host, const QString &id,
-                                            const QString &engine, const QString &format)
+QString BaselineHandler::clearAllBaselines(const QString &context)
 {
-#if 0
-    QString basePath(BaselineServer::storagePath());
-    QString srcDir(basePath + host + QLC('/') + itemSubPath(engine, format, false) + id);
-    QString dstDir(basePath + host + QLC('/') + itemSubPath(engine, format));
-
-    QDir dir(srcDir);
-    QStringList nameFilter;
-    nameFilter << "*.metadata" << "*.png";
-    QStringList fileList = dir.entryList(nameFilter, QDir::Files | QDir::NoDotAndDotDot);
-
-    // remove the generated _fuzzycompared.png and _compared.png files from the list
-    QMutableStringListIterator it(fileList);
-    while (it.hasNext()) {
-        it.next();
-        if (it.value().endsWith(QLS("compared.png")))
-            it.remove();
-    }
+    QDirIterator it(BaselineServer::storagePath() + QLC('/') + context,
+                    QStringList() << QLS("*.png") << QLS("*.metadata"));
+    while (it.hasNext())
+        QFile::remove(it.next());
 
-    QString res;
-    QProcess proc;
-    proc.setWorkingDirectory(srcDir);
-    proc.setProcessChannelMode(QProcess::MergedChannels);
-    proc.start(QLS("cp"), QStringList() << QLS("-f") << fileList << dstDir);
-    proc.waitForFinished();
-    if (proc.exitCode() == 0)
-        res = QLS("Successfully updated baseline for all failed tests.");
-    else
-        res = QString("Error updating baseline: %1
"
-                      "Command output: %2
").arg(proc.errorString(), proc.readAll().constData());
-
-    return res;
-#else
-    return QString();
-#endif
+   return QLS("All baselines cleared from context ") + context;
 }
 
 QString BaselineHandler::updateSingleBaseline(const QString &oldBaseline, const QString &newBaseline)
diff --git a/tests/arthur/baselineserver/src/baselineserver.h b/tests/arthur/baselineserver/src/baselineserver.h
index d49aedb..c5cb45e 100644
--- a/tests/arthur/baselineserver/src/baselineserver.h
+++ b/tests/arthur/baselineserver/src/baselineserver.h
@@ -100,8 +100,7 @@ public:
     BaselineHandler(int socketDescriptor = -1);
     void testPathMapping();
 
-    static QString updateAllBaselines(const QString &host, const QString &id,
-                                      const QString &engine, const QString &format);
+    static QString clearAllBaselines(const QString &context);
     static QString updateSingleBaseline(const QString &oldBaseline, const QString &newBaseline);
     static QString blacklistTest(const QString &context, const QString &itemId, bool removeFromBlacklist = false);
 
diff --git a/tests/arthur/baselineserver/src/htmlpage.cpp b/tests/arthur/baselineserver/src/htmlpage.cpp
index f75da88..fdbdfb8 100644
--- a/tests/arthur/baselineserver/src/htmlpage.cpp
+++ b/tests/arthur/baselineserver/src/htmlpage.cpp
@@ -89,19 +89,16 @@ void HTMLPage::writeHeader(const ImageItem &item)
     out.setDevice(&file);
 
     out << "Lancelot results from run " << id << "
\n\n";
-    out << "Platform Info:
\n";
+    out << "Platform Info:
\n";
     out << "\n";
     foreach (QString key, plat.keys())
         out << "| " << key << " | " << plat.value(key) << " | 
\n";
-    out << "
\n";
-
-#if 0
-    out << "
\n\n";
+
+    out << "Clear all baselines (They will be recreated by the next run)
\n\n";
+
+    out << "\n"
            "\n"
            "| Script\n"
            " | Baseline\n"
@@ -114,7 +111,7 @@ void HTMLPage::writeHeader(const ImageItem &item)
 
 void HTMLPage::writeFooter()
 {
-    out << " | 
\n\n";
+    out << "\n