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); }
QTestData &newRow(const char *dataTag, quint16 checksum) { if (QTest::currentTestFunction() != curFunction) { curFunction = QTest::currentTestFunction(); itemList.clear(); gotBaselines = false; } ImageItem item; item.itemName = QString::fromLatin1(dataTag); item.itemChecksum = checksum; item.testFunction = QString::fromLatin1(QTest::currentTestFunction()); itemList.append(item); return QTest::newRow(dataTag); }