bamf: port tests to python3 lxml
This commit is contained in:
parent
3e7fcc4d18
commit
b0012a9736
@ -1,6 +1,6 @@
|
||||
{ stdenv, autoconf, automake, libtool, gnome3, which, fetchgit, libgtop, libwnck3, glib, vala, pkgconfig
|
||||
{ stdenv, fetchpatch, autoconf, automake, libtool, gnome3, which, fetchgit, libgtop, libwnck3, glib, vala, pkgconfig
|
||||
, libstartup_notification, gobject-introspection, gtk-doc, docbook_xsl
|
||||
, xorgserver, dbus, python2, wrapGAppsHook }:
|
||||
, xorgserver, dbus, python3, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bamf";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchgit {
|
||||
url = https://git.launchpad.net/~unity-team/bamf;
|
||||
url = "https://git.launchpad.net/~unity-team/bamf";
|
||||
rev = version;
|
||||
sha256 = "1klvij1wyhdj5d8sr3b16pfixc1yk8ihglpjykg7zrr1f50jfgsz";
|
||||
};
|
||||
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
vala
|
||||
which
|
||||
# Tests
|
||||
(python2.withPackages(ps: with ps; [ libxslt libxml2 ]))
|
||||
(python3.withPackages(ps: with ps; [ lxml ]))
|
||||
dbus
|
||||
xorgserver
|
||||
wrapGAppsHook
|
||||
@ -39,6 +39,11 @@ stdenv.mkDerivation rec {
|
||||
libwnck3
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Port tests and checks to python3 lxml.
|
||||
./gtester2xunit-python3.patch
|
||||
];
|
||||
|
||||
# Fix hard-coded path
|
||||
# https://bugs.launchpad.net/bamf/+bug/1780557
|
||||
postPatch = ''
|
||||
|
53
pkgs/development/libraries/bamf/gtester2xunit-python3.patch
Normal file
53
pkgs/development/libraries/bamf/gtester2xunit-python3.patch
Normal file
@ -0,0 +1,53 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 41cb7db..93ef0ec 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -115,9 +115,9 @@ GTK_DOC_CHECK(1.0)
|
||||
|
||||
AC_PATH_PROG([PYTHON],[python])
|
||||
AC_MSG_CHECKING(for gtester2xunit dependencies)
|
||||
-if !($PYTHON -c "import libxslt, libxml2" 2> /dev/null); then
|
||||
+if !($PYTHON -c "import lxml" 2> /dev/null); then
|
||||
AC_MSG_RESULT([no])
|
||||
- AC_MSG_ERROR([You need to install python-libxslt1 and python-libxml2]);
|
||||
+ AC_MSG_ERROR([You need to install python-lxml]);
|
||||
fi
|
||||
AC_MSG_RESULT([yes])
|
||||
|
||||
@@ -189,6 +189,6 @@ ${PACKAGE}-${VERSION}
|
||||
Introspection: ${enable_introspection}
|
||||
Headless tests: ${enable_headless_tests}
|
||||
Coverage Reporting: ${use_gcov}
|
||||
- Export actions menus: ${enable_export_actions_menu}
|
||||
+ Export actions menus: ${enable_export_actions_menu}
|
||||
|
||||
EOF
|
||||
diff --git a/tests/gtester2xunit.py b/tests/gtester2xunit.py
|
||||
index fbe3c66..861d541 100755
|
||||
--- a/tests/gtester2xunit.py
|
||||
+++ b/tests/gtester2xunit.py
|
||||
@@ -1,18 +1,17 @@
|
||||
#! /usr/bin/python
|
||||
from argparse import ArgumentParser
|
||||
-import libxslt
|
||||
-import libxml2
|
||||
import sys
|
||||
import os
|
||||
+from lxml import etree
|
||||
|
||||
XSL_TRANSFORM='/usr/share/gtester2xunit/gtester.xsl'
|
||||
|
||||
def transform_file(input_filename, output_filename, xsl_file):
|
||||
- gtester = libxml2.parseFile(xsl_file)
|
||||
- style = libxslt.parseStylesheetDoc(gtester)
|
||||
- doc = libxml2.parseFile(input_filename)
|
||||
- result = style.applyStylesheet(doc, None)
|
||||
- result.saveFormatFile(filename=output_filename, format=True)
|
||||
+ gtester = etree.parse(xsl_file)
|
||||
+ style = etree.XSLT(gtester)
|
||||
+ doc = etree.parse(input_filename)
|
||||
+ result = style(doc)
|
||||
+ result.write(filename=output_filename, format=True)
|
||||
|
||||
|
||||
def get_output_filename(input_filename):
|
Loading…
Reference in New Issue
Block a user