diff ui/tests/common.cpp @ 240:c05e126b0b9e

Fix downloadertest and factor out generating file input.
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 28 Mar 2014 15:21:02 +0000
parents
children 17e1c8f37d72
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/tests/common.cpp	Fri Mar 28 15:21:02 2014 +0000
@@ -0,0 +1,42 @@
+#include <QString>
+#include <QTemporaryFile>
+#include <QDebug>
+#include "common.h"
+
+QString getRandomDataFile(size_t size, const QDir &inDir)
+{
+    QTemporaryFile *tmpfile;
+    if (inDir != QDir()) {
+        tmpfile = new QTemporaryFile(inDir.path() + "/downloadertest");
+    } else {
+        tmpfile = new QTemporaryFile();
+    }
+    tmpfile->setAutoRemove(false);
+    tmpfile->open();
+    size_t bufsize = 1024 * 1024;
+    if (bufsize > size) {
+        bufsize = size;
+    }
+    char buf[bufsize];
+
+    for (size_t i = 0; i < bufsize; i++) {
+        buf[i] = (char) qrand() % 255;
+    }
+
+    size_t bytesWritten=0;
+    int retval = 0;
+    do {
+        size_t toWrite = size - bytesWritten;
+        if (toWrite < bufsize) {
+            retval = tmpfile->write(buf, toWrite);
+        } else {
+            retval = tmpfile->write(buf, bufsize);
+        }
+        bytesWritten += retval;
+    } while (retval != -1 && bytesWritten < size);
+
+    tmpfile->close();
+    QString ret = tmpfile->fileName();
+    delete tmpfile;
+    return ret;
+}

http://wald.intevation.org/projects/trustbridge/