Mercurial > trustbridge
view ui/tests/common.cpp @ 245:fbd74e2370de
Error out, when base64 decode results in empty data.
author | Sascha Wilde <wilde@intevation.de> |
---|---|
date | Fri, 28 Mar 2014 19:30:35 +0100 |
parents | c05e126b0b9e |
children | 17e1c8f37d72 |
line wrap: on
line source
#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; }