/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_testament.py

  • Committer: v.ladeuil+lp at free
  • Date: 2006-10-12 14:29:32 UTC
  • mto: (2145.1.1 keepalive)
  • mto: This revision was merged to the branch mainline in revision 2146.
  • Revision ID: v.ladeuil+lp@free.fr-20061012142932-7221fe16d2b48fa3
Shuffle http related test code. Hopefully it ends up at the right place :)

* bzrlib/tests/HttpServer.py: 
New file. bzrlib.tests.ChrootedTestCase use HttpServer. So the
class can't be defined in bzrlib.tests.HTTPUtils because it
creates a circular dependency (bzrlib.tests.HTTPUtils needs to
import bzrlib.tests).

* bzrlib/transport/http/_urllib.py: 
Transfer test server definition to bzrlib.tests.HttpServer. Clean
up imports.

* bzrlib/transport/http/_pycurl.py: 
Transfer test server definition to bzrlib.tests.HttpServer. Clean
up imports.

* bzrlib/transport/http/__init__.py: 
Transfer all test related code to either bzrlib.tests.HttpServer
and bzrlib.tests.HTTPUtils.
Fix all use of TransportNotPossible and InvalidURL by prefixing it
by 'errors.' (this seems to be the preferred way in the rest of
bzr).
Get rid of unused imports.

* bzrlib/tests/test_transport.py:
(ReadonlyDecoratorTransportTest.test_local_parameters,
FakeNFSDecoratorTests.test_http_parameters): Use HttpServer from
bzrlib.tests.HttpServer instead of bzrlib.transport.http.

* bzrlib/tests/test_sftp_transport.py:
(set_test_transport_to_sftp): Use HttpServer from
bzrlib.tests.HttpServer instead of bzrlib.transport.http.

* bzrlib/tests/test_selftest.py:
(TestTestCaseWithTransport.test_get_readonly_url_http): Use
HttpServer from bzrlib.tests.HttpServer instead of
bzrlib.transport.http.

* bzrlib/tests/test_repository.py: 
Does *not* use HttpServer.

* bzrlib/tests/test_http.py: 
Build on top of bzrlib.tests.HttpServer and bzrlib.tests.HTTPUtils
instead of bzrlib.transport.http.

* bzrlib/tests/test_bzrdir.py:
(ChrootedTests.setUp): Use HttpServer from bzrlib.tests.HttpServer
instead of bzrlib.transport.http.

* bzrlib/tests/branch_implementations/test_http.py:
(HTTPBranchTests.setUp): Use HttpServer from bzrlib.tests.HttpServer
instead of bzrlib.transport.http.

* bzrlib/tests/branch_implementations/test_branch.py:
(ChrootedTests.setUp): Use HttpServer from bzrlib.tests.HttpServer
instead of bzrlib.transport.http.

* bzrlib/tests/__init__.py:
(ChrootedTestCase.setUp): Use HttpServer from
bzrlib.tests.HttpServer instead of bzrlib.transport.http.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (C) 2005-2006 by Canonical Ltd
 
2
#
 
3
# This program is free software; you can redistribute it and/or modify
 
4
# it under the terms of the GNU General Public License as published by
 
5
# the Free Software Foundation; either version 2 of the License, or
 
6
# (at your option) any later version.
 
7
#
 
8
# This program is distributed in the hope that it will be useful,
 
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
# GNU General Public License for more details.
 
12
#
 
13
# You should have received a copy of the GNU General Public License
 
14
# along with this program; if not, write to the Free Software
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
16
 
 
17
"""Test testaments for gpg signing."""
 
18
 
 
19
# TODO: Testaments with x-bits
 
20
 
 
21
import os
 
22
from sha import sha
 
23
 
 
24
from bzrlib.tests import TestCaseWithTransport
 
25
from bzrlib.testament import Testament, StrictTestament, StrictTestament3
 
26
from bzrlib.transform import TreeTransform
 
27
from bzrlib.osutils import has_symlinks
 
28
 
 
29
 
 
30
class TestamentSetup(TestCaseWithTransport):
 
31
 
 
32
    def setUp(self):
 
33
        super(TestamentSetup, self).setUp()
 
34
        self.wt = self.make_branch_and_tree('.')
 
35
        b = self.b = self.wt.branch
 
36
        b.nick = "test branch"
 
37
        self.wt.commit(message='initial null commit',
 
38
                 committer='test@user',
 
39
                 timestamp=1129025423, # 'Tue Oct 11 20:10:23 2005'
 
40
                 timezone=0,
 
41
                 rev_id='test@user-1')
 
42
        self.build_tree_contents([('hello', 'contents of hello file'),
 
43
                             ('src/', ),
 
44
                             ('src/foo.c', 'int main()\n{\n}\n')])
 
45
        self.wt.add(['hello', 'src', 'src/foo.c'],
 
46
                             ['hello-id', 'src-id', 'foo.c-id'])
 
47
        tt = TreeTransform(self.wt)
 
48
        trans_id = tt.trans_id_tree_path('hello')
 
49
        tt.set_executability(True, trans_id)
 
50
        tt.apply()
 
51
        self.wt.commit(message='add files and directories',
 
52
                 timestamp=1129025483,
 
53
                 timezone=36000,
 
54
                 rev_id='test@user-2',
 
55
                 committer='test@user')
 
56
 
 
57
 
 
58
class TestamentTests(TestamentSetup):
 
59
 
 
60
    def testament_class(self):
 
61
        return Testament
 
62
 
 
63
    def expected(self, key):
 
64
        return texts[self.testament_class()][key]
 
65
 
 
66
    def from_revision(self, repository, revision_id):
 
67
        return self.testament_class().from_revision(repository, revision_id)
 
68
 
 
69
    def test_null_testament(self):
 
70
        """Testament for a revision with no contents."""
 
71
        t = self.from_revision(self.b.repository, 'test@user-1')
 
72
        ass = self.assertTrue
 
73
        eq = self.assertEqual
 
74
        ass(isinstance(t, Testament))
 
75
        eq(t.revision_id, 'test@user-1')
 
76
        eq(t.committer, 'test@user')
 
77
        eq(t.timestamp, 1129025423)
 
78
        eq(t.timezone, 0)
 
79
 
 
80
    def test_testment_text_form(self):
 
81
        """Conversion of testament to canonical text form."""
 
82
        t = self.from_revision(self.b.repository, 'test@user-1')
 
83
        text_form = t.as_text()
 
84
        self.log('testament text form:\n' + text_form)
 
85
        self.assertEqualDiff(text_form, self.expected('rev_1'))
 
86
        short_text_form = t.as_short_text()
 
87
        self.assertEqualDiff(short_text_form, self.expected('rev_1_short'))
 
88
 
 
89
    def test_testament_with_contents(self):
 
90
        """Testament containing a file and a directory."""
 
91
        t = self.from_revision(self.b.repository, 'test@user-2')
 
92
        text_form = t.as_text()
 
93
        self.log('testament text form:\n' + text_form)
 
94
        self.assertEqualDiff(text_form, self.expected('rev_2'))
 
95
        actual_short = t.as_short_text()
 
96
        self.assertEqualDiff(actual_short, self.expected('rev_2_short'))
 
97
 
 
98
    def test_testament_symlinks(self):
 
99
        """Testament containing symlink (where possible)"""
 
100
        if not has_symlinks():
 
101
            return
 
102
        os.symlink('wibble/linktarget', 'link')
 
103
        self.wt.add(['link'], ['link-id'])
 
104
        self.wt.commit(message='add symlink',
 
105
                 timestamp=1129025493,
 
106
                 timezone=36000,
 
107
                 rev_id='test@user-3',
 
108
                 committer='test@user')
 
109
        t = self.from_revision(self.b.repository, 'test@user-3')
 
110
        self.assertEqualDiff(t.as_text(), self.expected('rev_3'))
 
111
 
 
112
    def test_testament_revprops(self):
 
113
        """Testament to revision with extra properties"""
 
114
        props = dict(flavor='sour cherry\ncream cheese',
 
115
                     size='medium',
 
116
                     empty='',
 
117
                    )
 
118
        self.wt.commit(message='revision with properties',
 
119
                      timestamp=1129025493,
 
120
                      timezone=36000,
 
121
                      rev_id='test@user-3',
 
122
                      committer='test@user',
 
123
                      revprops=props)
 
124
        t = self.from_revision(self.b.repository, 'test@user-3')
 
125
        self.assertEqualDiff(t.as_text(), self.expected('rev_props'))
 
126
 
 
127
    def test_testament_unicode_commit_message(self):
 
128
        self.wt.commit(
 
129
            message=u'non-ascii commit \N{COPYRIGHT SIGN} me',
 
130
            timestamp=1129025493,
 
131
            timezone=36000,
 
132
            rev_id='test@user-3',
 
133
            committer='Erik B\xe5gfors <test@user>',
 
134
            revprops={'uni':u'\xb5'}
 
135
            )
 
136
        t = self.from_revision(self.b.repository, 'test@user-3')
 
137
        self.assertEqualDiff(
 
138
            self.expected('sample_unicode').encode('utf-8'), t.as_text())
 
139
 
 
140
    def test___init__(self):
 
141
        revision = self.b.repository.get_revision('test@user-2')
 
142
        inventory = self.b.repository.get_inventory('test@user-2')
 
143
        testament_1 = self.testament_class()(revision, inventory)
 
144
        text_1 = testament_1.as_short_text()
 
145
        text_2 = self.from_revision(self.b.repository, 
 
146
                                    'test@user-2').as_short_text()
 
147
        self.assertEqual(text_1, text_2)
 
148
                    
 
149
 
 
150
class TestamentTestsStrict(TestamentTests):
 
151
    
 
152
    def testament_class(self):
 
153
        return StrictTestament
 
154
 
 
155
 
 
156
class TestamentTestsStrict2(TestamentTests):
 
157
    
 
158
    def testament_class(self):
 
159
        return StrictTestament3
 
160
 
 
161
 
 
162
REV_1_TESTAMENT = """\
 
163
bazaar-ng testament version 1
 
164
revision-id: test@user-1
 
165
committer: test@user
 
166
timestamp: 1129025423
 
167
timezone: 0
 
168
parents:
 
169
message:
 
170
  initial null commit
 
171
inventory:
 
172
properties:
 
173
  branch-nick:
 
174
    test branch
 
175
"""
 
176
 
 
177
 
 
178
REV_1_STRICT_TESTAMENT = """\
 
179
bazaar-ng testament version 2.1
 
180
revision-id: test@user-1
 
181
committer: test@user
 
182
timestamp: 1129025423
 
183
timezone: 0
 
184
parents:
 
185
message:
 
186
  initial null commit
 
187
inventory:
 
188
properties:
 
189
  branch-nick:
 
190
    test branch
 
191
"""
 
192
 
 
193
 
 
194
REV_1_STRICT_TESTAMENT3 = """\
 
195
bazaar testament version 3 strict
 
196
revision-id: test@user-1
 
197
committer: test@user
 
198
timestamp: 1129025423
 
199
timezone: 0
 
200
parents:
 
201
message:
 
202
  initial null commit
 
203
inventory:
 
204
  directory . TREE_ROOT test@user-1 no
 
205
properties:
 
206
  branch-nick:
 
207
    test branch
 
208
"""
 
209
 
 
210
 
 
211
REV_1_SHORT = """\
 
212
bazaar-ng testament short form 1
 
213
revision-id: test@user-1
 
214
sha1: %s
 
215
""" % sha(REV_1_TESTAMENT).hexdigest()
 
216
 
 
217
 
 
218
REV_1_SHORT_STRICT = """\
 
219
bazaar-ng testament short form 2.1
 
220
revision-id: test@user-1
 
221
sha1: %s
 
222
""" % sha(REV_1_STRICT_TESTAMENT).hexdigest()
 
223
 
 
224
 
 
225
REV_1_SHORT_STRICT3 = """\
 
226
bazaar testament short form 3 strict
 
227
revision-id: test@user-1
 
228
sha1: %s
 
229
""" % sha(REV_1_STRICT_TESTAMENT3).hexdigest()
 
230
 
 
231
 
 
232
REV_2_TESTAMENT = """\
 
233
bazaar-ng testament version 1
 
234
revision-id: test@user-2
 
235
committer: test@user
 
236
timestamp: 1129025483
 
237
timezone: 36000
 
238
parents:
 
239
  test@user-1
 
240
message:
 
241
  add files and directories
 
242
inventory:
 
243
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73
 
244
  directory src src-id
 
245
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24
 
246
properties:
 
247
  branch-nick:
 
248
    test branch
 
249
"""
 
250
 
 
251
 
 
252
REV_2_STRICT_TESTAMENT = """\
 
253
bazaar-ng testament version 2.1
 
254
revision-id: test@user-2
 
255
committer: test@user
 
256
timestamp: 1129025483
 
257
timezone: 36000
 
258
parents:
 
259
  test@user-1
 
260
message:
 
261
  add files and directories
 
262
inventory:
 
263
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73 test@user-2 yes
 
264
  directory src src-id test@user-2 no
 
265
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24 test@user-2 no
 
266
properties:
 
267
  branch-nick:
 
268
    test branch
 
269
"""
 
270
 
 
271
 
 
272
REV_2_STRICT_TESTAMENT3 = """\
 
273
bazaar testament version 3 strict
 
274
revision-id: test@user-2
 
275
committer: test@user
 
276
timestamp: 1129025483
 
277
timezone: 36000
 
278
parents:
 
279
  test@user-1
 
280
message:
 
281
  add files and directories
 
282
inventory:
 
283
  directory . TREE_ROOT test@user-2 no
 
284
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73 test@user-2 yes
 
285
  directory src src-id test@user-2 no
 
286
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24 test@user-2 no
 
287
properties:
 
288
  branch-nick:
 
289
    test branch
 
290
"""
 
291
 
 
292
 
 
293
REV_2_SHORT = """\
 
294
bazaar-ng testament short form 1
 
295
revision-id: test@user-2
 
296
sha1: %s
 
297
""" % sha(REV_2_TESTAMENT).hexdigest()
 
298
 
 
299
 
 
300
REV_2_SHORT_STRICT = """\
 
301
bazaar-ng testament short form 2.1
 
302
revision-id: test@user-2
 
303
sha1: %s
 
304
""" % sha(REV_2_STRICT_TESTAMENT).hexdigest()
 
305
 
 
306
 
 
307
REV_2_SHORT_STRICT3 = """\
 
308
bazaar testament short form 3 strict
 
309
revision-id: test@user-2
 
310
sha1: %s
 
311
""" % sha(REV_2_STRICT_TESTAMENT3).hexdigest()
 
312
 
 
313
 
 
314
REV_PROPS_TESTAMENT = """\
 
315
bazaar-ng testament version 1
 
316
revision-id: test@user-3
 
317
committer: test@user
 
318
timestamp: 1129025493
 
319
timezone: 36000
 
320
parents:
 
321
  test@user-2
 
322
message:
 
323
  revision with properties
 
324
inventory:
 
325
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73
 
326
  directory src src-id
 
327
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24
 
328
properties:
 
329
  branch-nick:
 
330
    test branch
 
331
  empty:
 
332
  flavor:
 
333
    sour cherry
 
334
    cream cheese
 
335
  size:
 
336
    medium
 
337
"""
 
338
 
 
339
 
 
340
REV_PROPS_TESTAMENT_STRICT = """\
 
341
bazaar-ng testament version 2.1
 
342
revision-id: test@user-3
 
343
committer: test@user
 
344
timestamp: 1129025493
 
345
timezone: 36000
 
346
parents:
 
347
  test@user-2
 
348
message:
 
349
  revision with properties
 
350
inventory:
 
351
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73 test@user-2 yes
 
352
  directory src src-id test@user-2 no
 
353
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24 test@user-2 no
 
354
properties:
 
355
  branch-nick:
 
356
    test branch
 
357
  empty:
 
358
  flavor:
 
359
    sour cherry
 
360
    cream cheese
 
361
  size:
 
362
    medium
 
363
"""
 
364
 
 
365
 
 
366
REV_PROPS_TESTAMENT_STRICT3 = """\
 
367
bazaar testament version 3 strict
 
368
revision-id: test@user-3
 
369
committer: test@user
 
370
timestamp: 1129025493
 
371
timezone: 36000
 
372
parents:
 
373
  test@user-2
 
374
message:
 
375
  revision with properties
 
376
inventory:
 
377
  directory . TREE_ROOT test@user-3 no
 
378
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73 test@user-2 yes
 
379
  directory src src-id test@user-2 no
 
380
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24 test@user-2 no
 
381
properties:
 
382
  branch-nick:
 
383
    test branch
 
384
  empty:
 
385
  flavor:
 
386
    sour cherry
 
387
    cream cheese
 
388
  size:
 
389
    medium
 
390
"""
 
391
 
 
392
 
 
393
REV_3_TESTAMENT = """\
 
394
bazaar-ng testament version 1
 
395
revision-id: test@user-3
 
396
committer: test@user
 
397
timestamp: 1129025493
 
398
timezone: 36000
 
399
parents:
 
400
  test@user-2
 
401
message:
 
402
  add symlink
 
403
inventory:
 
404
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73
 
405
  symlink link link-id wibble/linktarget
 
406
  directory src src-id
 
407
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24
 
408
properties:
 
409
  branch-nick:
 
410
    test branch
 
411
"""
 
412
 
 
413
 
 
414
REV_3_TESTAMENT_STRICT = """\
 
415
bazaar-ng testament version 2.1
 
416
revision-id: test@user-3
 
417
committer: test@user
 
418
timestamp: 1129025493
 
419
timezone: 36000
 
420
parents:
 
421
  test@user-2
 
422
message:
 
423
  add symlink
 
424
inventory:
 
425
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73 test@user-2 yes
 
426
  symlink link link-id wibble/linktarget test@user-3 no
 
427
  directory src src-id test@user-2 no
 
428
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24 test@user-2 no
 
429
properties:
 
430
  branch-nick:
 
431
    test branch
 
432
"""
 
433
 
 
434
 
 
435
REV_3_TESTAMENT_STRICT3 = """\
 
436
bazaar testament version 3 strict
 
437
revision-id: test@user-3
 
438
committer: test@user
 
439
timestamp: 1129025493
 
440
timezone: 36000
 
441
parents:
 
442
  test@user-2
 
443
message:
 
444
  add symlink
 
445
inventory:
 
446
  directory . TREE_ROOT test@user-3 no
 
447
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73 test@user-2 yes
 
448
  symlink link link-id wibble/linktarget test@user-3 no
 
449
  directory src src-id test@user-2 no
 
450
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24 test@user-2 no
 
451
properties:
 
452
  branch-nick:
 
453
    test branch
 
454
"""
 
455
 
 
456
 
 
457
SAMPLE_UNICODE_TESTAMENT = u"""\
 
458
bazaar-ng testament version 1
 
459
revision-id: test@user-3
 
460
committer: Erik B\xe5gfors <test@user>
 
461
timestamp: 1129025493
 
462
timezone: 36000
 
463
parents:
 
464
  test@user-2
 
465
message:
 
466
  non-ascii commit \N{COPYRIGHT SIGN} me
 
467
inventory:
 
468
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73
 
469
  directory src src-id
 
470
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24
 
471
properties:
 
472
  branch-nick:
 
473
    test branch
 
474
  uni:
 
475
    \xb5
 
476
"""
 
477
 
 
478
 
 
479
SAMPLE_UNICODE_TESTAMENT_STRICT = u"""\
 
480
bazaar-ng testament version 2.1
 
481
revision-id: test@user-3
 
482
committer: Erik B\xe5gfors <test@user>
 
483
timestamp: 1129025493
 
484
timezone: 36000
 
485
parents:
 
486
  test@user-2
 
487
message:
 
488
  non-ascii commit \N{COPYRIGHT SIGN} me
 
489
inventory:
 
490
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73 test@user-2 yes
 
491
  directory src src-id test@user-2 no
 
492
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24 test@user-2 no
 
493
properties:
 
494
  branch-nick:
 
495
    test branch
 
496
  uni:
 
497
    \xb5
 
498
"""
 
499
 
 
500
 
 
501
SAMPLE_UNICODE_TESTAMENT_STRICT3 = u"""\
 
502
bazaar testament version 3 strict
 
503
revision-id: test@user-3
 
504
committer: Erik B\xe5gfors <test@user>
 
505
timestamp: 1129025493
 
506
timezone: 36000
 
507
parents:
 
508
  test@user-2
 
509
message:
 
510
  non-ascii commit \N{COPYRIGHT SIGN} me
 
511
inventory:
 
512
  directory . TREE_ROOT test@user-3 no
 
513
  file hello hello-id 34dd0ac19a24bf80c4d33b5c8960196e8d8d1f73 test@user-2 yes
 
514
  directory src src-id test@user-2 no
 
515
  file src/foo.c foo.c-id a2a049c20f908ae31b231d98779eb63c66448f24 test@user-2 no
 
516
properties:
 
517
  branch-nick:
 
518
    test branch
 
519
  uni:
 
520
    \xb5
 
521
"""
 
522
 
 
523
 
 
524
texts = {
 
525
    Testament: { 'rev_1': REV_1_TESTAMENT,
 
526
                 'rev_1_short': REV_1_SHORT,
 
527
                 'rev_2': REV_2_TESTAMENT,
 
528
                 'rev_2_short': REV_2_SHORT,
 
529
                 'rev_3': REV_3_TESTAMENT,
 
530
                 'rev_props': REV_PROPS_TESTAMENT,
 
531
                 'sample_unicode': SAMPLE_UNICODE_TESTAMENT,
 
532
    },
 
533
    StrictTestament: {'rev_1': REV_1_STRICT_TESTAMENT,
 
534
                      'rev_1_short': REV_1_SHORT_STRICT,
 
535
                      'rev_2': REV_2_STRICT_TESTAMENT,
 
536
                      'rev_2_short': REV_2_SHORT_STRICT,
 
537
                      'rev_3': REV_3_TESTAMENT_STRICT,
 
538
                      'rev_props': REV_PROPS_TESTAMENT_STRICT,
 
539
                      'sample_unicode': SAMPLE_UNICODE_TESTAMENT_STRICT,
 
540
    },
 
541
    StrictTestament3: {'rev_1': REV_1_STRICT_TESTAMENT3,
 
542
                      'rev_1_short': REV_1_SHORT_STRICT3,
 
543
                      'rev_2': REV_2_STRICT_TESTAMENT3,
 
544
                      'rev_2_short': REV_2_SHORT_STRICT3,
 
545
                      'rev_3': REV_3_TESTAMENT_STRICT3,
 
546
                      'rev_props': REV_PROPS_TESTAMENT_STRICT3,
 
547
                      'sample_unicode': SAMPLE_UNICODE_TESTAMENT_STRICT3,
 
548
    },
 
549
}