void Report::addItems(const ImageItemList &items) { if (items.isEmpty()) return; numItems += items.size(); QString func = items.at(0).testFunction; if (!testFunctions.contains(func)) testFunctions.append(func); ImageItemList list = items; if (settings->value("ReportMissingResults").toBool()) { for (ImageItemList::iterator it = list.begin(); it != list.end(); ++it) { if (it->status == ImageItem::Ok) it->status = ImageItem::Error; // Status should be set by report from client, else report as error } } itemLists[func] += list; }
bool checkImage(const QImage &img, const char *name, quint16 checksum, QByteArray *msg, bool *error) { if (!connected && !connect(msg, error)) return true; QByteArray itemName; bool hasName = qstrlen(name); const char *tag = QTest::currentDataTag(); if (qstrlen(tag)) { itemName = tag; if (hasName) itemName.append('_').append(name); } else { itemName = hasName ? name : "default_name"; } *msg = "Baseline check of image '" + itemName + "': "; ImageItem item; item.itemName = QString::fromLatin1(itemName); item.itemChecksum = checksum; item.testFunction = QString::fromLatin1(QTest::currentTestFunction()); ImageItemList list; list.append(item); if (!proto.requestBaselineChecksums(QLatin1String(QTest::currentTestFunction()), &list) || list.isEmpty()) { *msg = "Communication with baseline server failed: " + proto.errorMessage().toLatin1(); *error = true; return true; } return compareItem(list.at(0), img, msg, error); }