mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Add simple test for git storage
This just makes sure that writing data to git storage and reading it back gives you the same result. Without the fixed generation of initial dive site UUIDs this fails. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
eb205c1b09
commit
6eed3155e6
3 changed files with 51 additions and 0 deletions
|
@ -571,6 +571,7 @@ if(NOT NO_TESTS)
|
|||
TEST(TestProfile testprofile.cpp)
|
||||
TEST(TestGpsCoords testgpscoords.cpp)
|
||||
TEST(TestParse testparse.cpp)
|
||||
TEST(TestGitStorage testgitstorage.cpp)
|
||||
TEST(TestPlan testplan.cpp)
|
||||
endif()
|
||||
|
||||
|
|
37
tests/testgitstorage.cpp
Normal file
37
tests/testgitstorage.cpp
Normal file
|
@ -0,0 +1,37 @@
|
|||
#include "testgitstorage.h"
|
||||
#include "dive.h"
|
||||
#include "divelist.h"
|
||||
#include "file.h"
|
||||
#include "git2.h"
|
||||
#include <QDir>
|
||||
#include <QTextStream>
|
||||
|
||||
void TestGitStorage::testGitStorageLocal()
|
||||
{
|
||||
// test writing and reading back from local git storage
|
||||
git_repository *repo;
|
||||
git_libgit2_init();
|
||||
QCOMPARE(parse_file(SUBSURFACE_SOURCE "/dives/SampleDivesV2.ssrf"), 0);
|
||||
QString testDirName("./gittest");
|
||||
QDir testDir(testDirName);
|
||||
QCOMPARE(testDir.removeRecursively(), true);
|
||||
QCOMPARE(QDir().mkdir(testDirName), true);
|
||||
QCOMPARE(git_repository_init(&repo, qPrintable(testDirName), false), 0);
|
||||
QCOMPARE(save_dives(qPrintable(testDirName + "[test]")), 0);
|
||||
QCOMPARE(save_dives("./SampleDivesV3.ssrf"), 0);
|
||||
clear_dive_file_data();
|
||||
QCOMPARE(parse_file(qPrintable(testDirName + "[test]")), 0);
|
||||
QCOMPARE(save_dives("./SampleDivesV3viagit.ssrf"), 0);
|
||||
QFile org("./SampleDivesV3.ssrf");
|
||||
org.open(QFile::ReadOnly);
|
||||
QFile out("./SampleDivesV3viagit.ssrf");
|
||||
out.open(QFile::ReadOnly);
|
||||
QTextStream orgS(&org);
|
||||
QTextStream outS(&out);
|
||||
QString readin = orgS.readAll();
|
||||
QString written = outS.readAll();
|
||||
QCOMPARE(readin, written);
|
||||
clear_dive_file_data();
|
||||
}
|
||||
|
||||
QTEST_MAIN(TestGitStorage)
|
13
tests/testgitstorage.h
Normal file
13
tests/testgitstorage.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
#ifndef TESTGITSTORAGE_H
|
||||
#define TESTGITSTORAGE_H
|
||||
|
||||
#include <QTest>
|
||||
|
||||
class TestGitStorage : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void testGitStorageLocal();
|
||||
};
|
||||
|
||||
#endif // TESTGITSTORAGE_H
|
Loading…
Reference in a new issue