diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2020-10-24 22:18:53 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2020-10-26 09:56:18 +0000 |
commit | f4d1c96b9aa73a5c215c7f76551df1ae4e7d9d54 (patch) | |
tree | 3f0b88f31c0cd073ebe6dd6e6fbf84884ffba16b | |
parent | d91045953cda7aeb655e501561d78c7ad14038fa (diff) |
clang-tidy: Apply modernize-use-nullptr fix-it
Change-Id: I404ac10a14517763daf656dd38dd560534cbf1fa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | .clang-tidy | 1 | ||||
-rwxr-xr-x | scripts/run-analyzer.sh | 2 | ||||
-rw-r--r-- | src/plugins/scanner/cpp/cppscanner.cpp | 4 | ||||
-rw-r--r-- | src/plugins/scanner/qt/qtscanner.cpp | 4 | ||||
-rw-r--r-- | src/shared/json/json.cpp | 2 | ||||
-rw-r--r-- | tests/auto/api/tst_api.cpp | 152 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 2 | ||||
-rw-r--r-- | tests/auto/language/tst_language.cpp | 8 |
8 files changed, 88 insertions, 87 deletions
diff --git a/.clang-tidy b/.clang-tidy index 081f0e9ad..1ae91aafb 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -37,6 +37,7 @@ Checks: > modernize-use-emplace, modernize-use-equals-*, modernize-use-noexcept, + modernize-use-nullptr, modernize-use-override, modernize-use-transparent-functors, modernize-use-using, diff --git a/scripts/run-analyzer.sh b/scripts/run-analyzer.sh index d98fe2ab1..49f21c402 100755 --- a/scripts/run-analyzer.sh +++ b/scripts/run-analyzer.sh @@ -89,7 +89,7 @@ import os import sys dbFile = sys.argv[1] -blacklist = ['json.cpp'] +blacklist = ['json.cpp', 'qmljsgrammar.cpp'] seenFiles = set() patched_db = [] with open(dbFile, 'r') as f: diff --git a/src/plugins/scanner/cpp/cppscanner.cpp b/src/plugins/scanner/cpp/cppscanner.cpp index 0acb25172..6800ce608 100644 --- a/src/plugins/scanner/cpp/cppscanner.cpp +++ b/src/plugins/scanner/cpp/cppscanner.cpp @@ -233,7 +233,7 @@ static void *openScanner(const unsigned short *filePath, const char *fileTags, i mapl = s.st_size; opaque->mapl = mapl; - void *vmap = mmap(0, s.st_size, PROT_READ, MAP_PRIVATE, opaque->fd, 0); + void *vmap = mmap(nullptr, s.st_size, PROT_READ, MAP_PRIVATE, opaque->fd, 0); if (vmap == MAP_FAILED) // NOLINT(cppcoreguidelines-pro-type-cstyle-cast) return nullptr; #else @@ -319,7 +319,7 @@ ScannerPlugin includeScanner = ScannerUsesCppIncludePaths | ScannerRecursiveDependencies }; -ScannerPlugin *cppScanners[] = { &includeScanner, NULL }; +ScannerPlugin *cppScanners[] = { &includeScanner, nullptr }; static void QbsCppScannerPluginLoad() { diff --git a/src/plugins/scanner/qt/qtscanner.cpp b/src/plugins/scanner/qt/qtscanner.cpp index 22ef294d0..73f1e7816 100644 --- a/src/plugins/scanner/qt/qtscanner.cpp +++ b/src/plugins/scanner/qt/qtscanner.cpp @@ -114,7 +114,7 @@ static void *openScannerQrc(const unsigned short *filePath, const char *fileTags const int fileSize = static_cast<int>(s.st_size); opaque->mapl = fileSize; - void *map = mmap(0, s.st_size, PROT_READ, MAP_PRIVATE, opaque->fd, 0); + void *map = mmap(nullptr, s.st_size, PROT_READ, MAP_PRIVATE, opaque->fd, 0); if (map == nullptr) return nullptr; #else @@ -180,7 +180,7 @@ ScannerPlugin qrcScanner = NoScannerFlags }; -ScannerPlugin *qtScanners[] = {&qrcScanner, NULL}; +ScannerPlugin *qtScanners[] = {&qrcScanner, nullptr}; static void QbsQtScannerPluginLoad() { diff --git a/src/shared/json/json.cpp b/src/shared/json/json.cpp index 6599bd68b..cb6e91f51 100644 --- a/src/shared/json/json.cpp +++ b/src/shared/json/json.cpp @@ -3672,7 +3672,7 @@ bool JsonDocument::operator==(const JsonDocument &other) const */ bool JsonDocument::isNull() const { - return (d == 0); + return (d == nullptr); } diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp index 9e0e9ee52..7a585f641 100644 --- a/tests/auto/api/tst_api.cpp +++ b/tests/auto/api/tst_api.cpp @@ -196,7 +196,7 @@ void TestApi::addedFilePersistent() // On the initial run, linking will fail. const QString relProjectFilePath = "added-file-persistent"; ProcessResultReceiver receiver; - qbs::ErrorInfo errorInfo = doBuildProject(relProjectFilePath, 0, &receiver); + qbs::ErrorInfo errorInfo = doBuildProject(relProjectFilePath, nullptr, &receiver); QVERIFY(errorInfo.hasError()); QVERIFY2(isAboutUndefinedSymbols(receiver.output), qPrintable((receiver.output))); receiver.output.clear(); @@ -206,7 +206,7 @@ void TestApi::addedFilePersistent() const qbs::SetupProjectParameters params = defaultSetupParameters(relProjectFilePath); REPLACE_IN_FILE(params.projectFilePath(), "/* 'file.cpp' */", "'file.cpp'"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(params, m_logSink, - 0)); + nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); setupJob.reset(nullptr); @@ -215,14 +215,14 @@ void TestApi::addedFilePersistent() // Consequently, the linking step must fail as in the initial run. WAIT_FOR_NEW_TIMESTAMP(); REPLACE_IN_FILE(params.projectFilePath(), "'file.cpp'", "/* 'file.cpp' */"); - errorInfo = doBuildProject(relProjectFilePath, 0, &receiver); + errorInfo = doBuildProject(relProjectFilePath, nullptr, &receiver); QVERIFY(errorInfo.hasError()); QVERIFY2(isAboutUndefinedSymbols(receiver.output), qPrintable((receiver.output))); // Add the file again. qbs must schedule it for rule application on the next build. WAIT_FOR_NEW_TIMESTAMP(); REPLACE_IN_FILE(params.projectFilePath(), "/* 'file.cpp' */", "'file.cpp'"); - setupJob.reset(qbs::Project().setupProject(params, m_logSink, 0)); + setupJob.reset(qbs::Project().setupProject(params, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); setupJob.reset(nullptr); @@ -249,7 +249,7 @@ void TestApi::buildGraphInfo() setupParams.setTopLevelProfile(p.p.name()); setupParams.setOverriddenValues({std::make_pair("qbs.architecture", "arm")}); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); const QString bgFilePath = setupParams.buildRoot() + QLatin1Char('/') @@ -295,14 +295,14 @@ void TestApi::buildGraphLocking() qbs::SetupProjectParameters setupParams = defaultSetupParameters("buildgraph-locking"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); const qbs::Project project = setupJob->project(); Q_UNUSED(project); // Case 1: Setting up a competing project from scratch. - setupJob.reset(qbs::Project().setupProject(setupParams, m_logSink, 0)); + setupJob.reset(qbs::Project().setupProject(setupParams, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY(setupJob->error().hasError()); QVERIFY2(setupJob->error().toString().contains("lock"), @@ -311,7 +311,7 @@ void TestApi::buildGraphLocking() // Case 2: Setting up a non-competing project and then making it competing. qbs::SetupProjectParameters setupParams2 = setupParams; setupParams2.setBuildRoot(setupParams.buildRoot() + "/2"); - setupJob.reset(qbs::Project().setupProject(setupParams2, m_logSink, 0)); + setupJob.reset(qbs::Project().setupProject(setupParams2, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); const QString buildDirName = relativeBuildDir(setupParams2.configurationName()); @@ -320,7 +320,7 @@ void TestApi::buildGraphLocking() QVERIFY2(QFileInfo(lockFile).isFile(), qPrintable(lockFile)); qbs::Project project2 = setupJob->project(); QVERIFY(project2.isValid()); - setupJob.reset(project2.setupProject(setupParams, m_logSink, 0)); + setupJob.reset(project2.setupProject(setupParams, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY(setupJob->error().hasError()); QVERIFY2(setupJob->error().toString().contains("lock"), @@ -330,7 +330,7 @@ void TestApi::buildGraphLocking() // Case 3: Changing the build directory of an existing project to something non-competing. qbs::SetupProjectParameters setupParams3 = setupParams2; setupParams3.setBuildRoot(setupParams.buildRoot() + "/3"); - setupJob.reset(qbs::Project().setupProject(setupParams3, m_logSink, 0)); + setupJob.reset(qbs::Project().setupProject(setupParams3, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); project2 = qbs::Project(); @@ -342,7 +342,7 @@ void TestApi::buildGraphLocking() QVERIFY(project3.isValid()); // Case 4: Changing the build directory again, but cancelling the job. - setupJob.reset(project3.setupProject(setupParams2, m_logSink, 0)); + setupJob.reset(project3.setupProject(setupParams2, m_logSink, nullptr)); QThread::sleep(1); setupJob->cancel(); waitForFinished(setupJob.get()); @@ -373,7 +373,7 @@ void TestApi::buildProject() WAIT_FOR_NEW_TIMESTAMP(); qbs::BuildOptions options; options.setForceTimestampCheck(true); - errorInfo = doBuildProject(projectFilePath, 0, 0, 0, options); + errorInfo = doBuildProject(projectFilePath, nullptr, nullptr, nullptr, options); VERIFY_NO_ERROR(errorInfo); if (!productFileName.isEmpty()) QVERIFY2(regularFileExists(productFileName), qPrintable(productFileName)); @@ -457,7 +457,7 @@ void TestApi::buildProjectDryRun() removeBuildDir(params); qbs::BuildOptions options; options.setDryRun(true); - const qbs::ErrorInfo errorInfo = doBuildProject(projectFilePath, 0, 0, 0, options); + const qbs::ErrorInfo errorInfo = doBuildProject(projectFilePath, nullptr, nullptr, nullptr, options); VERIFY_NO_ERROR(errorInfo); QVERIFY2(!QFileInfo::exists(relativeBuildDir()), qPrintable(QDir(relativeBuildDir()) .entryList(QDir::NoDotAndDotDot | QDir::AllEntries | QDir::System).join(", "))); @@ -473,7 +473,7 @@ void TestApi::buildSingleFile() qbs::SetupProjectParameters setupParams = defaultSetupParameters("build-single-file"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); @@ -596,7 +596,7 @@ void TestApi::checkOutputs() qbs::BuildOptions options; options.setForceOutputCheck(check); removeBuildDir(params); - qbs::ErrorInfo errorInfo = doBuildProject("/check-outputs", 0, 0, 0, options); + qbs::ErrorInfo errorInfo = doBuildProject("/check-outputs", nullptr, nullptr, nullptr, options); if (check) QVERIFY(errorInfo.hasError()); else @@ -858,7 +858,7 @@ void TestApi::commandExtraction() { qbs::SetupProjectParameters setupParams = defaultSetupParameters("/command-extraction"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); @@ -901,7 +901,7 @@ void TestApi::dependencyOnMultiplexedType() qbs::SetupProjectParameters setupParams = defaultSetupParameters("/dependency-on-multiplexed-type"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); @@ -990,7 +990,7 @@ void TestApi::errorInSetupRunEnvironment() qbs::SetupProjectParameters setupParams = defaultSetupParameters("error-in-setup-run-environment"); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); const qbs::Project project = job->project(); @@ -1017,7 +1017,7 @@ void TestApi::excludedInputs() { qbs::SetupProjectParameters setupParams = defaultSetupParameters("excluded-inputs"); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); const qbs::Project project = job->project(); @@ -1073,7 +1073,7 @@ void TestApi::disabledInstallGroup() qbs::SetupProjectParameters setupParams = defaultSetupParameters("disabled_install_group"); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); const qbs::Project project = job->project(); @@ -1326,7 +1326,7 @@ void TestApi::fileTagsFilterOverride() qbs::SetupProjectParameters setupParams = defaultSetupParameters("filetagsfilter_override"); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); qbs::Project project = job->project(); @@ -1347,7 +1347,7 @@ void TestApi::generatedFilesList() qbs::SetupProjectParameters setupParams = defaultSetupParameters("generated-files-list"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); QVERIFY(waitForFinished(setupJob.get())); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); @@ -1406,7 +1406,7 @@ void TestApi::infiniteLoopBuilding() qbs::SetupProjectParameters setupParams = defaultSetupParameters(projectDirName + "/infinite-loop.qbs"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); @@ -1427,7 +1427,7 @@ void TestApi::infiniteLoopResolving() { qbs::SetupProjectParameters setupParams = defaultSetupParameters("infinite-loop-resolving"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); QTimer::singleShot(1000, setupJob.get(), &qbs::AbstractJob::cancel); QVERIFY(waitForFinished(setupJob.get(), testTimeoutInMsecs())); QVERIFY2(setupJob->error().toString().toLower().contains("cancel"), @@ -1456,7 +1456,7 @@ void TestApi::inheritQbsSearchPaths() QVariantMap overriddenValues; overriddenValues.insert("project.qbsSearchPaths", QStringList() << m_workingDataDir + "/inherit-qbs-search-paths/subdir"); - errorInfo = doBuildProject(projectFilePath, 0, 0, 0, qbs::BuildOptions(), overriddenValues); + errorInfo = doBuildProject(projectFilePath, nullptr, nullptr, nullptr, qbs::BuildOptions(), overriddenValues); VERIFY_NO_ERROR(errorInfo); } @@ -1473,7 +1473,7 @@ void TestApi::installableFiles() overriddenValues.insert(QStringLiteral("qbs.installRoot"), QStringLiteral("/tmp")); setupParams.setOverriddenValues(overriddenValues); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); qbs::Project project = job->project(); @@ -1502,7 +1502,7 @@ void TestApi::installableFiles() setupParams = defaultSetupParameters("recursive-wildcards"); setupParams.setOverriddenValues(overriddenValues); - job.reset(project.setupProject(setupParams, m_logSink, 0)); + job.reset(project.setupProject(setupParams, m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); project = job->project(); @@ -1523,7 +1523,7 @@ void TestApi::isRunnable() { qbs::SetupProjectParameters setupParams = defaultSetupParameters("is-runnable"); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); qbs::Project project = job->project(); @@ -1616,7 +1616,7 @@ void TestApi::listBuildSystemFiles() qbs::SetupProjectParameters setupParams = defaultSetupParameters("subprojects/toplevelproject.qbs"); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); const auto buildSystemFiles = qbs::Internal::Set<QString>::fromStdSet( @@ -1635,7 +1635,7 @@ void TestApi::localProfiles() setupParams.setOverriddenValues( {std::make_pair(QString("project.enableProfiles"), enableProfiles)}); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); QString taskDescriptions; const auto taskDescHandler = [&taskDescriptions](const QString &desc, int, qbs::AbstractJob *) { taskDescriptions += '\n' + desc; @@ -1706,7 +1706,7 @@ void TestApi::localProfiles() QCOMPARE(moduleProps.getModuleProperty("cpp", "optimization").toString(), QString("fast")); taskDescriptions.clear(); - job.reset(qbs::Project().setupProject(setupParams, m_logSink, 0)); + job.reset(qbs::Project().setupProject(setupParams, m_logSink, nullptr)); connect(job.get(), &qbs::AbstractJob::taskStarted, taskDescHandler); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); @@ -1720,7 +1720,7 @@ void TestApi::localProfiles() projectFile.resize(0); projectFile.write(content); projectFile.close(); - job.reset(qbs::Project().setupProject(setupParams, m_logSink, 0)); + job.reset(qbs::Project().setupProject(setupParams, m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); project = job->project().projectData(); @@ -1754,7 +1754,7 @@ void TestApi::missingSourceFile() setupParams.setProductErrorMode(qbs::ErrorHandlingMode::Relaxed); m_logSink->setLogLevel(qbs::LoggerMinLevel); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); qbs::ProjectData project = job->project().projectData(); @@ -1765,7 +1765,7 @@ void TestApi::missingSourceFile() QCOMPARE(group.allSourceArtifacts().size(), 2); QFile::rename("file2.txt.missing", "file2.txt"); - job.reset(qbs::Project().setupProject(setupParams, m_logSink, 0)); + job.reset(qbs::Project().setupProject(setupParams, m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); project = job->project().projectData(); @@ -1818,7 +1818,7 @@ void TestApi::multiArch() overriddenValues.insert("project.targetProfile", targetProfile.name()); setupParams.setOverriddenValues(overriddenValues); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); @@ -1885,7 +1885,7 @@ void TestApi::multiArch() // Error check: Try to build for the same profile twice. overriddenValues.insert("project.targetProfile", hostProfile.name()); setupParams.setOverriddenValues(overriddenValues); - setupJob.reset(project.setupProject(setupParams, m_logSink, 0)); + setupJob.reset(project.setupProject(setupParams, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY(setupJob->error().hasError()); QVERIFY2(setupJob->error().toString().contains("Duplicate entry 'host' in qbs.profiles."), @@ -1897,7 +1897,7 @@ void TestApi::multiArch() overriddenValues.insert("products.p1.myProfiles", targetProfile.name() + ',' + targetProfile.name()); setupParams.setOverriddenValues(overriddenValues); - setupJob.reset(project.setupProject(setupParams, m_logSink, 0)); + setupJob.reset(project.setupProject(setupParams, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY(setupJob->error().hasError()); QVERIFY2(setupJob->error().toString().contains("Duplicate entry 'target' in qbs.profiles."), @@ -1947,7 +1947,7 @@ void TestApi::multiplexing() { qbs::SetupProjectParameters setupParams = defaultSetupParameters("multiplexing"); std::unique_ptr<qbs::SetupProjectJob> setupJob( - qbs::Project().setupProject(setupParams, m_logSink, 0)); + qbs::Project().setupProject(setupParams, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); @@ -2183,12 +2183,12 @@ void TestApi::newOutputArtifactInDependency() void TestApi::newPatternMatch() { TaskReceiver receiver; - qbs::ErrorInfo errorInfo = doBuildProject("new-pattern-match", 0, 0, &receiver); + qbs::ErrorInfo errorInfo = doBuildProject("new-pattern-match", nullptr, nullptr, &receiver); VERIFY_NO_ERROR(errorInfo); QVERIFY2(receiver.taskDescriptions.contains("Resolving"), qPrintable(m_logSink->output)); receiver.taskDescriptions.clear(); - errorInfo = doBuildProject("new-pattern-match", 0, 0, &receiver); + errorInfo = doBuildProject("new-pattern-match", nullptr, nullptr, &receiver); VERIFY_NO_ERROR(errorInfo); QVERIFY(!receiver.taskDescriptions.contains("Resolving")); @@ -2196,18 +2196,18 @@ void TestApi::newPatternMatch() QFile f("test.txt"); QVERIFY2(f.open(QIODevice::WriteOnly), qPrintable(f.errorString())); f.close(); - errorInfo = doBuildProject("new-pattern-match", 0, 0, &receiver); + errorInfo = doBuildProject("new-pattern-match", nullptr, nullptr, &receiver); VERIFY_NO_ERROR(errorInfo); QVERIFY(receiver.taskDescriptions.contains("Resolving")); receiver.taskDescriptions.clear(); - errorInfo = doBuildProject("new-pattern-match", 0, 0, &receiver); + errorInfo = doBuildProject("new-pattern-match", nullptr, nullptr, &receiver); VERIFY_NO_ERROR(errorInfo); QVERIFY(!receiver.taskDescriptions.contains("Resolving")); WAIT_FOR_NEW_TIMESTAMP(); f.remove(); - errorInfo = doBuildProject("new-pattern-match", 0, 0, &receiver); + errorInfo = doBuildProject("new-pattern-match", nullptr, nullptr, &receiver); VERIFY_NO_ERROR(errorInfo); QVERIFY(receiver.taskDescriptions.contains("Resolving")); } @@ -2217,7 +2217,7 @@ void TestApi::nonexistingProjectPropertyFromProduct() qbs::SetupProjectParameters setupParams = defaultSetupParameters("nonexistingprojectproperties"); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QEXPECT_FAIL("", "QBS-432", Abort); QVERIFY(job->error().hasError()); @@ -2234,7 +2234,7 @@ void TestApi::nonexistingProjectPropertyFromCommandLine() projectProperties.insert(QStringLiteral("project.blubb"), QStringLiteral("true")); setupParams.setOverriddenValues(projectProperties); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY(job->error().hasError()); QVERIFY2(job->error().toString().contains(QLatin1String("blubb")), @@ -2252,7 +2252,7 @@ void TestApi::projectDataAfterProductInvalidation() qbs::SetupProjectParameters setupParams = defaultSetupParameters("project-data-after-" "product-invalidation/project-data-after-product-invalidation.qbs"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); @@ -2274,7 +2274,7 @@ void TestApi::projectDataAfterProductInvalidation() projectFile.resize(0); projectFile.write(content); projectFile.flush(); - setupJob.reset(project.setupProject(setupParams, m_logSink, 0)); + setupJob.reset(project.setupProject(setupParams, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); QVERIFY(!project.isValid()); @@ -2359,20 +2359,20 @@ void TestApi::projectInvalidation() qbs::SetupProjectParameters setupParams = defaultSetupParameters("project-invalidation"); QVERIFY(QFile::copy("project.no-error.qbs", "project-invalidation.qbs")); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); QVERIFY(project.isValid()); WAIT_FOR_NEW_TIMESTAMP(); copyFileAndUpdateTimestamp("project.early-error.qbs", "project-invalidation.qbs"); - setupJob.reset(project.setupProject(setupParams, m_logSink, 0)); + setupJob.reset(project.setupProject(setupParams, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY(setupJob->error().hasError()); QVERIFY(project.isValid()); // Error in Loader, old project still valid. WAIT_FOR_NEW_TIMESTAMP(); copyFileAndUpdateTimestamp("project.late-error.qbs", "project-invalidation.qbs"); - setupJob.reset(project.setupProject(setupParams, m_logSink, 0)); + setupJob.reset(project.setupProject(setupParams, m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY(setupJob->error().hasError()); QVERIFY(!project.isValid()); // Error in build data re-resolving, old project not valid anymore. @@ -2382,13 +2382,13 @@ void TestApi::projectLocking() { qbs::SetupProjectParameters setupParams = defaultSetupParameters("project-locking"); std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); qbs::Project project = setupJob->project(); - setupJob.reset(project.setupProject(setupParams, m_logSink, 0)); + setupJob.reset(project.setupProject(setupParams, m_logSink, nullptr)); std::unique_ptr<qbs::SetupProjectJob> setupJob2(project.setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob2.get()); QVERIFY(setupJob2->error().hasError()); QVERIFY2(setupJob2->error().toString() @@ -2405,14 +2405,14 @@ void TestApi::projectPropertiesByName() QVERIFY(errorInfo.hasError()); QVariantMap overridden; overridden.insert("project.theDefines", QStringList() << "SUB1" << "SUB2"); - errorInfo = doBuildProject(projectFile, 0, 0, 0, qbs::BuildOptions(), overridden); + errorInfo = doBuildProject(projectFile, nullptr, nullptr, nullptr, qbs::BuildOptions(), overridden); QVERIFY(errorInfo.hasError()); overridden.clear(); overridden.insert("projects.subproject1.theDefines", QStringList() << "SUB1"); - errorInfo = doBuildProject(projectFile, 0, 0, 0, qbs::BuildOptions(), overridden); + errorInfo = doBuildProject(projectFile, nullptr, nullptr, nullptr, qbs::BuildOptions(), overridden); QVERIFY(errorInfo.hasError()); overridden.insert("projects.subproject2.theDefines", QStringList() << "SUB2"); - errorInfo = doBuildProject(projectFile, 0, 0, 0, qbs::BuildOptions(), overridden); + errorInfo = doBuildProject(projectFile, nullptr, nullptr, nullptr, qbs::BuildOptions(), overridden); VERIFY_NO_ERROR(errorInfo); } @@ -2472,7 +2472,7 @@ void TestApi::referencedFileErrors() params.setProductErrorMode(relaxedMode ? qbs::ErrorHandlingMode::Relaxed : qbs::ErrorHandlingMode::Strict); m_logSink->setLogLevel(qbs::LoggerMinLevel); - std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(params, m_logSink, 0)); + std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(params, m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(job->error().hasError() != relaxedMode, qPrintable(job->error().toString())); const qbs::Project project = job->project(); @@ -2532,21 +2532,21 @@ void TestApi::references() qbs::SetupProjectParameters setupParams = defaultSetupParameters("references/invalid1.qbs"); const QString projectDir = QDir::cleanPath(m_workingDataDir + "/references"); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY(job->error().hasError()); QString errorString = job->error().toString(); QVERIFY2(errorString.contains("does not contain"), qPrintable(errorString)); setupParams.setProjectFilePath(projectDir + QLatin1String("/invalid2.qbs")); - job.reset(qbs::Project().setupProject(setupParams, m_logSink, 0)); + job.reset(qbs::Project().setupProject(setupParams, m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY(job->error().hasError()); errorString = job->error().toString(); QVERIFY2(errorString.contains("contains more than one"), qPrintable(errorString)); setupParams.setProjectFilePath(projectDir + QLatin1String("/valid.qbs")); - job.reset(qbs::Project().setupProject(setupParams, m_logSink, 0)); + job.reset(qbs::Project().setupProject(setupParams, m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); const qbs::ProjectData topLevelProject = job->project().projectData(); @@ -2562,7 +2562,7 @@ void TestApi::relaxedModeRecovery() setupParams.setProductErrorMode(qbs::ErrorHandlingMode::Relaxed); setupParams.setPropertyCheckingMode(qbs::ErrorHandlingMode::Relaxed); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); if (m_logSink->warnings.size() != 4) { @@ -2648,7 +2648,7 @@ void TestApi::removeFileDependency() QFile::remove("someheader.h"); ProcessResultReceiver receiver; - errorInfo = doBuildProject("remove-file-dependency/removeFileDependency.qbs", 0, &receiver); + errorInfo = doBuildProject("remove-file-dependency/removeFileDependency.qbs", nullptr, &receiver); QVERIFY(errorInfo.hasError()); QVERIFY2(receiver.output.contains("someheader.h"), qPrintable(receiver.output)); } @@ -2661,7 +2661,7 @@ void TestApi::resolveProject() const qbs::SetupProjectParameters params = defaultSetupParameters(projectSubDir); removeBuildDir(params); const std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(params, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); VERIFY_NO_ERROR(setupJob->error()); QVERIFY2(!QFile::exists(productFileName), qPrintable(productFileName)); @@ -2682,7 +2682,7 @@ void TestApi::resolveProjectDryRun() params.setDryRun(true); removeBuildDir(params); const std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(params, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); VERIFY_NO_ERROR(setupJob->error()); QVERIFY2(!QFile::exists(productFileName), qPrintable(productFileName)); @@ -2702,7 +2702,7 @@ void TestApi::restoredWarnings() // Initial resolving: Errors are new. std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); job.reset(nullptr); @@ -2717,7 +2717,7 @@ void TestApi::restoredWarnings() m_logSink->warnings.clear(); // Re-resolving with no changes: Errors come from the stored build graph. - job.reset(qbs::Project().setupProject(setupParams, m_logSink, 0)); + job.reset(qbs::Project().setupProject(setupParams, m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); job.reset(nullptr); @@ -2728,7 +2728,7 @@ void TestApi::restoredWarnings() QVariantMap overridenValues; overridenValues.insert("products.theProduct.moreFiles", true); setupParams.setOverriddenValues(overridenValues); - job.reset(qbs::Project().setupProject(setupParams, m_logSink, 0)); + job.reset(qbs::Project().setupProject(setupParams, m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); job.reset(nullptr); @@ -2758,7 +2758,7 @@ void TestApi::runEnvForDisabledProduct() const qbs::SetupProjectParameters params = defaultSetupParameters("run-disabled-product/run-disabled-product.qbs"); const std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(params, - m_logSink, 0)); + m_logSink, nullptr)); QVERIFY(waitForFinished(setupJob.get())); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); const qbs::Project project = setupJob->project(); @@ -2795,7 +2795,7 @@ void TestApi::sourceFileInBuildDir() const QString generatedFile = relativeProductBuildDir("theProduct") + "/generated.cpp"; QVERIFY2(regularFileExists(generatedFile), qPrintable(generatedFile)); std::unique_ptr<qbs::SetupProjectJob> job(qbs::Project().setupProject(setupParams, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(job.get()); QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString())); const qbs::ProjectData projectData = job->project().projectData(); @@ -2868,7 +2868,7 @@ void TestApi::targetArtifactStatus() = defaultSetupParameters("target-artifact-status/target-artifact-status.qbs"); params.setOverriddenValues({std::make_pair("products.p.enableTagging", enableTagging)}); const std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(params, - m_logSink, 0)); + m_logSink, nullptr)); waitForFinished(setupJob.get()); VERIFY_NO_ERROR(setupJob->error()); const qbs::Project project = setupJob->project(); @@ -2936,7 +2936,7 @@ void TestApi::toolInModule() = defaultSetupParameters("tool-in-module/use-within-project/use-within-project.qbs"); params.setOverriddenValues(overrides); std::unique_ptr<qbs::SetupProjectJob> setupJob( - qbs::Project().setupProject(params, m_logSink, 0)); + qbs::Project().setupProject(params, m_logSink, nullptr)); QVERIFY(waitForFinished(setupJob.get())); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); if (m_logSink->output.contains("Skip this test")) @@ -2952,7 +2952,7 @@ void TestApi::toolInModule() QVERIFY2(QFile::exists(toolOutput), qPrintable(toolOutput)); params = defaultSetupParameters("tool-in-module/use-outside-project/use-outside-project.qbs"); - setupJob.reset(qbs::Project().setupProject(params, m_logSink, 0)); + setupJob.reset(qbs::Project().setupProject(params, m_logSink, nullptr)); QVERIFY(waitForFinished(setupJob.get())); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); const auto project = setupJob->project(); @@ -2982,7 +2982,7 @@ void TestApi::trackAddQObjectHeader() qbsFile.close(); ProcessResultReceiver receiver; qbs::ErrorInfo errorInfo - = doBuildProject("missing-qobject-header/missingheader.qbs", 0, &receiver); + = doBuildProject("missing-qobject-header/missingheader.qbs", nullptr, &receiver); QVERIFY(errorInfo.hasError()); QVERIFY2(isAboutUndefinedSymbols(receiver.output), qPrintable(receiver.output)); @@ -3014,7 +3014,7 @@ void TestApi::trackRemoveQObjectHeader() " files: ['main.cpp', 'myobject.cpp']\n}"); qbsFile.close(); ProcessResultReceiver receiver; - errorInfo = doBuildProject("missing-qobject-header/missingheader.qbs", 0, &receiver); + errorInfo = doBuildProject("missing-qobject-header/missingheader.qbs", nullptr, &receiver); QVERIFY(errorInfo.hasError()); QVERIFY2(isAboutUndefinedSymbols(receiver.output), qPrintable(receiver.output)); } @@ -3024,7 +3024,7 @@ void TestApi::transformerData() const qbs::SetupProjectParameters params = defaultSetupParameters("transformer-data/transformer-data.qbs"); const std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(params, - m_logSink, 0)); + m_logSink, nullptr)); QVERIFY(waitForFinished(setupJob.get())); QVERIFY2(!setupJob->error().hasError(), qPrintable(setupJob->error().toString())); const qbs::Project project = setupJob->project(); @@ -3104,7 +3104,7 @@ qbs::ErrorInfo TestApi::doBuildProject( params.setOverriddenValues(overriddenValues); params.setDryRun(options.dryRun()); const std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(params, - m_logSink, 0)); + m_logSink, nullptr)); if (taskReceiver) { connect(setupJob.get(), &qbs::AbstractJob::taskStarted, taskReceiver, &TaskReceiver::handleTaskStart); diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 706a2d297..721796b19 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -3303,7 +3303,7 @@ void TestBlackbox::propertyAssignmentInFailedModule() QVERIFY(runQbs(failParams) != 0); QCOMPARE(runQbs(QbsRunParameters("resolve", QStringList("modules.m.doFail:true"))), 0); QVERIFY2(m_qbsStdout.contains("Resolving"), m_qbsStdout.constData()); - QEXPECT_FAIL(0, "circular dependency between module merging and validation", Continue); + QEXPECT_FAIL(nullptr, "circular dependency between module merging and validation", Continue); QCOMPARE(runQbs(failParams), 0); } diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp index 95904f0b5..a7037fa0f 100644 --- a/tests/auto/language/tst_language.cpp +++ b/tests/auto/language/tst_language.cpp @@ -1938,7 +1938,7 @@ void TestLanguage::modulePropertiesInGroups() QCOMPARE(g21Gmod1List1, QStringList() << "gmod1_list1_proto" << "g2"); const auto &g21Gmod1List2 = moduleProperty(g21Props, "gmod.gmod1", "gmod1_list2") .toStringList(); - QEXPECT_FAIL(0, "no re-eval when no module props set", Continue); + QEXPECT_FAIL(nullptr, "no re-eval when no module props set", Continue); QCOMPARE(g21Gmod1List2, QStringList() << "grouptest" << "g2.1" << "gmod1_list2_proto"); const int g21P0 = moduleProperty(g21Props, "gmod.gmod1", "p0").toInt(); QCOMPARE(g21P0, 6); @@ -1948,7 +1948,7 @@ void TestLanguage::modulePropertiesInGroups() QCOMPARE(g21Gmod2String, QString("g2")); const auto &g21Gmod2List = moduleProperty(g21Props, "gmod2", "gmod2_list") .toStringList(); - QEXPECT_FAIL(0, "no re-eval when no module props set", Continue); + QEXPECT_FAIL(nullptr, "no re-eval when no module props set", Continue); QCOMPARE(g21Gmod2List, QStringList() << "g2" << "commonName_in_gmod1" << "g2.1_gmod4_g2.1_gmod3" << "g2.1_gmod3" << "gmod2_list_proto"); @@ -1965,11 +1965,11 @@ void TestLanguage::modulePropertiesInGroups() QCOMPARE(g211DepProp, 2); const auto &g211Gmod2String = moduleProperty(g211Props, "gmod2", "gmod2_string").toString(); - QEXPECT_FAIL(0, "re-eval not triggered", Continue); + QEXPECT_FAIL(nullptr, "re-eval not triggered", Continue); QCOMPARE(g211Gmod2String, QString("g2.1.1")); const auto &g211Gmod2List = moduleProperty(g211Props, "gmod2", "gmod2_list") .toStringList(); - QEXPECT_FAIL(0, "re-eval not triggered", Continue); + QEXPECT_FAIL(nullptr, "re-eval not triggered", Continue); QCOMPARE(g211Gmod2List, QStringList() << "g2.1.1" << "commonName_in_gmod1" << "g2.1.1_gmod4_g2.1.1_gmod3" << "g2.1.1_gmod3" << "gmod2_list_proto"); |