[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdesupport/strigi/tests/daemon/dbus
From: Jos van den Oever <jos () vandenoever ! info>
Date: 2008-04-06 20:22:22
Message-ID: 1207513342.915823.13931.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 794179 by vandenoever:
Improve method of writing testdata during a strigi unit test session.
M +24 -3 strigidaemonunittestsession.cpp
M +3 -0 strigidaemonunittestsession.h
--- trunk/kdesupport/strigi/tests/daemon/dbus/strigidaemonunittestsession.cpp #794178:794179
@@ -127,12 +127,14 @@
string xdgdir;
set<string> plugindirs;
set<string> backends;
+ map<string, vector<unsigned char> > testfilecontents;
string testdatadir;
string strigitestdir;
int dbuspid;
void setupTestDir();
QProcess* startStrigiDaemon(const char* daemon);
+ void writeTestFiles() const;
};
void
StrigiDaemonUnitTestSession::Private::setupTestDir() {
@@ -148,6 +150,7 @@
cerr << "cannot create directory " << testdatadir.c_str() << endl;
exit(1);
}
+ writeTestFiles();
// write a config file into the dir
string file(strigitestdir + "/daemon.conf");
ofstream out(file.c_str());
@@ -168,7 +171,9 @@
QProcess* strigiDaemonProcess = new QProcess();
QStringList args;
+ //args << strigiDaemon;
args << "-d" << strigitestdir.c_str();
+ //strigiDaemonProcess->start("valgrind", args, QIODevice::ReadOnly);
strigiDaemonProcess->start(strigiDaemon, args, QIODevice::ReadOnly);
bool ok = strigiDaemonProcess->waitForStarted();
if (!ok) {
@@ -246,14 +251,30 @@
p->plugindirs.insert(plugindir);
}
void
+StrigiDaemonUnitTestSession::addFile(const char* name, const string& s) {
+ addFile(name, s.c_str(), s.length());
+}
+void
StrigiDaemonUnitTestSession::addFile(const char* name, const char* content,
int contentlength) {
+ vector<unsigned char> data;
+ data.resize(contentlength);
+ for (int i=0; i<contentlength;++i) {
+ data[i] = content[i];
+ }
string path = p->testdatadir + '/' + name;
- FILE* f = fopen(path.c_str(), "w");
- fwrite(content, 1, contentlength, f);
- fclose(f);
+ p->testfilecontents[path] = data;
}
void
+StrigiDaemonUnitTestSession::Private::writeTestFiles() const {
+ for (map<string, vector<unsigned char> >::const_iterator i
+ = testfilecontents.begin(); i != testfilecontents.end(); ++i) {
+ FILE* f = fopen(i->first.c_str(), "w");
+ fwrite(&i->second[0], 1, i->second.size(), f);
+ fclose(f);
+ }
+}
+void
StrigiDaemonUnitTestSession::setStrigiDir(const char* dir) {
p->strigitestdir = dir;
}
--- trunk/kdesupport/strigi/tests/daemon/dbus/strigidaemonunittestsession.h #794178:794179
@@ -1,6 +1,8 @@
#ifndef STRIGIDAEMONUNITTESTSESSION_H
#define STRIGIDAEMONUNITTESTSESSION_H
+#include <string>
+
class StrigiDaemonUnitTestSession {
private:
class Private;
@@ -13,6 +15,7 @@
void setDataDir(const char* dir);
void setXDGDir(const char* xdgdir);
void addBackend(const char* name, const char* plugindir);
+ void addFile(const char* name, const std::string& content);
void addFile(const char* name, const char* content, int contentlength);
void start();
void stop();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic