Aus Mageia wiki
(Weitergeleitet von Testprozedur:libxml2)
Wechseln zu: Navigation, Suche
Warnung.png
Warnung!

Das Wiki ist umgezogen und befindet sich nun unter https://wiki.mageia.org/en/Hauptseite-de . Bitte nutzen Sie das neue Wiki.

Die hier enthaltenen Informationen werden nicht aktualisiert und sind deshalb veraltet oder sogar falsch!


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