summaryrefslogtreecommitdiff
path: root/Examples/test-suite/python/char_binary_runme.py
blob: 0425fe1c9b0810bb0c43ce76cf20ce57f5737847 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from char_binary import *

t = Test()
if t.strlen("hile") != 4:
    print t.strlen("hile")
    raise RuntimeError, "bad multi-arg typemap"
if t.ustrlen("hile") != 4:
    print t.ustrlen("hile")
    raise RuntimeError, "bad multi-arg typemap"

if t.strlen("hil\0") != 4:
    raise RuntimeError, "bad multi-arg typemap"
if t.ustrlen("hil\0") != 4:
    raise RuntimeError, "bad multi-arg typemap"

#
# creating a raw char*
#
pc = new_pchar(5)
pchar_setitem(pc, 0, "h")
pchar_setitem(pc, 1, "o")
pchar_setitem(pc, 2, "l")
pchar_setitem(pc, 3, "a")
pchar_setitem(pc, 4, 0)


if t.strlen(pc) != 4:
    raise RuntimeError, "bad multi-arg typemap"
if t.ustrlen(pc) != 4:
    raise RuntimeError, "bad multi-arg typemap"

cvar.var_pchar = pc
if cvar.var_pchar != "hola":
    print cvar.var_pchar
    raise RuntimeError, "bad pointer case"

cvar.var_namet = pc
# if cvar.var_namet != "hola\0":
if cvar.var_namet != "hola":
    raise RuntimeError, "bad pointer case"

delete_pchar(pc)