[jhbuild/desktop-testing: 2/6] [ldtp] Teach modtypes about the <ldtp> node
- From: John Carr <johncarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [jhbuild/desktop-testing: 2/6] [ldtp] Teach modtypes about the <ldtp> node
- Date: Tue, 19 May 2009 07:33:27 -0400 (EDT)
commit cc7ed7d27cd128af09a60fbb6073d6848b5eabb0
Author: John Carr <john carr unrouted co uk>
Date: Tue May 19 10:43:21 2009 +0100
[ldtp] Teach modtypes about the <ldtp> node
---
jhbuild/modtypes/__init__.py | 24 ++++++++++++++++++++++--
jhbuild/modtypes/ant.py | 10 ++++++----
jhbuild/modtypes/autotools.py | 9 +++++----
jhbuild/modtypes/cmake.py | 9 +++++----
jhbuild/modtypes/distutils.py | 9 +++++----
jhbuild/modtypes/tarball.py | 5 +++--
jhbuild/modtypes/waf.py | 10 ++++++----
jhbuild/utils/ldtp.py | 13 -------------
8 files changed, 52 insertions(+), 37 deletions(-)
diff --git a/jhbuild/modtypes/__init__.py b/jhbuild/modtypes/__init__.py
index 5af1374..4893710 100644
--- a/jhbuild/modtypes/__init__.py
+++ b/jhbuild/modtypes/__init__.py
@@ -116,16 +116,31 @@ def get_branch(node, repositories, default_repo, config):
return repo.branch_from_xml(name, childnode, repositories, default_repo)
+def get_ldtp_helper(node):
+ app = node.getAttribute("id")
+
+ for child in node.childNodes:
+ if child.nodeType == child.ELEMENT_NODE and child.nodeName == 'ldtp':
+ break
+ else:
+ return None
+
+ if child.hasAttribute("application"):
+ app = ldtpnode.getAttribute("application")
+
+ return LDTPHelper(app)
+
class Package:
type = 'base'
PHASE_START = 'start'
PHASE_DONE = 'done'
- def __init__(self, name, dependencies = [], after = [], suggests = []):
+ def __init__(self, name, dependencies = [], after = [], suggests = [], ldtp=None):
self.name = name
self.dependencies = dependencies
self.after = after
self.suggests = suggests
+ self.ldtp = ldtp
self.tags = []
self.moduleset_name = None
@@ -211,6 +226,10 @@ class Package:
return True
return False
+ def do_ldtp_test(self, buildscript):
+ buildscript.set_action(_('Running %s UI tests') % self.name)
+ self.ldtp.execute(buildscript)
+
def xml_tag_and_attrs(self):
"""Return a (tag, attrs) pair, describing how to serialize this
module.
@@ -268,7 +287,8 @@ class MetaModule(Package):
def parse_metamodule(node, config, url, repos, default_repo):
id = node.getAttribute('id')
dependencies, after, suggests = get_dependencies(node)
- return MetaModule(id, dependencies=dependencies, after=after, suggests=suggests)
+ ldtp = get_ltp_helper(node)
+ return MetaModule(id, dependencies=dependencies, after=after, suggests=suggests, ldtp=ldtp)
register_module_type('metamodule', parse_metamodule)
diff --git a/jhbuild/modtypes/ant.py b/jhbuild/modtypes/ant.py
index b662711..0fdcb62 100644
--- a/jhbuild/modtypes/ant.py
+++ b/jhbuild/modtypes/ant.py
@@ -24,7 +24,7 @@ import os
from jhbuild.errors import BuildStateError, CommandError
from jhbuild.modtypes import \
- Package, get_dependencies, get_branch, register_module_type
+ Package, get_dependencies, get_branch, get_ldtp_helper, register_module_type
from jhbuild.commands.sanitycheck import inpath
__all__ = [ 'AntModule' ]
@@ -40,8 +40,8 @@ class AntModule(Package):
def __init__(self, name, branch,
dependencies=[], after=[],
- supports_non_srcdir_builds=False):
- Package.__init__(self, name, dependencies, after)
+ supports_non_srcdir_builds=False, ldtp=None):
+ Package.__init__(self, name, dependencies, after, ldtp)
self.branch = branch
self.supports_non_srcdir_builds = supports_non_srcdir_builds
@@ -109,9 +109,11 @@ def parse_ant(node, config, uri, repositories, default_repo):
(node.getAttribute('supports-non-srcdir-builds') != 'no')
dependencies, after, suggests = get_dependencies(node)
branch = get_branch(node, repositories, default_repo)
+ ldtp = get_ldtp_helper(node)
return AntModule(id, branch,
dependencies=dependencies, after=after,
- supports_non_srcdir_builds=supports_non_srcdir_builds)
+ supports_non_srcdir_builds=supports_non_srcdir_builds,
+ ldtp=ldtp)
register_module_type('ant', parse_ant)
diff --git a/jhbuild/modtypes/autotools.py b/jhbuild/modtypes/autotools.py
index 4be49a3..d9a6c1c 100644
--- a/jhbuild/modtypes/autotools.py
+++ b/jhbuild/modtypes/autotools.py
@@ -26,7 +26,7 @@ import stat
from jhbuild.errors import FatalError, BuildStateError, CommandError
from jhbuild.modtypes import \
- Package, get_dependencies, get_branch, register_module_type
+ Package, get_dependencies, get_branch, get_ldtp_helper, register_module_type
__all__ = [ 'AutogenModule' ]
@@ -54,8 +54,8 @@ class AutogenModule(Package):
autogen_sh='autogen.sh',
makefile='Makefile',
autogen_template=None,
- check_target=True):
- Package.__init__(self, name, dependencies, after, suggests)
+ check_target=True, ldtp=None):
+ Package.__init__(self, name, dependencies, after, suggests, ldtp)
self.branch = branch
self.autogenargs = autogenargs
self.makeargs = makeargs
@@ -367,6 +367,7 @@ def parse_autotools(node, config, uri, repositories, default_repo):
dependencies, after, suggests = get_dependencies(node)
branch = get_branch(node, repositories, default_repo, config)
+ ldtp = get_ldtp_helper(node)
return AutogenModule(id, branch, autogenargs, makeargs,
makeinstallargs=makeinstallargs,
@@ -378,6 +379,6 @@ def parse_autotools(node, config, uri, repositories, default_repo):
autogen_sh=autogen_sh,
makefile=makefile,
autogen_template=autogen_template,
- check_target=check_target)
+ check_target=check_target, ldtp=ldtp)
register_module_type('autotools', parse_autotools)
diff --git a/jhbuild/modtypes/cmake.py b/jhbuild/modtypes/cmake.py
index 421be2d..21219b2 100644
--- a/jhbuild/modtypes/cmake.py
+++ b/jhbuild/modtypes/cmake.py
@@ -23,7 +23,7 @@ import os
from jhbuild.errors import BuildStateError
from jhbuild.modtypes import \
- Package, get_dependencies, get_branch, register_module_type
+ Package, get_dependencies, get_branch, get_ldtp_helper, register_module_type
__all__ = [ 'CMakeModule' ]
@@ -38,8 +38,8 @@ class CMakeModule(Package):
PHASE_DIST = 'dist'
PHASE_INSTALL = 'install'
- def __init__(self, name, branch, dependencies=[], after=[], suggests=[]):
- Package.__init__(self, name, dependencies, after, suggests)
+ def __init__(self, name, branch, dependencies=[], after=[], suggests=[], ldtp=None):
+ Package.__init__(self, name, dependencies, after, suggests, ldtp)
self.branch = branch
def get_srcdir(self, buildscript):
@@ -113,9 +113,10 @@ def parse_cmake(node, config, uri, repositories, default_repo):
id = node.getAttribute('id')
dependencies, after, suggests = get_dependencies(node)
branch = get_branch(node, repositories, default_repo, config)
+ ldtp = get_ldtp_helper(node)
return CMakeModule(id, branch, dependencies = dependencies, after = after,
- suggests = suggests)
+ suggests = suggests, ldtp = ldtp)
register_module_type('cmake', parse_cmake)
diff --git a/jhbuild/modtypes/distutils.py b/jhbuild/modtypes/distutils.py
index b39f151..3fb13d3 100644
--- a/jhbuild/modtypes/distutils.py
+++ b/jhbuild/modtypes/distutils.py
@@ -23,7 +23,7 @@ import os
from jhbuild.errors import BuildStateError
from jhbuild.modtypes import \
- Package, get_dependencies, get_branch, register_module_type
+ Package, get_dependencies, get_branch, get_ldtp_helper, register_module_type
__all__ = [ 'DistutilsModule' ]
@@ -39,8 +39,8 @@ class DistutilsModule(Package):
def __init__(self, name, branch,
dependencies = [], after = [], suggests = [],
- supports_non_srcdir_builds = True):
- Package.__init__(self, name, dependencies, after, suggests)
+ supports_non_srcdir_builds = True, ldtp=None):
+ Package.__init__(self, name, dependencies, after, suggests, ldtp)
self.branch = branch
self.supports_non_srcdir_builds = supports_non_srcdir_builds
@@ -107,10 +107,11 @@ def parse_distutils(node, config, uri, repositories, default_repo):
(node.getAttribute('supports-non-srcdir-builds') != 'no')
dependencies, after, suggests = get_dependencies(node)
branch = get_branch(node, repositories, default_repo, config)
+ ldtp = get_ldtp_helper(node)
return DistutilsModule(id, branch,
dependencies = dependencies, after = after,
suggests = suggests,
- supports_non_srcdir_builds = supports_non_srcdir_builds)
+ supports_non_srcdir_builds = supports_non_srcdir_builds, ldtp=ldtp)
register_module_type('distutils', parse_distutils)
diff --git a/jhbuild/modtypes/tarball.py b/jhbuild/modtypes/tarball.py
index ca97b07..2deac0d 100644
--- a/jhbuild/modtypes/tarball.py
+++ b/jhbuild/modtypes/tarball.py
@@ -22,7 +22,7 @@ __metaclass__ = type
import sys
import logging
-from jhbuild.modtypes import register_module_type, get_dependencies
+from jhbuild.modtypes import register_module_type, get_dependencies, get_ldtp_helper
def parse_tarball(node, config, uri, repositories, default_repo):
name = node.getAttribute('id')
@@ -79,6 +79,7 @@ def parse_tarball(node, config, uri, repositories, default_repo):
autogenargs = autogenargs.replace('--enable-maintainer-mode', '')
dependencies, after, suggests = get_dependencies(node)
+ ldtp = get_ldtp_helper(node)
from autotools import AutogenModule
from jhbuild.versioncontrol.tarball import TarballBranch, TarballRepository
@@ -96,6 +97,6 @@ def parse_tarball(node, config, uri, repositories, default_repo):
dependencies, after, suggests,
supports_non_srcdir_builds = supports_non_srcdir_builds,
skip_autogen = False, autogen_sh = 'configure',
- makefile = makefile)
+ makefile = makefile, ldtp=ldtp)
register_module_type('tarball', parse_tarball)
diff --git a/jhbuild/modtypes/waf.py b/jhbuild/modtypes/waf.py
index e01dc52..6319148 100644
--- a/jhbuild/modtypes/waf.py
+++ b/jhbuild/modtypes/waf.py
@@ -26,7 +26,8 @@ import re
from jhbuild.errors import FatalError, BuildStateError, CommandError
from jhbuild.modtypes import \
- Package, get_dependencies, get_branch, register_module_type
+ Package, get_dependencies, get_branch, register_module_type, \
+ get_ldtp_helper
from jhbuild.commands.sanitycheck import inpath
__all__ = [ 'WafModule' ]
@@ -45,8 +46,8 @@ class WafModule(Package):
PHASE_INSTALL = 'install'
def __init__(self, name, branch, dependencies=[], after=[], suggests=[],
- waf_cmd='waf'):
- Package.__init__(self, name, dependencies, after, suggests)
+ waf_cmd='waf', ldtp=None):
+ Package.__init__(self, name, dependencies, after, suggests, ldtp)
self.branch = branch
self.waf_cmd = waf_cmd
@@ -165,8 +166,9 @@ def parse_waf(node, config, uri, repositories, default_repo):
# override revision tag if requested.
dependencies, after, suggests = get_dependencies(node)
branch = get_branch(node, repositories, default_repo, config)
+ ldtp = get_ldtp_helper(node)
return WafModule(module_id, branch, dependencies=dependencies, after=after,
- suggests=suggests, waf_cmd=waf_cmd)
+ suggests=suggests, waf_cmd=waf_cmd, ldtp=ldtp)
register_module_type('waf', parse_waf)
diff --git a/jhbuild/utils/ldtp.py b/jhbuild/utils/ldtp.py
index 9ee93d1..0294445 100644
--- a/jhbuild/utils/ldtp.py
+++ b/jhbuild/utils/ldtp.py
@@ -42,17 +42,4 @@ class LDTPHelper(object):
buildscript.execute(testargs)
-def get_ldtp_helper(node):
- app = node.getAttribute("id")
-
- for child in node.childNodes:
- if child.nodeType == child.ELEMENT_NODE and child.nodeName == 'ldtp':
- break
- else:
- return None
-
- if child.hasAttribute("application"):
- app = ldtpnode.getAttribute("application")
-
- return LDTPHelper(app)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]