qt: Fix tofuinfo test when gpg is gpg2
* lang/qt/tests/t-support.cpp (QGpgMETest::copyKeyrings): New helper. * lang/qt/tests/t-support.h: Declare. * lang/qt/tests/t-encrypt.cpp: use it * lang/qt/tests/t-tofuinbo.cpp: ditto. -- New helper takes care of copying the correct files for either keybox or keyring.
This commit is contained in:
parent
f08904b810
commit
053e6e0a7b
@ -242,11 +242,7 @@ public Q_SLOT:
|
||||
Q_ASSERT(agentConf.open(QIODevice::WriteOnly));
|
||||
agentConf.write("allow-loopback-pinentry");
|
||||
agentConf.close();
|
||||
Q_ASSERT(QFile::copy(gpgHome + QStringLiteral("/pubring.gpg"),
|
||||
mDir.path() + QStringLiteral("/pubring.gpg")));
|
||||
Q_ASSERT(QFile::copy(gpgHome + QStringLiteral("/secring.gpg"),
|
||||
mDir.path() + QStringLiteral("/secring.gpg")));
|
||||
|
||||
copyKeyrings(gpgHome, mDir.path());
|
||||
}
|
||||
|
||||
private:
|
||||
|
@ -45,6 +45,31 @@ void QGpgMETest::cleanupTestCase()
|
||||
killAgent();
|
||||
}
|
||||
|
||||
bool QGpgMETest::copyKeyrings(const QString &src, const QString &dest)
|
||||
{
|
||||
bool is21dir = QFileInfo(src + QDir::separator() + QStringLiteral("pubring.kbx")).exists();
|
||||
const QString name = is21dir ? QStringLiteral("pubring.kbx") :
|
||||
QStringLiteral("pubring.gpg");
|
||||
if (!QFile::copy(src + name, dest + QDir::separator() + name)) {
|
||||
return false;
|
||||
}
|
||||
if (!is21dir) {
|
||||
return (QFile::copy(src + QDir::separator() + QStringLiteral("secring.gpg"),
|
||||
dest + QDir::separator() + QStringLiteral("secring.gpg")));
|
||||
}
|
||||
QDir dir (src + QDir::separator() + QStringLiteral("private-keys-v1.d"));
|
||||
QDir target(dest);
|
||||
if (!target.mkdir("private-keys-v1.d")) {
|
||||
return false;
|
||||
}
|
||||
foreach (QString f, dir.entryList(QDir::Files)) {
|
||||
if (!QFile::copy(src + QDir::separator() + f, dest + QDir::separator() + f)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void killAgent(const QString& dir)
|
||||
{
|
||||
QProcess proc;
|
||||
@ -59,4 +84,5 @@ void killAgent(const QString& dir)
|
||||
proc.waitForFinished();
|
||||
}
|
||||
|
||||
|
||||
#include "t-support.hmoc"
|
||||
|
@ -55,6 +55,8 @@ void killAgent(const QString &dir = qgetenv("GNUPGHOME"));
|
||||
class QGpgMETest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
protected:
|
||||
bool copyKeyrings(const QString &from, const QString& to);
|
||||
|
||||
public Q_SLOTS:
|
||||
void initTestCase();
|
||||
|
@ -239,11 +239,7 @@ private Q_SLOTS:
|
||||
Q_ASSERT(agentConf.open(QIODevice::WriteOnly));
|
||||
agentConf.write("allow-loopback-pinentry");
|
||||
agentConf.close();
|
||||
Q_ASSERT(QFile::copy(gpgHome + QStringLiteral("/pubring.gpg"),
|
||||
mDir.path() + QStringLiteral("/pubring.gpg")));
|
||||
Q_ASSERT(QFile::copy(gpgHome + QStringLiteral("/secring.gpg"),
|
||||
mDir.path() + QStringLiteral("/secring.gpg")));
|
||||
|
||||
copyKeyrings(gpgHome, mDir.path());
|
||||
}
|
||||
private:
|
||||
QTemporaryDir mDir;
|
||||
|
Loading…
Reference in New Issue
Block a user