summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraavit <qt-info@nokia.com>2010-11-23 10:52:09 (GMT)
committeraavit <qt-info@nokia.com>2010-11-23 10:52:09 (GMT)
commita1fd6c60455def34663c8a5621f21bab8fee9c21 (patch)
treecbb0296abceb82add7a2e95fe35ece51098924e6
parentbc40961abdcdfb7cca8cfd7020d9ca32a3105735 (diff)
downloadQt-a1fd6c60455def34663c8a5621f21bab8fee9c21.zip
Qt-a1fd6c60455def34663c8a5621f21bab8fee9c21.tar.gz
Qt-a1fd6c60455def34663c8a5621f21bab8fee9c21.tar.bz2
Generate thumbnails for faster loading of the web reports
-rw-r--r--tests/arthur/baselineserver/src/htmlpage.cpp20
-rw-r--r--tests/arthur/baselineserver/src/htmlpage.h1
-rw-r--r--tests/auto/lancelot/tst_lancelot.cpp8
3 files changed, 24 insertions, 5 deletions
diff --git a/tests/arthur/baselineserver/src/htmlpage.cpp b/tests/arthur/baselineserver/src/htmlpage.cpp
index a4e9e0c..9659505 100644
--- a/tests/arthur/baselineserver/src/htmlpage.cpp
+++ b/tests/arthur/baselineserver/src/htmlpage.cpp
@@ -104,7 +104,7 @@ void HTMLPage::writeHeader(const ImageItem &item)
"<td><b>Script</b></td>\n"
"<td><b>Baseline</b></td>\n"
"<td><b>Rendered</b></td>\n"
- "<td><b>Comparison</b></td>\n"
+ "<td><b>Comparison</b> (diffs are <span style=\"color:red\">RED</span>)</td>\n"
"<td><b>Info/Action</b></td>\n"
"</b></tr><br>";
}
@@ -129,7 +129,7 @@ void HTMLPage::addItem(const QString &baseline, const QString &rendered, const I
out << "<td>" << item.scriptName << "</td>\n";
QStringList images = QStringList() << baseline << rendered << compared;
foreach(const QString& img, images)
- out << "<td><a href=\"/" << img << "\"><img src=\"/" << img << "\" width=240 height=240></a></td>\n";
+ out << "<td><a href=\"/" << img << "\"><img src=\"/" << generateThumbnail(img) << "\" width=240 height=240></a></td>\n";
out << "<td><p><a href=\"/cgi-bin/server.cgi?cmd=updateSingleBaseline&oldBaseline=" << baseline
<< "&newBaseline=" << rendered << "&url=" << pageUrl << "\">Replace baseline with rendered</a></p>"
@@ -191,6 +191,22 @@ QString HTMLPage::generateCompared(const QString &baseline, const QString &rende
}
+QString HTMLPage::generateThumbnail(const QString &image)
+{
+ QString res = image;
+ QFileInfo imgFI(root+image);
+ res.chop(imgFI.suffix().length() + 1);
+ res += QLS("_thumbnail.jpg");
+ QFileInfo resFI(root+res);
+ if (resFI.exists() && resFI.lastModified() > imgFI.lastModified())
+ return res;
+ QStringList args;
+ args << root+image << QLS("-resize") << QLS("240x240") << QLS("-quality") << QLS("50") << root+res;
+ QProcess::execute(QLS("convert"), args);
+ return res;
+}
+
+
void HTMLPage::handleCGIQuery(const QString &query)
{
QUrl cgiUrl(QLS("http://dummy/cgi-bin/dummy.cgi?") + query);
diff --git a/tests/arthur/baselineserver/src/htmlpage.h b/tests/arthur/baselineserver/src/htmlpage.h
index f5e6e1c..5f1e051 100644
--- a/tests/arthur/baselineserver/src/htmlpage.h
+++ b/tests/arthur/baselineserver/src/htmlpage.h
@@ -62,6 +62,7 @@ private:
void writeHeader(const ImageItem &item);
void writeFooter();
QString generateCompared(const QString &baseline, const QString &rendered, bool fuzzy = false);
+ QString generateThumbnail(const QString &image);
QString root;
QString path;
diff --git a/tests/auto/lancelot/tst_lancelot.cpp b/tests/auto/lancelot/tst_lancelot.cpp
index 0c5d787..7c6fe66 100644
--- a/tests/auto/lancelot/tst_lancelot.cpp
+++ b/tests/auto/lancelot/tst_lancelot.cpp
@@ -299,13 +299,15 @@ void tst_Lancelot::paint(QPaintDevice *device, const QStringList &script, const
pcmd.setPainter(&p);
pcmd.setFilePath(filePath);
pcmd.runCommands();
+ p.end();
if (simfail) {
- p.drawLine(0, 0, 800, 800);
+ QPainter p2(device);
+ p2.setPen(QPen(QBrush(Qt::cyan), 3, Qt::DashLine));
+ p2.drawLine(200, 200, 600, 600);
+ p2.drawLine(600, 200, 200, 600);
simfail = false;
}
-
- p.end();
}
#define main rmain