Mercurial > hg
comparison tests/test-storage.py @ 43076:2372284d9457
formatting: blacken the codebase
This is using my patch to black
(https://github.com/psf/black/pull/826) so we don't un-wrap collection
literals.
Done with:
hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**"' | xargs black -S
# skip-blame mass-reformatting only
# no-check-commit reformats foo_bar functions
Differential Revision: https://phab.mercurial-scm.org/D6971
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 06 Oct 2019 09:45:02 -0400 |
parents | 1bf3e6041e2c |
children | 6000f5b25c9b |
comparison
equal
deleted
inserted
replaced
43075:57875cf423c9 | 43076:2372284d9457 |
---|---|
11 transaction, | 11 transaction, |
12 ui as uimod, | 12 ui as uimod, |
13 vfs as vfsmod, | 13 vfs as vfsmod, |
14 ) | 14 ) |
15 | 15 |
16 from mercurial.testing import ( | 16 from mercurial.testing import storage as storagetesting |
17 storage as storagetesting, | |
18 ) | |
19 | 17 |
20 try: | 18 try: |
21 from hgext import ( | 19 from hgext import sqlitestore |
22 sqlitestore, | |
23 ) | |
24 except ImportError: | 20 except ImportError: |
25 sqlitestore = None | 21 sqlitestore = None |
26 | 22 |
27 try: | 23 try: |
28 import sqlite3 | 24 import sqlite3 |
25 | |
29 if sqlite3.sqlite_version_info < (3, 8, 3): | 26 if sqlite3.sqlite_version_info < (3, 8, 3): |
30 # WITH clause not supported | 27 # WITH clause not supported |
31 sqlitestore = None | 28 sqlitestore = None |
32 except ImportError: | 29 except ImportError: |
33 pass | 30 pass |
34 | 31 |
35 try: | 32 try: |
36 from mercurial import zstd | 33 from mercurial import zstd |
34 | |
37 zstd.__version__ | 35 zstd.__version__ |
38 except ImportError: | 36 except ImportError: |
39 zstd = None | 37 zstd = None |
40 | 38 |
41 STATE = { | 39 STATE = { |
42 'lastindex': 0, | 40 'lastindex': 0, |
43 'ui': uimod.ui(), | 41 'ui': uimod.ui(), |
44 'vfs': vfsmod.vfs(b'.', realpath=True), | 42 'vfs': vfsmod.vfs(b'.', realpath=True), |
45 } | 43 } |
46 | 44 |
45 | |
47 def makefilefn(self): | 46 def makefilefn(self): |
48 """Factory for filelog instances.""" | 47 """Factory for filelog instances.""" |
49 fl = filelog.filelog(STATE['vfs'], b'filelog-%d' % STATE['lastindex']) | 48 fl = filelog.filelog(STATE['vfs'], b'filelog-%d' % STATE['lastindex']) |
50 STATE['lastindex'] += 1 | 49 STATE['lastindex'] += 1 |
51 return fl | 50 return fl |
52 | 51 |
52 | |
53 def maketransaction(self): | 53 def maketransaction(self): |
54 vfsmap = {b'plain': STATE['vfs'], b'store': STATE['vfs']} | 54 vfsmap = {b'plain': STATE['vfs'], b'store': STATE['vfs']} |
55 | 55 |
56 return transaction.transaction(STATE['ui'].warn, STATE['vfs'], vfsmap, | 56 return transaction.transaction( |
57 b'journal', b'undo') | 57 STATE['ui'].warn, STATE['vfs'], vfsmap, b'journal', b'undo' |
58 ) | |
58 | 59 |
59 def addrawrevision(self, fl, tr, node, p1, p2, linkrev, rawtext=None, | 60 |
60 delta=None, censored=False, ellipsis=False, extstored=False): | 61 def addrawrevision( |
62 self, | |
63 fl, | |
64 tr, | |
65 node, | |
66 p1, | |
67 p2, | |
68 linkrev, | |
69 rawtext=None, | |
70 delta=None, | |
71 censored=False, | |
72 ellipsis=False, | |
73 extstored=False, | |
74 ): | |
61 flags = 0 | 75 flags = 0 |
62 | 76 |
63 if censored: | 77 if censored: |
64 flags |= revlog.REVIDX_ISCENSORED | 78 flags |= revlog.REVIDX_ISCENSORED |
65 if ellipsis: | 79 if ellipsis: |
68 flags |= revlog.REVIDX_EXTSTORED | 82 flags |= revlog.REVIDX_EXTSTORED |
69 | 83 |
70 if rawtext is not None: | 84 if rawtext is not None: |
71 fl._revlog.addrawrevision(rawtext, tr, linkrev, p1, p2, node, flags) | 85 fl._revlog.addrawrevision(rawtext, tr, linkrev, p1, p2, node, flags) |
72 elif delta is not None: | 86 elif delta is not None: |
73 fl._revlog.addrawrevision(rawtext, tr, linkrev, p1, p2, node, flags, | 87 fl._revlog.addrawrevision( |
74 cachedelta=delta) | 88 rawtext, tr, linkrev, p1, p2, node, flags, cachedelta=delta |
89 ) | |
75 else: | 90 else: |
76 raise error.Abort('must supply rawtext or delta arguments') | 91 raise error.Abort('must supply rawtext or delta arguments') |
77 | 92 |
78 # We may insert bad data. Clear caches to prevent e.g. cache hits to | 93 # We may insert bad data. Clear caches to prevent e.g. cache hits to |
79 # bypass hash verification. | 94 # bypass hash verification. |
80 fl._revlog.clearcaches() | 95 fl._revlog.clearcaches() |
81 | 96 |
97 | |
82 # Assigning module-level attributes that inherit from unittest.TestCase | 98 # Assigning module-level attributes that inherit from unittest.TestCase |
83 # is all that is needed to register tests. | 99 # is all that is needed to register tests. |
84 filelogindextests = storagetesting.makeifileindextests(makefilefn, | 100 filelogindextests = storagetesting.makeifileindextests( |
85 maketransaction, | 101 makefilefn, maketransaction, addrawrevision |
86 addrawrevision) | 102 ) |
87 filelogdatatests = storagetesting.makeifiledatatests(makefilefn, | 103 filelogdatatests = storagetesting.makeifiledatatests( |
88 maketransaction, | 104 makefilefn, maketransaction, addrawrevision |
89 addrawrevision) | 105 ) |
90 filelogmutationtests = storagetesting.makeifilemutationtests(makefilefn, | 106 filelogmutationtests = storagetesting.makeifilemutationtests( |
91 maketransaction, | 107 makefilefn, maketransaction, addrawrevision |
92 addrawrevision) | 108 ) |
109 | |
93 | 110 |
94 def makesqlitefile(self): | 111 def makesqlitefile(self): |
95 path = STATE['vfs'].join(b'db-%d.db' % STATE['lastindex']) | 112 path = STATE['vfs'].join(b'db-%d.db' % STATE['lastindex']) |
96 STATE['lastindex'] += 1 | 113 STATE['lastindex'] += 1 |
97 | 114 |
99 | 116 |
100 compression = b'zstd' if zstd else b'zlib' | 117 compression = b'zstd' if zstd else b'zlib' |
101 | 118 |
102 return sqlitestore.sqlitefilestore(db, b'dummy-path', compression) | 119 return sqlitestore.sqlitefilestore(db, b'dummy-path', compression) |
103 | 120 |
104 def addrawrevisionsqlite(self, fl, tr, node, p1, p2, linkrev, rawtext=None, | 121 |
105 delta=None, censored=False, ellipsis=False, | 122 def addrawrevisionsqlite( |
106 extstored=False): | 123 self, |
124 fl, | |
125 tr, | |
126 node, | |
127 p1, | |
128 p2, | |
129 linkrev, | |
130 rawtext=None, | |
131 delta=None, | |
132 censored=False, | |
133 ellipsis=False, | |
134 extstored=False, | |
135 ): | |
107 flags = 0 | 136 flags = 0 |
108 | 137 |
109 if censored: | 138 if censored: |
110 flags |= sqlitestore.FLAG_CENSORED | 139 flags |= sqlitestore.FLAG_CENSORED |
111 | 140 |
112 if ellipsis | extstored: | 141 if ellipsis | extstored: |
113 raise error.Abort(b'support for ellipsis and extstored flags not ' | 142 raise error.Abort( |
114 b'supported') | 143 b'support for ellipsis and extstored flags not ' b'supported' |
144 ) | |
115 | 145 |
116 if rawtext is not None: | 146 if rawtext is not None: |
117 fl._addrawrevision(node, rawtext, tr, linkrev, p1, p2, flags=flags) | 147 fl._addrawrevision(node, rawtext, tr, linkrev, p1, p2, flags=flags) |
118 elif delta is not None: | 148 elif delta is not None: |
119 fl._addrawrevision(node, rawtext, tr, linkrev, p1, p2, | 149 fl._addrawrevision( |
120 storedelta=delta, flags=flags) | 150 node, rawtext, tr, linkrev, p1, p2, storedelta=delta, flags=flags |
151 ) | |
121 else: | 152 else: |
122 raise error.Abort(b'must supply rawtext or delta arguments') | 153 raise error.Abort(b'must supply rawtext or delta arguments') |
123 | 154 |
155 | |
124 if sqlitestore is not None: | 156 if sqlitestore is not None: |
125 sqlitefileindextests = storagetesting.makeifileindextests( | 157 sqlitefileindextests = storagetesting.makeifileindextests( |
126 makesqlitefile, maketransaction, addrawrevisionsqlite) | 158 makesqlitefile, maketransaction, addrawrevisionsqlite |
159 ) | |
127 sqlitefiledatatests = storagetesting.makeifiledatatests( | 160 sqlitefiledatatests = storagetesting.makeifiledatatests( |
128 makesqlitefile, maketransaction, addrawrevisionsqlite) | 161 makesqlitefile, maketransaction, addrawrevisionsqlite |
162 ) | |
129 sqlitefilemutationtests = storagetesting.makeifilemutationtests( | 163 sqlitefilemutationtests = storagetesting.makeifilemutationtests( |
130 makesqlitefile, maketransaction, addrawrevisionsqlite) | 164 makesqlitefile, maketransaction, addrawrevisionsqlite |
165 ) | |
131 | 166 |
132 if __name__ == '__main__': | 167 if __name__ == '__main__': |
133 silenttestrunner.main(__name__) | 168 silenttestrunner.main(__name__) |