Aus Mageia wiki
(Weitergeleitet von Testprozedur:libxml2)
Warnung!
Das Wiki ist umgezogen und befindet sich nun unter https://wiki.mageia.org/en/Hauptseite-de . Bitte nutzen Sie das neue Wiki.
Packete die zu testen sind
- libxml2-utils-2.7.8-9.3.mga1
- lib(64)xml2_2-2.7.8-9.3.mga1
- libxml2-python-2.7.8-9.3.mga1
- lib(64)xml2-devel-2.7.8-9.3.mga1
SRPM: libxml2-2.7.8-9.3.mga1.src.rpm
Um libxml2-python testen zu können, benötigst du einige Date und etwas Python.
Speichere folgende xml-Daten mit dem Namen testdata.xml
<?xml version="1.0" encoding="UTF-8"?> <testsuites tests="10" failures="0" disabled="0" errors="0" time="0.001" name="AllTests"> <testsuite name="TestOne" tests="5" failures="0" disabled="0" errors="0" time="0.001"> <testcase name="DefaultConstructor" status="run" time="0" classname="TestOne" /> <testcase name="DefaultDestructor" status="run" time="0" classname="TestOne" /> <testcase name="VHDL_EMIT_Passthrough" status="run" time="0" classname="TestOne" /> <testcase name="VHDL_BUILD_Passthrough" status="Tested OK" time="0" classname="TestOne" /> <testcase name="VHDL_SIMULATE_Passthrough" status="run" time="0.001" classname="TestOne" /> </testsuite> </testsuites>
Nun speichere folgende Python-Datei unter dem Namen testxml.py
import xml.etree.ElementTree x = xml.etree.ElementTree.ElementTree(file='testdata.xml') allcases = x.findall(".//testcase") cases = [c for c in allcases if c.get('classname') == 'TestOne' and c.get('name') == 'VHDL_BUILD_Passthrough'] print cases[0].attrib['status']
Erwartete Ausgabe...
$ python testxml.py Tested OK
Zum Testen der libxml2-utils...
$ xmllint --auto <?xml version="1.0"?> <info>abc</info> $ xmlcatalog --create <?xml version="1.0"?> <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/>
Chromium-Browser der libxml2 und unter Streß ausgeführt wird zeigt, ob die Bibliothek geladen ist. Betrachten einiger xml Dateien die du online findest sollten genügen um zu zeigen ob dies funktioniert.
$ strace -o strace.out chromium-browser $ grep xml strace.out open("/usr/lib64/libxml2.so.2", O_RDONLY) = 3 $ rpm -qif /usr/lib64/libxml2.so.2 Name : lib64xml2_2 Relocations: (not relocatable) Version : 2.7.8 Vendor: Mageia.Org Release : 9.3.mga1 Build Date: Thu 15 Dec 2011 20:20:12 GMT Install Date: Mon 09 Jan 2012 12:09:39 GMT Build Host: jonund Group : System/Libraries Source RPM: libxml2-2.7.8-9.3.mga1.src.rpm