--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-storage.py Tue Sep 18 16:52:11 2018 -0700
@@ -0,0 +1,46 @@
+# This test verifies the conformance of various classes to various
+# storage interfaces.
+from __future__ import absolute_import
+
+import silenttestrunner
+
+from mercurial import (
+ filelog,
+ transaction,
+ ui as uimod,
+ vfs as vfsmod,
+)
+
+from mercurial.testing import (
+ storage as storagetesting,
+)
+
+STATE = {
+ 'lastindex': 0,
+ 'ui': uimod.ui(),
+ 'vfs': vfsmod.vfs(b'.', realpath=True),
+}
+
+def makefilefn(self):
+ """Factory for filelog instances."""
+ fl = filelog.filelog(STATE['vfs'], 'filelog-%d' % STATE['lastindex'])
+ STATE['lastindex'] += 1
+ return fl
+
+def maketransaction(self):
+ vfsmap = {'plain': STATE['vfs']}
+
+ return transaction.transaction(STATE['ui'].warn, STATE['vfs'], vfsmap,
+ 'journal', 'undo')
+
+# Assigning module-level attributes that inherit from unittest.TestCase
+# is all that is needed to register tests.
+filelogindextests = storagetesting.makeifileindextests(makefilefn,
+ maketransaction)
+filelogdatatests = storagetesting.makeifiledatatests(makefilefn,
+ maketransaction)
+filelogmutationtests = storagetesting.makeifilemutationtests(makefilefn,
+ maketransaction)
+
+if __name__ == '__main__':
+ silenttestrunner.main(__name__)