Mercurial > trustbridge
view ui/tests/common.cpp @ 587:02a89710a7cd
Split up list and software verification and use it
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 27 May 2014 16:31:29 +0000 |
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; }