comparison 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
comparison
equal deleted inserted replaced
239:6b4ad6ccc48e 240:c05e126b0b9e
1 #include <QString>
2 #include <QTemporaryFile>
3 #include <QDebug>
4 #include "common.h"
5
6 QString getRandomDataFile(size_t size, const QDir &inDir)
7 {
8 QTemporaryFile *tmpfile;
9 if (inDir != QDir()) {
10 tmpfile = new QTemporaryFile(inDir.path() + "/downloadertest");
11 } else {
12 tmpfile = new QTemporaryFile();
13 }
14 tmpfile->setAutoRemove(false);
15 tmpfile->open();
16 size_t bufsize = 1024 * 1024;
17 if (bufsize > size) {
18 bufsize = size;
19 }
20 char buf[bufsize];
21
22 for (size_t i = 0; i < bufsize; i++) {
23 buf[i] = (char) qrand() % 255;
24 }
25
26 size_t bytesWritten=0;
27 int retval = 0;
28 do {
29 size_t toWrite = size - bytesWritten;
30 if (toWrite < bufsize) {
31 retval = tmpfile->write(buf, toWrite);
32 } else {
33 retval = tmpfile->write(buf, bufsize);
34 }
35 bytesWritten += retval;
36 } while (retval != -1 && bytesWritten < size);
37
38 tmpfile->close();
39 QString ret = tmpfile->fileName();
40 delete tmpfile;
41 return ret;
42 }

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