diff options
author | Christian Kamm <mail@ckamm.de> | 2017-12-11 16:47:49 +0300 |
---|---|---|
committer | ckamm <mail@ckamm.de> | 2017-12-12 12:30:54 +0300 |
commit | dcf0baa9de7b0a2bad65742ea380102d87bdca65 (patch) | |
tree | 2ba08b721c00713e2c11bdf8f3fdea60574e5b3f /test/testsyncjournaldb.cpp | |
parent | 3e294d5339865363f86262660f580ca39af88ae7 (diff) |
Journal: 64bit inodes, fix storing uint64s generally
In addition to using the right function when retrieving inodes this
*also* fixes a more general bug ownsql had with storing uint64 values
that didn't fit into an int64.
Diffstat (limited to 'test/testsyncjournaldb.cpp')
-rw-r--r-- | test/testsyncjournaldb.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/test/testsyncjournaldb.cpp b/test/testsyncjournaldb.cpp index 0575c0ed5..cb86a1655 100644 --- a/test/testsyncjournaldb.cpp +++ b/test/testsyncjournaldb.cpp @@ -50,7 +50,9 @@ private slots: QVERIFY(!record.isValid()); record._path = "foo"; - record._inode = 1234; + // Use a value that exceeds uint32 and isn't representable by the + // signed int being cast to uint64 either (like uint64::max would be) + record._inode = std::numeric_limits<quint32>::max() + 12ull; record._modtime = dropMsecs(QDateTime::currentDateTime()); record._type = 5; record._etag = "789789"; @@ -71,8 +73,9 @@ private slots: QVERIFY(storedRecord == record); // Update metadata - record._inode = 12345; record._modtime = dropMsecs(QDateTime::currentDateTime().addDays(1)); + // try a value that only fits uint64, not int64 + record._inode = std::numeric_limits<quint64>::max() - std::numeric_limits<quint32>::max() - 1; record._type = 7; record._etag = "789FFF"; record._fileId = "efg"; |