Mercurial > trustbridge
view ui/tests/common.cpp @ 1338:ba7e36306085
(issue164) README updated.
author | Emanuel Schuetze <emanuel@intevation.de> |
---|---|
date | Thu, 16 Oct 2014 15:00:52 +0200 |
parents | 17e1c8f37d72 |
children |
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=2) * and comes with ABSOLUTELY NO WARRANTY! * See LICENSE.txt for details. */ #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; }