1*7c568831SAndroid Build Coastguard Worker#!/usr/bin/env python3 2*7c568831SAndroid Build Coastguard Workerimport sys 3*7c568831SAndroid Build Coastguard Workerimport setup_test 4*7c568831SAndroid Build Coastguard Workerimport libxml2 5*7c568831SAndroid Build Coastguard Worker 6*7c568831SAndroid Build Coastguard Worker# Memory debug specific 7*7c568831SAndroid Build Coastguard Workerlibxml2.debugMemory(1) 8*7c568831SAndroid Build Coastguard Worker 9*7c568831SAndroid Build Coastguard Workeruri = libxml2.parseURI("http://example.org:8088/foo/bar?query=simple#fragid") 10*7c568831SAndroid Build Coastguard Workerif uri.scheme() != 'http': 11*7c568831SAndroid Build Coastguard Worker print("Error parsing URI: wrong scheme") 12*7c568831SAndroid Build Coastguard Worker sys.exit(1) 13*7c568831SAndroid Build Coastguard Workerif uri.server() != 'example.org': 14*7c568831SAndroid Build Coastguard Worker print("Error parsing URI: wrong server") 15*7c568831SAndroid Build Coastguard Worker sys.exit(1) 16*7c568831SAndroid Build Coastguard Workerif uri.port() != 8088: 17*7c568831SAndroid Build Coastguard Worker print("Error parsing URI: wrong port") 18*7c568831SAndroid Build Coastguard Worker sys.exit(1) 19*7c568831SAndroid Build Coastguard Workerif uri.path() != '/foo/bar': 20*7c568831SAndroid Build Coastguard Worker print("Error parsing URI: wrong path") 21*7c568831SAndroid Build Coastguard Worker sys.exit(1) 22*7c568831SAndroid Build Coastguard Workerif uri.query() != 'query=simple': 23*7c568831SAndroid Build Coastguard Worker print("Error parsing URI: wrong query") 24*7c568831SAndroid Build Coastguard Worker sys.exit(1) 25*7c568831SAndroid Build Coastguard Workerif uri.fragment() != 'fragid': 26*7c568831SAndroid Build Coastguard Worker print("Error parsing URI: wrong query") 27*7c568831SAndroid Build Coastguard Worker sys.exit(1) 28*7c568831SAndroid Build Coastguard Workeruri.setScheme("https") 29*7c568831SAndroid Build Coastguard Workeruri.setPort(223) 30*7c568831SAndroid Build Coastguard Workeruri.setFragment(None) 31*7c568831SAndroid Build Coastguard Workerresult=uri.saveUri() 32*7c568831SAndroid Build Coastguard Workerif result != "https://example.org:223/foo/bar?query=simple": 33*7c568831SAndroid Build Coastguard Worker print("Error modifying or saving the URI") 34*7c568831SAndroid Build Coastguard Workeruri = None 35*7c568831SAndroid Build Coastguard Worker 36*7c568831SAndroid Build Coastguard Worker# Memory debug specific 37*7c568831SAndroid Build Coastguard Workerlibxml2.cleanupParser() 38*7c568831SAndroid Build Coastguard Workerif libxml2.debugMemory(1) == 0: 39*7c568831SAndroid Build Coastguard Worker print("OK") 40*7c568831SAndroid Build Coastguard Workerelse: 41*7c568831SAndroid Build Coastguard Worker print("Memory leak %d bytes" % (libxml2.debugMemory(1))) 42