view ui/tests/common.cpp @ 289:9ad00a3255f4

Change cinst from stdin input to use arguments. As we have to execute this process on Windows over the shell a stdin / stdout communication is not really possible without some major hacks. So you now have to supply an instructions file and the path to the certificatelist as arguments when this process is called
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 02 Apr 2014 13:52:02 +0000
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;
}

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