--- a/tests/test-storage.py Tue Oct 16 15:36:19 2018 +0200
+++ b/tests/test-storage.py Tue Oct 09 08:50:13 2018 -0700
@@ -17,6 +17,16 @@
storage as storagetesting,
)
+from hgext import (
+ sqlitestore,
+)
+
+try:
+ from mercurial import zstd
+ zstd.__version__
+except ImportError:
+ zstd = None
+
STATE = {
'lastindex': 0,
'ui': uimod.ui(),
@@ -70,5 +80,42 @@
maketransaction,
addrawrevision)
+def makesqlitefile(self):
+ path = STATE['vfs'].join(b'db-%d.db' % STATE['lastindex'])
+ STATE['lastindex'] += 1
+
+ db = sqlitestore.makedb(path)
+
+ compression = b'zstd' if zstd else b'zlib'
+
+ return sqlitestore.sqlitefilestore(db, b'dummy-path', compression)
+
+def addrawrevisionsqlite(self, fl, tr, node, p1, p2, linkrev, rawtext=None,
+ delta=None, censored=False, ellipsis=False,
+ extstored=False):
+ flags = 0
+
+ if censored:
+ flags |= sqlitestore.FLAG_CENSORED
+
+ if ellipsis | extstored:
+ raise error.Abort(b'support for ellipsis and extstored flags not '
+ b'supported')
+
+ if rawtext is not None:
+ fl._addrawrevision(node, rawtext, tr, linkrev, p1, p2, flags=flags)
+ elif delta is not None:
+ fl._addrawrevision(node, rawtext, tr, linkrev, p1, p2,
+ storedelta=delta, flags=flags)
+ else:
+ raise error.Abort(b'must supply rawtext or delta arguments')
+
+sqlitefileindextests = storagetesting.makeifileindextests(
+ makesqlitefile, maketransaction, addrawrevisionsqlite)
+sqlitefiledatatests = storagetesting.makeifiledatatests(
+ makesqlitefile, maketransaction, addrawrevisionsqlite)
+sqlitefilemutationtests = storagetesting.makeifilemutationtests(
+ makesqlitefile, maketransaction, addrawrevisionsqlite)
+
if __name__ == '__main__':
silenttestrunner.main(__name__)