diff options
Diffstat (limited to 'lang/qt/tests')
| -rw-r--r-- | lang/qt/tests/run-encryptarchivejob.cpp | 54 | ||||
| -rw-r--r-- | lang/qt/tests/run-signarchivejob.cpp | 45 | 
2 files changed, 60 insertions, 39 deletions
| diff --git a/lang/qt/tests/run-encryptarchivejob.cpp b/lang/qt/tests/run-encryptarchivejob.cpp index 9ce79b6c..afbb13c0 100644 --- a/lang/qt/tests/run-encryptarchivejob.cpp +++ b/lang/qt/tests/run-encryptarchivejob.cpp @@ -41,7 +41,9 @@  #include <QCommandLineParser>  #include <QCoreApplication>  #include <QDebug> +#include <QDir>  #include <QFile> +#include <QFileInfo>  #include <context.h>  #include <encryptionresult.h> @@ -95,23 +97,14 @@ CommandLineOptions parseCommandLine(const QStringList &arguments)      return options;  } -std::shared_ptr<QIODevice> createOutput(const QString &fileName) +QString checkOutputFilePath(const QString &fileName, const QString &baseDirectory)  { -    std::shared_ptr<QFile> output; - -    if (fileName.isEmpty()) { -        output.reset(new QFile); -        output->open(stdout, QIODevice::WriteOnly); -    } else { -        if (QFile::exists(fileName)) { -            qCritical() << "File" << fileName << "exists. Bailing out."; -        } else { -            output.reset(new QFile{fileName}); -            output->open(QIODevice::WriteOnly); -        } +    const QFileInfo fi{QDir{baseDirectory}, fileName}; +    if (fi.exists()) { +        qCritical() << "File" << fi.filePath() << "exists. Bailing out."; +        return {};      } - -    return output; +    return fileName;  }  int main(int argc, char **argv) @@ -129,9 +122,16 @@ int main(int argc, char **argv)          return 1;      } -    auto output = createOutput(options.archiveName); -    if (!output) { -        return 1; +    std::shared_ptr<QFile> output; +    QString outputFilePath; +    if (options.archiveName.isEmpty() || options.archiveName == QLatin1String{"-"}) { +        output.reset(new QFile); +        output->open(stdout, QIODevice::WriteOnly); +    } else { +        outputFilePath = checkOutputFilePath(options.archiveName, options.baseDirectory); +        if (outputFilePath.isEmpty()) { +            return 1; +        }      }      if (options.sign) { @@ -148,7 +148,14 @@ int main(int argc, char **argv)              qApp->quit();          }); -        const auto err = job->start({}, {}, options.filesAndDirectories, output, GpgME::Context::None); +        GpgME::Error err; +        if (output) { +            err = job->start({}, {}, options.filesAndDirectories, output, GpgME::Context::None); +        } else { +            job->setInputPaths(options.filesAndDirectories); +            job->setOutputFile(outputFilePath); +            err = job->startIt(); +        }          if (err) {              std::cerr << "Error: Starting the job failed: " << err.asString() << std::endl;              return 1; @@ -166,7 +173,14 @@ int main(int argc, char **argv)              qApp->quit();          }); -        const auto err = job->start({}, options.filesAndDirectories, output, GpgME::Context::None); +        GpgME::Error err; +        if (output) { +            err = job->start({}, options.filesAndDirectories, output, GpgME::Context::None); +        } else { +            job->setInputPaths(options.filesAndDirectories); +            job->setOutputFile(outputFilePath); +            err = job->startIt(); +        }          if (err) {              std::cerr << "Error: Starting the job failed: " << err.asString() << std::endl;              return 1; diff --git a/lang/qt/tests/run-signarchivejob.cpp b/lang/qt/tests/run-signarchivejob.cpp index affd8e4d..4bf769b2 100644 --- a/lang/qt/tests/run-signarchivejob.cpp +++ b/lang/qt/tests/run-signarchivejob.cpp @@ -40,7 +40,9 @@  #include <QCommandLineParser>  #include <QCoreApplication>  #include <QDebug> +#include <QDir>  #include <QFile> +#include <QFileInfo>  #include <context.h>  #include <signingresult.h> @@ -90,23 +92,14 @@ CommandLineOptions parseCommandLine(const QStringList &arguments)      return options;  } -std::shared_ptr<QIODevice> createOutput(const QString &fileName) +QString checkOutputFilePath(const QString &fileName, const QString &baseDirectory)  { -    std::shared_ptr<QFile> output; - -    if (fileName.isEmpty()) { -        output.reset(new QFile); -        output->open(stdout, QIODevice::WriteOnly); -    } else { -        if (QFile::exists(fileName)) { -            qCritical() << "File" << fileName << "exists. Bailing out."; -        } else { -            output.reset(new QFile{fileName}); -            output->open(QIODevice::WriteOnly); -        } +    const QFileInfo fi{QDir{baseDirectory}, fileName}; +    if (fi.exists()) { +        qCritical() << "File" << fi.filePath() << "exists. Bailing out."; +        return {};      } - -    return output; +    return fileName;  }  int main(int argc, char **argv) @@ -123,9 +116,16 @@ int main(int argc, char **argv)          return 1;      } -    auto output = createOutput(options.archiveName); -    if (!output) { -        return 1; +    std::shared_ptr<QFile> output; +    QString outputFilePath; +    if (options.archiveName.isEmpty() || options.archiveName == QLatin1String{"-"}) { +        output.reset(new QFile); +        output->open(stdout, QIODevice::WriteOnly); +    } else { +        outputFilePath = checkOutputFilePath(options.archiveName, options.baseDirectory); +        if (outputFilePath.isEmpty()) { +            return 1; +        }      }      auto job = QGpgME::openpgp()->signArchiveJob(options.armor); @@ -140,7 +140,14 @@ int main(int argc, char **argv)          qApp->quit();      }); -    const auto err = job->start({}, options.filesAndDirectories, output); +    GpgME::Error err; +    if (output) { +        err = job->start({}, options.filesAndDirectories, output); +    } else { +        job->setInputPaths(options.filesAndDirectories); +        job->setOutputFile(outputFilePath); +        err = job->startIt(); +    }      if (err) {          std::cerr << "Error: Starting the job failed: " << err.asString() << std::endl;          return 1; | 
