xref: /aosp_15_r20/external/libxml2/python/tests/regexp.py (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker#!/usr/bin/env python3
2*7c568831SAndroid Build Coastguard Workerimport setup_test
3*7c568831SAndroid Build Coastguard Workerimport libxml2
4*7c568831SAndroid Build Coastguard Worker
5*7c568831SAndroid Build Coastguard Worker# Memory debug specific
6*7c568831SAndroid Build Coastguard Workerlibxml2.debugMemory(1)
7*7c568831SAndroid Build Coastguard Worker
8*7c568831SAndroid Build Coastguard Workerre = libxml2.regexpCompile("a|b")
9*7c568831SAndroid Build Coastguard Workerif re.regexpExec("a") != 1:
10*7c568831SAndroid Build Coastguard Worker    print("error checking 'a'")
11*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
12*7c568831SAndroid Build Coastguard Workerif re.regexpExec("b") != 1:
13*7c568831SAndroid Build Coastguard Worker    print("error checking 'b'")
14*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
15*7c568831SAndroid Build Coastguard Workerif re.regexpExec("ab") != 0:
16*7c568831SAndroid Build Coastguard Worker    print("error checking 'ab'")
17*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
18*7c568831SAndroid Build Coastguard Workerif re.regexpExec("") != 0:
19*7c568831SAndroid Build Coastguard Worker    print("error checking 'ab'")
20*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
21*7c568831SAndroid Build Coastguard Workerif re.regexpIsDeterminist() != 1:
22*7c568831SAndroid Build Coastguard Worker    print("error checking determinism")
23*7c568831SAndroid Build Coastguard Worker    sys.exit(1)
24*7c568831SAndroid Build Coastguard Workerdel re
25*7c568831SAndroid Build Coastguard Worker
26*7c568831SAndroid Build Coastguard Worker
27*7c568831SAndroid Build Coastguard Worker# Memory debug specific
28*7c568831SAndroid Build Coastguard Workerlibxml2.cleanupParser()
29*7c568831SAndroid Build Coastguard Workerif libxml2.debugMemory(1) == 0:
30*7c568831SAndroid Build Coastguard Worker    print("OK")
31*7c568831SAndroid Build Coastguard Workerelse:
32*7c568831SAndroid Build Coastguard Worker    print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
33