changeset 32429:3ea1f1e71a0a

tests: tests for revlog version and flags loading We didn't have explicit test coverage of these branches. Better late than never.
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 19 May 2017 20:01:35 -0700
parents f90419a90cc3
children 36d3559c69a6
files tests/test-revlog.t
diffstat 1 files changed, 32 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-revlog.t	Sun May 21 13:32:07 2017 +0200
+++ b/tests/test-revlog.t	Fri May 19 20:01:35 2017 -0700
@@ -1,3 +1,35 @@
+  $ hg init empty-repo
+  $ cd empty-repo
+
+Flags on revlog version 0 are rejected
+
+  >>> with open('.hg/store/00changelog.i', 'wb') as fh:
+  ...     fh.write('\x00\x01\x00\x00')
+
+  $ hg log
+  abort: index 00changelog.i unknown flags 0x01 for format v0!
+  [255]
+
+Unknown flags on revlog version 1 are rejected
+
+  >>> with open('.hg/store/00changelog.i', 'wb') as fh:
+  ...     fh.write('\x00\x04\x00\x01')
+
+  $ hg log
+  abort: index 00changelog.i unknown flags 0x04 for revlogng!
+  [255]
+
+Unknown version is rejected
+
+  >>> with open('.hg/store/00changelog.i', 'wb') as fh:
+  ...     fh.write('\x00\x00\x00\x02')
+
+  $ hg log
+  abort: index 00changelog.i unknown format 2!
+  [255]
+
+  $ cd ..
+
 Test for CVE-2016-3630
 
   $ hg init