From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QXa2Z-0002up-OG for garchives@archives.gentoo.org; Fri, 17 Jun 2011 14:28:56 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 749C91C012; Fri, 17 Jun 2011 14:28:38 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 34A611C012 for ; Fri, 17 Jun 2011 14:28:38 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 8A4CF1BC013 for ; Fri, 17 Jun 2011 14:28:37 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 95A458003C for ; Fri, 17 Jun 2011 14:28:36 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: Subject: [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/, PMSTestSuite/library/standard/basic/ X-VCS-Repository: proj/pms-test-suite X-VCS-Files: PMSTestSuite/library/standard/basic/depend.py PMSTestSuite/library/standard/dbus_case.py X-VCS-Directories: PMSTestSuite/library/standard/ PMSTestSuite/library/standard/basic/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: e9d3a675ab2e8aa3438e6918ffda30f18fed1992 Date: Fri, 17 Jun 2011 14:28:36 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: fbdc2efcb646c3c601fd2dec8cfb3e5c commit: e9d3a675ab2e8aa3438e6918ffda30f18fed1992 Author: Micha=C5=82 G=C3=B3rny gentoo org> AuthorDate: Fri Jun 17 13:50:41 2011 +0000 Commit: Micha=C5=82 G=C3=B3rny gentoo org> CommitDate: Fri Jun 17 13:50:41 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/pms-test-suit= e.git;a=3Dcommit;h=3De9d3a675 Add a D-Bus variant of dependency test case. --- PMSTestSuite/library/standard/basic/depend.py | 11 ++++---- PMSTestSuite/library/standard/dbus_case.py | 33 +++++++++++++++++++= ++++++ 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/PMSTestSuite/library/standard/basic/depend.py b/PMSTestSuite= /library/standard/basic/depend.py index ef832a0..c91a107 100644 --- a/PMSTestSuite/library/standard/basic/depend.py +++ b/PMSTestSuite/library/standard/basic/depend.py @@ -2,8 +2,7 @@ # (c) 2011 Micha=C5=82 G=C3=B3rny # Released under the terms of the 2-clause BSD license. =20 -from PMSTestSuite.library.standard.dbus_case import DBusEbuildTestCase -from PMSTestSuite.library.depend_case import EbuildDependencyTestCase +from PMSTestSuite.library.standard.dbus_case import DBusEbuildTestCase, = DBusEbuildDependencyTestCase =20 class EbuildToucher(DBusEbuildTestCase): """ Touched file installer (for dependency tests). """ @@ -24,26 +23,26 @@ _EOF_''' 'newbin mytrue.sh pms-test-suite-%s || die' % self.pv ) =20 -class DependTest(EbuildDependencyTestCase): +class DependTest(DBusEbuildDependencyTestCase): """ DEPEND fulfilling test. """ =20 relevant_eapis =3D (0,) depend_classes =3D [EbuildToucher] =20 def __init__(self, *args, **kwargs): - EbuildDependencyTestCase.__init__(self, *args, **kwargs) + DBusEbuildDependencyTestCase.__init__(self, *args, **kwargs) self.phase_funcs['src_compile'].append( 'pms-test-suite-%s || die' % self.depend_objs[0].pv ) =09 -class RDependTest(EbuildDependencyTestCase): +class RDependTest(DBusEbuildDependencyTestCase): """ RDEPEND fulfilling test. """ =20 relevant_eapis =3D (0,) rdepend_classes =3D [EbuildToucher] =20 def __init__(self, *args, **kwargs): - EbuildDependencyTestCase.__init__(self, *args, **kwargs) + DBusEbuildDependencyTestCase.__init__(self, *args, **kwargs) self.phase_funcs['pkg_postinst'].append( 'pms-test-suite-%s || die' % self.rdepend_objs[0].pv ) diff --git a/PMSTestSuite/library/standard/dbus_case.py b/PMSTestSuite/li= brary/standard/dbus_case.py index 970c897..d67c11b 100644 --- a/PMSTestSuite/library/standard/dbus_case.py +++ b/PMSTestSuite/library/standard/dbus_case.py @@ -5,6 +5,8 @@ import dbus.service =20 from PMSTestSuite.library.case import EbuildTestCase +from PMSTestSuite.library.depend_case import EbuildDependencyTestCase + from PMSTestSuite.dbus_handler import DBusHandler, dbus_interface_name, = dbus_object_prefix =20 dbus_handler =3D DBusHandler() @@ -103,3 +105,34 @@ class DBusEbuildTestCase(EbuildTestCase): def check_result(self, pm): return self.dbus_started \ and self.check_dbus_result('\n'.join(self.dbus_output), pm) + +class DBusEbuildDependencyTestCase(EbuildDependencyTestCase): + """ D-Bus capable dependency test case. """ + + inherits =3D ['pms-test-dbus'] + + def __init__(self, *args, **kwargs): + """ Initialize the test case and the D-Bus object for it. """ + EbuildDependencyTestCase.__init__(self, *args, **kwargs) + self._dbusobj =3D RunningTest(self) + + def _finalize(self): + """ Finalize the object, ensuring pkg_setup() will be called. """ + if self.phase_funcs['pkg_setup']: + self.phase_funcs['pkg_setup'].insert(0, 'pms-test-dbus_pkg_setup') + + def check_dbus_result(self, output, pm): + """ + Check whether the sent through D-Bus matches expected test + output. + + Return True if it does, False otherwise. + + The default implementation simply checks whether the test was merged + alike EbuildDependencyTestCase.check_result(). + """ + return EbuildDependencyTestCase.check_result(self, pm) + + def check_result(self, pm): + return self.dbus_started \ + and self.check_dbus_result('\n'.join(self.dbus_output), pm)