Add a testcase of a list of UUIDs in string form.
authorRobin Burchell <robin.burchell@collabora.com>
Sun, 22 Jan 2012 12:46:13 +0000 (14:46 +0200)
committerQt by Nokia <qt-info@nokia.com>
Tue, 14 Feb 2012 01:48:35 +0000 (02:48 +0100)
UUIDs are a good testcase, because the textual content is all fairly similar.
This also changes data generation to be a little neater now that we're starting
to get multiple pieces of data.

Change-Id: Ie4100a1ca4dbe7bf1cd73de883a9854377ac2f5e
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
tests/benchmarks/corelib/tools/qhash/main.cpp

index 6f3228d..18138cb 100644 (file)
@@ -45,7 +45,7 @@
 #include <QHash>
 #include <QString>
 #include <QStringList>
-
+#include <QUuid>
 #include <QTest>
 
 
@@ -69,12 +69,36 @@ private:
 
 void tst_QHash::data()
 {
-    QFile smallPathsData("paths_small_data.txt");
-    smallPathsData.open(QIODevice::ReadOnly);
-
     QTest::addColumn<QStringList>("items");
-    QTest::newRow("paths-small")
-            << QString::fromLatin1(smallPathsData.readAll()).split(QLatin1Char('\n'));
+    static QStringList smallFilePaths;
+
+    {
+        // small list of file paths
+        if (smallFilePaths.isEmpty()) {
+            QFile smallPathsData("paths_small_data.txt");
+            QVERIFY(smallPathsData.open(QIODevice::ReadOnly));
+            smallFilePaths = QString::fromLatin1(smallPathsData.readAll()).split(QLatin1Char('\n'));
+            Q_ASSERT(!smallFilePaths.isEmpty());
+        }
+
+        QTest::newRow("paths-small") << smallFilePaths;
+    }
+
+    {
+        // list of UUIDs
+        static QStringList uuids;
+        if (uuids.isEmpty()) {
+            // guaranteed to be completely random, generated by http://xkcd.com/221/
+            QUuid ns = QUuid("{f43d2ef3-2fe9-4563-a6f5-5a0100c2d699}");
+            uuids.reserve(smallFilePaths.size());
+
+            foreach (const QString &path, smallFilePaths)
+                uuids.append(QUuid::createUuidV5(ns, path).toString());
+        }
+
+        QTest::newRow("uuids-list") << uuids;
+    }
+
 }
 
 void tst_QHash::qhash_qt4()