Add test hive and generator script
[hivex.git] / images / mkrlenvalue_test_hive.py
1 #!/usr/bin/env python
2 import os
3 import hivex
4
5 srcdir = os.environ.get("srcdir")
6 if not srcdir:
7     srcdir = "."
8
9 h = hivex.Hivex ("%s/../images/minimal" % srcdir,
10                  write = True)
11 assert h
12
13 root = h.root ()
14 assert root
15
16 h.node_add_child (root, "ModerateValueParent")
17
18 mvp = h.node_get_child (root, "ModerateValueParent")
19 assert mvp
20
21 moderate_value = "0123456789ABCDEF"
22
23 values = [
24     { "key": "3Bytes", "t": 3, "value": moderate_value[:3] },
25     { "key": "16Bytes", "t": 3, "value": moderate_value },
26     { "key": "30Bytes", "t": 3, "value": (moderate_value*2)[:30] },
27     { "key": "31Bytes", "t": 3, "value": (moderate_value*2)[:31] },
28     { "key": "32Bytes", "t": 3, "value": moderate_value*2 },
29     { "key": "33Bytes", "t": 3, "value": (moderate_value*3)[:33] },
30 ]
31 h.node_set_values (mvp, values)
32
33 new_moderate_value = h.node_get_value (mvp, "16Bytes")
34
35 assert h.value_value (new_moderate_value)[1] == moderate_value
36
37 h.commit ("%s/../images/rlenvalue_test_hive" % srcdir)