debian: Fix python test script for bash.
[hivex.git] / python / t / 210-setvalue.py
1 # hivex Python bindings
2 # Copyright (C) 2010 Red Hat Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 import os
19 import hivex
20
21 srcdir = os.environ["srcdir"]
22 if not srcdir:
23     srcdir = "."
24
25 h = hivex.Hivex ("%s/../images/minimal" % srcdir,
26                  write = True)
27 assert h
28
29 root = h.root ()
30 assert root
31
32 h.node_add_child (root, "B")
33
34 b = h.node_get_child (root, "B")
35 assert b
36
37 values = [
38     { "key": "Key1", "t": 3, "value": "ABC" },
39     { "key": "Key2", "t": 3, "value": "DEF" }
40 ]
41 h.node_set_values (b, values)
42
43 value1 = { "key": "Key3", "t": 3, "value": "GHI" }
44 h.node_set_value (b, value1)
45
46 value1 = { "key": "Key1", "t": 3, "value": "JKL" }
47 h.node_set_value (b, value1)
48
49 val = h.node_get_value (b, "Key1")
50 t_data = h.value_value (val)
51 assert t_data[0] == 3
52 assert t_data[1] == "JKL"
53
54 val = h.node_get_value (b, "Key3")
55 t_data = h.value_value (val)
56 assert t_data[0] == 3
57 assert t_data[1] == "GHI"