NOISSUE tweak QCOMPARE vs QVERIFY

... the Qt test framework is annoyingly complicated and brittle.
... it may have to be replaced with something more reliable.
This commit is contained in:
Petr Mrázek 2020-10-11 23:45:41 +02:00
parent 015c34bb38
commit 3aca4cbe20

View File

@ -62,23 +62,23 @@ void PackageManifestTest::test_parse()
{
auto manifest = Package::fromManifestContents(basic_manifest);
QCOMPARE(manifest.valid, true);
QCOMPARE(manifest.files.size(), 1);
QCOMPARE(manifest.files.count(Path("a/b.txt")), 1);
QVERIFY(manifest.files.size() == 1);
QVERIFY(manifest.files.count(Path("a/b.txt")));
auto &file = manifest.files[Path("a/b.txt")];
QCOMPARE(file.executable, true);
QCOMPARE(file.hash, "da39a3ee5e6b4b0d3255bfef95601890afd80709");
QCOMPARE(file.size, 0);
QCOMPARE(manifest.folders.size(), 4);
QCOMPARE(manifest.folders.count(Path(".")), 1);
QCOMPARE(manifest.folders.count(Path("a")), 1);
QCOMPARE(manifest.folders.count(Path("a/b")), 1);
QCOMPARE(manifest.folders.count(Path("a/b/c")), 1);
QCOMPARE(manifest.symlinks.size(), 1);
QVERIFY(manifest.folders.size() == 4);
QVERIFY(manifest.folders.count(Path(".")));
QVERIFY(manifest.folders.count(Path("a")));
QVERIFY(manifest.folders.count(Path("a/b")));
QVERIFY(manifest.folders.count(Path("a/b/c")));
QVERIFY(manifest.symlinks.size() == 1);
auto symlinkPath = Path("a/b/c.txt");
QCOMPARE(manifest.symlinks.count(symlinkPath), 1);
QVERIFY(manifest.symlinks.count(symlinkPath));
auto &symlink = manifest.symlinks[symlinkPath];
QCOMPARE(symlink, Path("../b.txt"));
QCOMPARE(manifest.sources.size(), 1);
QVERIFY(manifest.sources.size() == 1);
}
void PackageManifestTest::test_parse_file() {
@ -91,17 +91,17 @@ void PackageManifestTest::test_inspect() {
auto path = QFINDTESTDATA("testdata/inspect/");
auto manifest = Package::fromInspectedFolder(path);
QCOMPARE(manifest.valid, true);
QCOMPARE(manifest.files.size(), 1);
QCOMPARE(manifest.files.count(Path("a/b.txt")), 1);
QVERIFY(manifest.files.size() == 1);
QVERIFY(manifest.files.count(Path("a/b.txt")));
auto &file = manifest.files[Path("a/b.txt")];
QCOMPARE(file.executable, true);
QCOMPARE(file.hash, "da39a3ee5e6b4b0d3255bfef95601890afd80709");
QCOMPARE(file.size, 0);
QCOMPARE(manifest.folders.size(), 3);
QCOMPARE(manifest.folders.count(Path(".")), 1);
QCOMPARE(manifest.folders.count(Path("a")), 1);
QCOMPARE(manifest.folders.count(Path("a/b")), 1);
QCOMPARE(manifest.symlinks.size(), 1);
QVERIFY(manifest.folders.size() == 3);
QVERIFY(manifest.folders.count(Path(".")));
QVERIFY(manifest.folders.count(Path("a")));
QVERIFY(manifest.folders.count(Path("a/b")));
QVERIFY(manifest.symlinks.size() == 1);
}
void PackageManifestTest::test_diff() {
@ -110,15 +110,15 @@ void PackageManifestTest::test_diff() {
auto to = Package::fromManifestContents(basic_manifest);
auto operations = UpdateOperations::resolve(from, to);
QCOMPARE(operations.valid, true);
QCOMPARE(operations.mkdirs.size(), 1);
QVERIFY(operations.mkdirs.size() == 1);
QCOMPARE(operations.mkdirs[0], Path("a/b/c"));
QCOMPARE(operations.rmdirs.size(), 0);
QCOMPARE(operations.deletes.size(), 1);
QVERIFY(operations.rmdirs.size() == 0);
QVERIFY(operations.deletes.size() == 1);
QCOMPARE(operations.deletes[0], Path("a/b/b.txt"));
QCOMPARE(operations.downloads.size(), 0);
QCOMPARE(operations.mklinks.size(), 1);
QCOMPARE(operations.mklinks.count(Path("a/b/c.txt")), 1);
QVERIFY(operations.downloads.size() == 0);
QVERIFY(operations.mklinks.size() == 1);
QVERIFY(operations.mklinks.count(Path("a/b/c.txt")));
QCOMPARE(operations.mklinks[Path("a/b/c.txt")], Path("../b.txt"));
}
@ -135,10 +135,10 @@ void PackageManifestTest::mkdir_deep() {
}
)END");
auto operations = UpdateOperations::resolve(from, to);
QCOMPARE(operations.deletes.size(), 0);
QCOMPARE(operations.rmdirs.size(), 0);
QVERIFY(operations.deletes.size() == 0);
QVERIFY(operations.rmdirs.size() == 0);
QCOMPARE(operations.mkdirs.size(), 6);
QVERIFY(operations.mkdirs.size() == 6);
QCOMPARE(operations.mkdirs[0], Path("."));
QCOMPARE(operations.mkdirs[1], Path("a"));
QCOMPARE(operations.mkdirs[2], Path("a/b"));
@ -146,9 +146,9 @@ void PackageManifestTest::mkdir_deep() {
QCOMPARE(operations.mkdirs[4], Path("a/b/c/d"));
QCOMPARE(operations.mkdirs[5], Path("a/b/c/d/e"));
QCOMPARE(operations.downloads.size(), 0);
QCOMPARE(operations.mklinks.size(), 0);
QCOMPARE(operations.executable_fixes.size(), 0);
QVERIFY(operations.downloads.size() == 0);
QVERIFY(operations.mklinks.size() == 0);
QVERIFY(operations.executable_fixes.size() == 0);
}
void PackageManifestTest::rmdir_deep() {
@ -164,9 +164,9 @@ void PackageManifestTest::rmdir_deep() {
}
)END");
auto operations = UpdateOperations::resolve(from, to);
QCOMPARE(operations.deletes.size(), 0);
QVERIFY(operations.deletes.size() == 0);
QCOMPARE(operations.rmdirs.size(), 6);
QVERIFY(operations.rmdirs.size() == 6);
QCOMPARE(operations.rmdirs[0], Path("a/b/c/d/e"));
QCOMPARE(operations.rmdirs[1], Path("a/b/c/d"));
QCOMPARE(operations.rmdirs[2], Path("a/b/c"));
@ -174,10 +174,10 @@ void PackageManifestTest::rmdir_deep() {
QCOMPARE(operations.rmdirs[4], Path("a"));
QCOMPARE(operations.rmdirs[5], Path("."));
QCOMPARE(operations.mkdirs.size(), 0);
QCOMPARE(operations.downloads.size(), 0);
QCOMPARE(operations.mklinks.size(), 0);
QCOMPARE(operations.executable_fixes.size(), 0);
QVERIFY(operations.mkdirs.size() == 0);
QVERIFY(operations.downloads.size() == 0);
QVERIFY(operations.mklinks.size() == 0);
QVERIFY(operations.executable_fixes.size() == 0);
}
void PackageManifestTest::identical_file() {
@ -201,12 +201,12 @@ void PackageManifestTest::identical_file() {
auto from = Package::fromManifestContents(manifest);
auto to = Package::fromManifestContents(manifest);
auto operations = UpdateOperations::resolve(from, to);
QCOMPARE(operations.deletes.size(), 0);
QCOMPARE(operations.rmdirs.size(), 0);
QCOMPARE(operations.mkdirs.size(), 0);
QCOMPARE(operations.downloads.size(), 0);
QCOMPARE(operations.mklinks.size(), 0);
QCOMPARE(operations.executable_fixes.size(), 0);
QVERIFY(operations.deletes.size() == 0);
QVERIFY(operations.rmdirs.size() == 0);
QVERIFY(operations.mkdirs.size() == 0);
QVERIFY(operations.downloads.size() == 0);
QVERIFY(operations.mklinks.size() == 0);
QVERIFY(operations.executable_fixes.size() == 0);
}
void PackageManifestTest::changed_file() {
@ -245,13 +245,13 @@ void PackageManifestTest::changed_file() {
}
)END");
auto operations = UpdateOperations::resolve(from, to);
QCOMPARE(operations.deletes.size(), 1);
QVERIFY(operations.deletes.size() == 1);
QCOMPARE(operations.deletes[0], Path("a/b/c/d/file"));
QCOMPARE(operations.rmdirs.size(), 0);
QCOMPARE(operations.mkdirs.size(), 0);
QCOMPARE(operations.downloads.size(), 1);
QCOMPARE(operations.mklinks.size(), 0);
QCOMPARE(operations.executable_fixes.size(), 0);
QVERIFY(operations.rmdirs.size() == 0);
QVERIFY(operations.mkdirs.size() == 0);
QVERIFY(operations.downloads.size() == 1);
QVERIFY(operations.mklinks.size() == 0);
QVERIFY(operations.executable_fixes.size() == 0);
}
void PackageManifestTest::added_file() {
@ -282,12 +282,12 @@ void PackageManifestTest::added_file() {
}
)END");
auto operations = UpdateOperations::resolve(from, to);
QCOMPARE(operations.deletes.size(), 0);
QCOMPARE(operations.rmdirs.size(), 0);
QCOMPARE(operations.mkdirs.size(), 0);
QCOMPARE(operations.downloads.size(), 1);
QCOMPARE(operations.mklinks.size(), 0);
QCOMPARE(operations.executable_fixes.size(), 0);
QVERIFY(operations.deletes.size() == 0);
QVERIFY(operations.rmdirs.size() == 0);
QVERIFY(operations.mkdirs.size() == 0);
QVERIFY(operations.downloads.size() == 1);
QVERIFY(operations.mklinks.size() == 0);
QVERIFY(operations.executable_fixes.size() == 0);
}
void PackageManifestTest::removed_file() {
@ -318,13 +318,13 @@ void PackageManifestTest::removed_file() {
}
)END");
auto operations = UpdateOperations::resolve(from, to);
QCOMPARE(operations.deletes.size(), 1);
QVERIFY(operations.deletes.size() == 1);
QCOMPARE(operations.deletes[0], Path("a/b/c/d/file"));
QCOMPARE(operations.rmdirs.size(), 0);
QCOMPARE(operations.mkdirs.size(), 0);
QCOMPARE(operations.downloads.size(), 0);
QCOMPARE(operations.mklinks.size(), 0);
QCOMPARE(operations.executable_fixes.size(), 0);
QVERIFY(operations.rmdirs.size() == 0);
QVERIFY(operations.mkdirs.size() == 0);
QVERIFY(operations.downloads.size() == 0);
QVERIFY(operations.mklinks.size() == 0);
QVERIFY(operations.executable_fixes.size() == 0);
}
QTEST_GUILESS_MAIN(PackageManifestTest)