* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-23 9:51 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-23 9:51 UTC (permalink / raw
To: gentoo-commits
commit: a6d2c221b4efd60a616adc7417a4d10830e6beb4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 23 09:32:10 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 23 09:32:10 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=a6d2c221
Make RDEPEND=${DEPEND} fallback test use metadata.
---
PMSTestSuite/library/standard/special_vars.py | 7 +------
1 files changed, 1 insertions(+), 6 deletions(-)
diff --git a/PMSTestSuite/library/standard/special_vars.py b/PMSTestSuite/library/standard/special_vars.py
index 2ff93d8..63301c4 100644
--- a/PMSTestSuite/library/standard/special_vars.py
+++ b/PMSTestSuite/library/standard/special_vars.py
@@ -28,15 +28,10 @@ class RDependFallbackTest(DBusEbuildTestCase):
# that one shall be pretty portable
'DEPEND': 'virtual/libc'
}
- phase_funcs = {
- 'src_compile': [
- 'pms-test-dbus_append_result "${RDEPEND}"'
- ]
- }
def check_dbus_result(self, output, pm):
# in EAPI 4, expect empty RDEPEND
# in older EAPIs, expect DEPEND
- return ((self.eapi == 4) != ('virtual/libc' in output)) \
+ return ((self.eapi == 4) != ('virtual/libc' in pm.vdb[self.cpv].RDEPEND.split())) \
and DBusEbuildTestCase.check_dbus_result(self, output, pm)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2012-06-20 8:01 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2012-06-20 8:01 UTC (permalink / raw
To: gentoo-commits
commit: d8c0d42f03849a0677babe763df73f75291f9a6a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 20 08:03:13 2012 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 20 08:03:13 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=d8c0d42f
Add a simple test for exported phase functions.
---
pmstestsuite/library/standard/__init__.py | 1 +
pmstestsuite/library/standard/eclass_exports.py | 23 +++++++++++++++++++++++
2 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index 3e87200..211937f 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -25,6 +25,7 @@ class StandardTestLibrary(TestLibrary):
'eclass_depend.DependInheritanceTest',
'eclass_depend.PDependInheritanceTest',
'eclass_depend.RDependInheritanceTest',
+ 'eclass_exports.ExportedPhaseFunctionTest',
'eclass_metadata.EclassDefinedPhasesTest',
'eclass_metadata.IUseInheritanceTest',
'phase_function_order.PhaseFunctionOrderTest',
diff --git a/pmstestsuite/library/standard/eclass_exports.py b/pmstestsuite/library/standard/eclass_exports.py
new file mode 100644
index 0000000..4496747
--- /dev/null
+++ b/pmstestsuite/library/standard/eclass_exports.py
@@ -0,0 +1,23 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from abc import abstractproperty
+
+from pmstestsuite.library.eclass_case import EclassTestCase
+
+class ExportedPhaseFunctionTest(EclassTestCase):
+ """ Check whether EXPORTED_FUNCTIONS are used. """
+
+ @property
+ def eclass_contents(self):
+ return '''
+EXPORT_FUNCTIONS src_unpack
+
+%s_src_unpack() {
+ pms-test_dbus_append_result 'working'
+}
+''' % self.pn
+
+ def check_dbus_result(self, output, pm):
+ self.assertEqual(output[0], 'working', 'EXPORT_FUNCTIONS')
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2012-01-03 17:50 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2012-01-03 17:50 UTC (permalink / raw
To: gentoo-commits
commit: 980fe4c9237ff98ba4cb165854831d56b2ffc39c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 3 17:07:03 2012 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 3 17:07:03 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=980fe4c9
Fix test code.
---
pmstestsuite/library/standard/banned_commands.py | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/pmstestsuite/library/standard/banned_commands.py b/pmstestsuite/library/standard/banned_commands.py
index 7e3de17..5ddc80f 100644
--- a/pmstestsuite/library/standard/banned_commands.py
+++ b/pmstestsuite/library/standard/banned_commands.py
@@ -36,12 +36,12 @@ class DoHardCommandTest(BannedCommandTest):
except IndexError:
res = None
+ exc = None
if self.eapi < 4:
try:
self.assertTrue(res, 'hardlink created')
except AssertionError as e:
- if exc is None:
- exc = e
+ exc = e
try:
self.assertTrue(output[1] == '0', 'hardlink preserved after merge',
undefined = True)
@@ -76,9 +76,6 @@ class DoSedCommandTest(BannedCommandTest):
if self.eapi < 4:
self.assertEqual(res, 'SED WORKED', 'dosed result')
- elif res is not None or exc:
+ elif res is not None:
self.assertNotEqual(res, 'SED WORKED', 'dosed result',
undefined = True)
-
- if exc:
- raise exc
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2012-01-03 17:50 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2012-01-03 17:50 UTC (permalink / raw
To: gentoo-commits
commit: 39ca99c432c3f9b183237f386da32e2f2e45e2cb
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 3 16:22:00 2012 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 3 16:22:00 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=39ca99c4
Fix inherits in test cases.
---
pmstestsuite/library/standard/eclass_depend.py | 2 +-
pmstestsuite/library/standard/eclass_metadata.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/pmstestsuite/library/standard/eclass_depend.py b/pmstestsuite/library/standard/eclass_depend.py
index 8f98ca5..57a68b9 100644
--- a/pmstestsuite/library/standard/eclass_depend.py
+++ b/pmstestsuite/library/standard/eclass_depend.py
@@ -2,7 +2,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.case import EbuildTestCase
+from pmstestsuite.library.depend_case import EclassDependencyTestCase
from .util import EbuildToucher
class DependInheritanceTest(EclassDependencyTestCase):
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
index 18a4686..48474fe 100644
--- a/pmstestsuite/library/standard/eclass_metadata.py
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -4,7 +4,7 @@
from abc import abstractproperty
-from pmstestsuite.library.case import EclassTestCase
+from pmstestsuite.library.eclass_case import EclassTestCase
class VariableInheritanceTest(EclassTestCase):
""" Eclass variable inheritance test. """
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2012-01-03 15:52 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2012-01-03 15:52 UTC (permalink / raw
To: gentoo-commits
commit: 14499d0e86f67f556e2631c687eaf20e82ca9e43
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 3 12:14:20 2012 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 3 12:14:20 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=14499d0e
Remove old dbus_case API.
---
pmstestsuite/library/standard/banned_commands.py | 20 +++-----------------
pmstestsuite/library/standard/dbus_case.py | 20 --------------------
pmstestsuite/library/standard/depend.py | 20 +++++++++-----------
pmstestsuite/library/standard/deprecated_vars.py | 12 +++++-------
pmstestsuite/library/standard/doins_fail.py | 6 +++---
pmstestsuite/library/standard/eclass_depend.py | 12 ++++++------
pmstestsuite/library/standard/eclass_metadata.py | 13 ++++---------
pmstestsuite/library/standard/ext_cases.py | 8 ++++----
.../library/standard/phase_function_order.py | 7 +++----
pmstestsuite/library/standard/special_vars.py | 13 ++++---------
pmstestsuite/library/standard/util.py | 8 ++++----
pmstestsuite/library/standard/variable_scope.py | 6 ++----
pmstestsuite/library/standard/workdir_fallback.py | 6 +++---
13 files changed, 50 insertions(+), 101 deletions(-)
diff --git a/pmstestsuite/library/standard/banned_commands.py b/pmstestsuite/library/standard/banned_commands.py
index 216d6df..7e3de17 100644
--- a/pmstestsuite/library/standard/banned_commands.py
+++ b/pmstestsuite/library/standard/banned_commands.py
@@ -2,13 +2,13 @@
# (c) 2011-2012 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from .dbus_case import DBusEbuildTestCase
+from pmstestsuite.library.case import EbuildTestCase
-class BannedCommandTest(DBusEbuildTestCase):
+class BannedCommandTest(EbuildTestCase):
supported_eapis = (range(0, 4), (4,))
def __init__(self, *args, **kwargs):
- DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ EbuildTestCase.__init__(self, *args, **kwargs)
self._path = '/tmp/pms-test-suite-%d' % id(self)
self.phase_funcs['src_install'].extend([
'{ echo > foo; } || die',
@@ -32,13 +32,6 @@ class DoHardCommandTest(BannedCommandTest):
def check_dbus_result(self, output, pm):
try:
- BannedCommandTest.check_dbus_result(self, output, pm)
- except AssertionError as e:
- exc = e
- else:
- exc = None
-
- try:
res = True if output[0] == '0' else False
except IndexError:
res = None
@@ -77,13 +70,6 @@ class DoSedCommandTest(BannedCommandTest):
def check_dbus_result(self, output, pm):
try:
- BannedCommandTest.check_dbus_result(self, output, pm)
- except AssertionError as e:
- exc = e
- else:
- exc = None
-
- try:
res = output[0].strip()
except IndexError:
res = None
diff --git a/pmstestsuite/library/standard/dbus_case.py b/pmstestsuite/library/standard/dbus_case.py
deleted file mode 100644
index 14258b7..0000000
--- a/pmstestsuite/library/standard/dbus_case.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# vim:fileencoding=utf-8
-# (c) 2011-2012 Michał Górny <mgorny@gentoo.org>
-# Released under the terms of the 2-clause BSD license.
-
-from pmstestsuite.library.case import EbuildTestCase
-from pmstestsuite.library.depend_case import EbuildDependencyTestCase, \
- EclassDependencyTestCase
-from pmstestsuite.library.eclass_case import EclassTestCase
-
-class DBusEbuildTestCase(EbuildTestCase):
- pass
-
-class DBusEclassTestCase(EclassTestCase):
- pass
-
-class DBusEbuildDependencyTestCase(EbuildDependencyTestCase):
- pass
-
-class DBusEclassDependencyTestCase(EclassDependencyTestCase):
- pass
diff --git a/pmstestsuite/library/standard/depend.py b/pmstestsuite/library/standard/depend.py
index f95f090..843229c 100644
--- a/pmstestsuite/library/standard/depend.py
+++ b/pmstestsuite/library/standard/depend.py
@@ -2,46 +2,44 @@
# (c) 2011-2012 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from .dbus_case import DBusEbuildDependencyTestCase
+from pmstestsuite.library.depend_case import EbuildDependencyTestCase
from .util import EbuildToucher, FailingEbuild
-class DependTest(DBusEbuildDependencyTestCase):
+class DependTest(EbuildDependencyTestCase):
""" DEPEND fulfilling test. """
depend_classes = [EbuildToucher]
def __init__(self, *args, **kwargs):
- DBusEbuildDependencyTestCase.__init__(self, *args, **kwargs)
+ EbuildDependencyTestCase.__init__(self, *args, **kwargs)
self.phase_funcs['src_compile'].append(
'pms-test-suite-%s || die' % self.dependant_ebuilds[0].pv
)
-class RDependTest(DBusEbuildDependencyTestCase):
+class RDependTest(EbuildDependencyTestCase):
""" RDEPEND fulfilling test. """
rdepend_classes = [EbuildToucher]
def __init__(self, *args, **kwargs):
- DBusEbuildDependencyTestCase.__init__(self, *args, **kwargs)
+ EbuildDependencyTestCase.__init__(self, *args, **kwargs)
self.phase_funcs['pkg_postinst'].append(
'pms-test-suite-%s || die' % self.dependant_ebuilds[0].pv
)
-class PDependTest(DBusEbuildDependencyTestCase):
+class PDependTest(EbuildDependencyTestCase):
""" PDEPEND fulfilling test. """
pdepend_classes = [EbuildToucher]
def __init__(self, *args, **kwargs):
- DBusEbuildDependencyTestCase.__init__(self, *args, **kwargs)
+ EbuildDependencyTestCase.__init__(self, *args, **kwargs)
self.phase_funcs['pkg_postinst'].extend([
'pms-test-suite-%s' % self.dependant_ebuilds[0].pv,
'pms-test_dbus_append_result ${?}'
])
def check_dbus_result(self, output, pm):
- DBusEbuildDependencyTestCase.check_dbus_result(self, output, pm)
-
try:
res = output[0] == '0'
except IndexError:
@@ -49,13 +47,13 @@ class PDependTest(DBusEbuildDependencyTestCase):
self.assertFalse(res, 'PDEP merged before ebuild',
undefined = True)
-class FailingDependTest(DBusEbuildDependencyTestCase):
+class FailingDependTest(EbuildDependencyTestCase):
""" Unfulfilled DEPEND test. """
depend_classes = [FailingEbuild]
expect_failure = True
-class FailingRDependTest(DBusEbuildDependencyTestCase):
+class FailingRDependTest(EbuildDependencyTestCase):
""" Unfulfilled RDEPEND test. """
depend_classes = [FailingEbuild]
diff --git a/pmstestsuite/library/standard/deprecated_vars.py b/pmstestsuite/library/standard/deprecated_vars.py
index 14d1bd6..a4a4a6b 100644
--- a/pmstestsuite/library/standard/deprecated_vars.py
+++ b/pmstestsuite/library/standard/deprecated_vars.py
@@ -4,10 +4,10 @@
import os.path
-from .dbus_case import DBusEbuildTestCase
-from .ext_cases import DBusFetchingEbuildTestCase
+from pmstestsuite.library.case import EbuildTestCase
+from .ext_cases import FetchingEbuildTestCase
-class AATest(DBusFetchingEbuildTestCase):
+class AATest(FetchingEbuildTestCase):
""" Test whether AA is declared. """
supported_eapis = (range(0, 4), (4,))
@@ -21,7 +21,7 @@ class AATest(DBusFetchingEbuildTestCase):
}
def __init__(self, *args, **kwargs):
- DBusFetchingEbuildTestCase.__init__(self, *args, **kwargs)
+ FetchingEbuildTestCase.__init__(self, *args, **kwargs)
self._expect_fn = os.path.split(self.ebuild_vars['SRC_URI'])[1]
self.ebuild_vars['SRC_URI'] = 'pms_tests_magical_hidden_use? ( %s )' \
% self.ebuild_vars['SRC_URI']
@@ -32,10 +32,9 @@ class AATest(DBusFetchingEbuildTestCase):
else:
expect = ''
- DBusEbuildTestCase.check_dbus_result(self, output, pm)
self.assertEqual(output[0], expect, '${AA}')
-class KVTest(DBusEbuildTestCase):
+class KVTest(EbuildTestCase):
""" Test whether KV is declared. """
supported_eapis = (range(0, 4), (4,))
@@ -46,7 +45,6 @@ class KVTest(DBusEbuildTestCase):
}
def check_dbus_result(self, output, pm):
- DBusEbuildTestCase.check_dbus_result(self, output, pm)
func = self.assertEqual if self.eapi == 4 \
else self.assertNotEqual
func(output[0], '', '${KV}')
diff --git a/pmstestsuite/library/standard/doins_fail.py b/pmstestsuite/library/standard/doins_fail.py
index a965377..0088fe6 100644
--- a/pmstestsuite/library/standard/doins_fail.py
+++ b/pmstestsuite/library/standard/doins_fail.py
@@ -2,9 +2,9 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from .dbus_case import DBusEbuildTestCase
+from pmstestsuite.library.case import EbuildTestCase
-class DoInsFailureTest(DBusEbuildTestCase):
+class DoInsFailureTest(EbuildTestCase):
""" doins() failure handling test. """
supported_eapis = (range(0, 4), (4,))
@@ -17,5 +17,5 @@ class DoInsFailureTest(DBusEbuildTestCase):
}
def __init__(self, *args, **kwargs):
- DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ EbuildTestCase.__init__(self, *args, **kwargs)
self.expect_failure = (self.eapi == 4)
diff --git a/pmstestsuite/library/standard/eclass_depend.py b/pmstestsuite/library/standard/eclass_depend.py
index 8812fb0..8f98ca5 100644
--- a/pmstestsuite/library/standard/eclass_depend.py
+++ b/pmstestsuite/library/standard/eclass_depend.py
@@ -2,10 +2,10 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from .dbus_case import DBusEclassDependencyTestCase
+from pmstestsuite.library.case import EbuildTestCase
from .util import EbuildToucher
-class DependInheritanceTest(DBusEclassDependencyTestCase):
+class DependInheritanceTest(EclassDependencyTestCase):
""" DEPEND variable inheritance test. """
depend_classes = [EbuildToucher]
@@ -13,13 +13,13 @@ class DependInheritanceTest(DBusEclassDependencyTestCase):
eclass_contents = ''
def __init__(self, *args, **kwargs):
- DBusEclassDependencyTestCase.__init__(self, *args, **kwargs)
+ EclassDependencyTestCase.__init__(self, *args, **kwargs)
self.phase_funcs['src_compile'].extend((
'pms-test-suite-%s || die' % self.dependant_ebuilds[0].pv,
'pms-test-suite-%s || die' % self.dependant_ebuilds[1].pv
))
-class RDependInheritanceTest(DBusEclassDependencyTestCase):
+class RDependInheritanceTest(EclassDependencyTestCase):
""" RDEPEND variable inheritance test. """
rdepend_classes = [EbuildToucher]
@@ -27,13 +27,13 @@ class RDependInheritanceTest(DBusEclassDependencyTestCase):
eclass_contents = ''
def __init__(self, *args, **kwargs):
- DBusEclassDependencyTestCase.__init__(self, *args, **kwargs)
+ EclassDependencyTestCase.__init__(self, *args, **kwargs)
self.phase_funcs['pkg_postinst'].extend((
'pms-test-suite-%s || die' % self.dependant_ebuilds[0].pv,
'pms-test-suite-%s || die' % self.dependant_ebuilds[1].pv
))
-class PDependInheritanceTest(DBusEclassDependencyTestCase):
+class PDependInheritanceTest(EclassDependencyTestCase):
""" PDEPEND variable inheritance test. """
pdepend_classes = [EbuildToucher]
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
index d7b6cf6..18a4686 100644
--- a/pmstestsuite/library/standard/eclass_metadata.py
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -4,9 +4,9 @@
from abc import abstractproperty
-from .dbus_case import DBusEclassTestCase
+from pmstestsuite.library.case import EclassTestCase
-class VariableInheritanceTest(DBusEclassTestCase):
+class VariableInheritanceTest(EclassTestCase):
""" Eclass variable inheritance test. """
@abstractproperty
@@ -29,7 +29,7 @@ class VariableInheritanceTest(DBusEclassTestCase):
return '%s=%s\n' % (self.var_name, repr(self.var_eclass_value))
def __init__(self, *args, **kwargs):
- DBusEclassTestCase.__init__(self, *args, **kwargs)
+ EclassTestCase.__init__(self, *args, **kwargs)
self.ebuild_vars[self.var_name] = self.var_ebuild_value
class IUseInheritanceTest(VariableInheritanceTest):
@@ -40,16 +40,13 @@ class IUseInheritanceTest(VariableInheritanceTest):
var_ebuild_value = 'bar'
def check_dbus_result(self, output, pm):
- # ensure it got installed first
- DBusEclassTestCase.check_dbus_result(self, output, pm)
-
spl = pm.installed[self.atom(pm)].use
self.assertContains(self.var_eclass_value, spl, 'IUSE (eclass)')
self.assertContains(self.var_ebuild_value, spl, 'IUSE (ebuild)')
# XXX: REQUIRED_USE
-class EclassDefinedPhasesTest(DBusEclassTestCase):
+class EclassDefinedPhasesTest(EclassTestCase):
""" Check whether eclasses set DEFINED_PHASES as well. """
supported_eapis = ((4,),)
@@ -70,8 +67,6 @@ EXPORT_FUNCTIONS src_compile
''' % self.pn
def check_dbus_result(self, output, pm):
- DBusEclassTestCase.check_dbus_result(self, output, pm)
-
phases = pm.installed[self.atom(pm)].defined_phases
self.assertContains('compile', phases, 'DEFINED_PHASES (eclass)')
self.assertContains('install', phases, 'DEFINED_PHASES (ebuild)')
diff --git a/pmstestsuite/library/standard/ext_cases.py b/pmstestsuite/library/standard/ext_cases.py
index 94a93cc..8fcbf12 100644
--- a/pmstestsuite/library/standard/ext_cases.py
+++ b/pmstestsuite/library/standard/ext_cases.py
@@ -2,16 +2,16 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from .dbus_case import DBusEbuildTestCase
+from pmstestsuite.library.case import EbuildTestCase
-class DBusFetchingEbuildTestCase(DBusEbuildTestCase):
+class FetchingEbuildTestCase(EbuildTestCase):
"""
- A DBusEbuildTestCase variant with a standarized way of fetching
+ A EbuildTestCase variant with a standarized way of fetching
sources -- to decrease {${DISTDIR}} pollution.
"""
def __init__(self, *args, **kwargs):
- DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ EbuildTestCase.__init__(self, *args, **kwargs)
val = 'http://dev.gentoo.org/~mgorny/pmsts-temp.bin'
if 'SRC_URI' in self.ebuild_vars:
val = '%s %s' % (self.ebuild_vars['SRC_URI'], val)
diff --git a/pmstestsuite/library/standard/phase_function_order.py b/pmstestsuite/library/standard/phase_function_order.py
index a9f24ac..12a2234 100644
--- a/pmstestsuite/library/standard/phase_function_order.py
+++ b/pmstestsuite/library/standard/phase_function_order.py
@@ -2,15 +2,15 @@
# (c) 2011-2012 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from .dbus_case import DBusEbuildTestCase
+from pmstestsuite.library.case import EbuildTestCase
-class PhaseFunctionOrderTest(DBusEbuildTestCase):
+class PhaseFunctionOrderTest(EbuildTestCase):
""" Phase function execution order test. """
supported_eapis = ((0, 1), (2, 3), (4,))
def __init__(self, *args, **kwargs):
- DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ EbuildTestCase.__init__(self, *args, **kwargs)
for k, lines in self.phase_funcs.items():
lines.append('pms-test_dbus_append_result %s' % k)
@@ -24,5 +24,4 @@ class PhaseFunctionOrderTest(DBusEbuildTestCase):
expect.extend(['src_prepare', 'src_configure'])
expect.extend(['src_compile', 'src_install', 'pkg_preinst', 'pkg_postinst'])
- DBusEbuildTestCase.check_dbus_result(self, output, pm)
self.assertEqual(output, expect, 'Executed phases')
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index 8283a60..acbfd32 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -2,9 +2,9 @@
# (c) 2011-2012 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from .dbus_case import DBusEbuildTestCase
+from pmstestsuite.library.case import EbuildTestCase
-class InheritedVariableTest(DBusEbuildTestCase):
+class InheritedVariableTest(EbuildTestCase):
""" INHERITED variable definition test. """
phase_funcs = {
@@ -14,11 +14,10 @@ class InheritedVariableTest(DBusEbuildTestCase):
}
def check_dbus_result(self, output, pm):
- DBusEbuildTestCase.check_dbus_result(self, output, pm)
inherits = output[0].split()
self.assertContains('pms-test', inherits, 'INHERITED')
-class RDependFallbackTest(DBusEbuildTestCase):
+class RDependFallbackTest(EbuildTestCase):
""" Test whether RDEPEND=${DEPEND} fallback works as expected. """
supported_eapis = (range(0, 4), (4,))
@@ -28,8 +27,6 @@ class RDependFallbackTest(DBusEbuildTestCase):
}
def check_dbus_result(self, output, pm):
- DBusEbuildTestCase.check_dbus_result(self, output, pm)
-
class DepMatcher(object):
def __eq__(self, other):
return other.key == str(self)
@@ -50,7 +47,7 @@ class RDependFallbackTest(DBusEbuildTestCase):
else:
self.assertContains(mydep, rdep, 'RDEPEND')
-class DefinedPhasesTest(DBusEbuildTestCase):
+class DefinedPhasesTest(EbuildTestCase):
""" Test whether DEFINED_PHASES are declared in EAPI 4. """
supported_eapis = ((4,),)
@@ -61,7 +58,5 @@ class DefinedPhasesTest(DBusEbuildTestCase):
}
def check_dbus_result(self, output, pm):
- DBusEbuildTestCase.check_dbus_result(self, output, pm)
-
phases = pm.installed[self.atom(pm)].defined_phases
self.assertEqual(tuple(phases), ('setup',), 'DEFINED_PHASES')
diff --git a/pmstestsuite/library/standard/util.py b/pmstestsuite/library/standard/util.py
index 0bee1b5..37e44f8 100644
--- a/pmstestsuite/library/standard/util.py
+++ b/pmstestsuite/library/standard/util.py
@@ -2,9 +2,9 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from .dbus_case import DBusEbuildTestCase
+from pmstestsuite.library.case import EbuildTestCase
-class EbuildToucher(DBusEbuildTestCase):
+class EbuildToucher(EbuildTestCase):
""" Touched file installer (for dependency tests). """
@property
@@ -12,7 +12,7 @@ class EbuildToucher(DBusEbuildTestCase):
return id(self)
def __init__(self, *args, **kwargs):
- DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ EbuildTestCase.__init__(self, *args, **kwargs)
self.phase_funcs['src_unpack'].append(
'''cat >> mytrue.sh <<_EOF_
#!/bin/sh
@@ -23,7 +23,7 @@ _EOF_'''
'newbin mytrue.sh pms-test-suite-%s || die' % self.pv
)
-class FailingEbuild(DBusEbuildTestCase):
+class FailingEbuild(EbuildTestCase):
""" A failing ebuild. """
phase_funcs = {
diff --git a/pmstestsuite/library/standard/variable_scope.py b/pmstestsuite/library/standard/variable_scope.py
index bee1d7e..614f6ee 100644
--- a/pmstestsuite/library/standard/variable_scope.py
+++ b/pmstestsuite/library/standard/variable_scope.py
@@ -4,9 +4,9 @@
import re
-from .dbus_case import DBusEbuildTestCase
+from pmstestsuite.library.case import EbuildTestCase
-class VariableScopeTest(DBusEbuildTestCase):
+class VariableScopeTest(EbuildTestCase):
""" A test for scoping of variables. """
ebuild_vars = {
@@ -70,5 +70,3 @@ class VariableScopeTest(DBusEbuildTestCase):
for var, regexp in zip(output, matches):
self.assertEqual(var, regexp, regexp.name)
-
- return DBusEbuildTestCase.check_dbus_result(self, output, pm)
diff --git a/pmstestsuite/library/standard/workdir_fallback.py b/pmstestsuite/library/standard/workdir_fallback.py
index 04ce281..6416ac6 100644
--- a/pmstestsuite/library/standard/workdir_fallback.py
+++ b/pmstestsuite/library/standard/workdir_fallback.py
@@ -2,9 +2,9 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from .ext_cases import DBusFetchingEbuildTestCase
+from .ext_cases import FetchingEbuildTestCase
-class WorkdirFallbackTest(DBusFetchingEbuildTestCase):
+class WorkdirFallbackTest(FetchingEbuildTestCase):
""" S=${WORKDIR} fallback test. """
supported_eapis = (range(0, 4), (4,))
@@ -27,5 +27,5 @@ class WorkdirFallbackTest(DBusFetchingEbuildTestCase):
}
def __init__(self, *args, **kwargs):
- DBusFetchingEbuildTestCase.__init__(self, *args, **kwargs)
+ FetchingEbuildTestCase.__init__(self, *args, **kwargs)
self.expect_failure = (self.eapi == 4)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-13 8:54 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-13 8:54 UTC (permalink / raw
To: gentoo-commits
commit: 288a3f8d17c4d0679fea8d27847314f3d96310fd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 08:51:17 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 08:51:17 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=288a3f8d
Check whether PDEPs are merged before the ebuild.
---
pmstestsuite/library/standard/depend.py | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/pmstestsuite/library/standard/depend.py b/pmstestsuite/library/standard/depend.py
index 0ecfe9e..a773b25 100644
--- a/pmstestsuite/library/standard/depend.py
+++ b/pmstestsuite/library/standard/depend.py
@@ -32,6 +32,23 @@ class PDependTest(DBusEbuildDependencyTestCase):
pdepend_classes = [EbuildToucher]
+ def __init__(self, *args, **kwargs):
+ DBusEbuildDependencyTestCase.__init__(self, *args, **kwargs)
+ self.phase_funcs['pkg_postinst'].extend([
+ 'pms-test-suite-%s' % self.dependant_ebuilds[0].pv,
+ 'pms-test-dbus_append_result ${?}'
+ ])
+
+ def check_dbus_result(self, output, pm):
+ DBusEbuildDependencyTestCase.check_dbus_result(self, output, pm)
+
+ try:
+ res = output[0] == '0'
+ except IndexError:
+ res = None
+ self.assertFalse(res, 'PDEP merged before ebuild',
+ undefined = True)
+
class FailingDependTest(DBusEbuildDependencyTestCase):
""" Unfulfilled DEPEND test. """
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-12 20:55 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-12 20:55 UTC (permalink / raw
To: gentoo-commits
commit: 1ed2e474b2f458d85e178ba1500c83758a265f92
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 20:45:53 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 20:45:53 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=1ed2e474
Use relative imports within the test library.
---
pmstestsuite/library/standard/__init__.py | 3 ++-
pmstestsuite/library/standard/banned_commands.py | 2 +-
pmstestsuite/library/standard/depend.py | 4 ++--
pmstestsuite/library/standard/deprecated_vars.py | 4 ++--
pmstestsuite/library/standard/doins_fail.py | 2 +-
pmstestsuite/library/standard/eclass_depend.py | 4 ++--
pmstestsuite/library/standard/eclass_metadata.py | 2 +-
pmstestsuite/library/standard/ext_cases.py | 2 +-
.../library/standard/phase_function_order.py | 2 +-
pmstestsuite/library/standard/special_vars.py | 2 +-
pmstestsuite/library/standard/util.py | 2 +-
pmstestsuite/library/standard/variable_scope.py | 2 +-
pmstestsuite/library/standard/workdir_fallback.py | 2 +-
13 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index 58fe341..e3ab8ec 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -5,7 +5,8 @@
import os.path
from pmstestsuite.library import TestLibrary
-from pmstestsuite.library.standard.dbus_case import pms_dbus_eclass
+
+from .dbus_case import pms_dbus_eclass
class StandardTestLibrary(TestLibrary):
"""
diff --git a/pmstestsuite/library/standard/banned_commands.py b/pmstestsuite/library/standard/banned_commands.py
index bf7a715..1eae774 100644
--- a/pmstestsuite/library/standard/banned_commands.py
+++ b/pmstestsuite/library/standard/banned_commands.py
@@ -2,7 +2,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+from .dbus_case import DBusEbuildTestCase
class BannedCommandTest(DBusEbuildTestCase):
supported_eapis = (range(0, 4), (4,))
diff --git a/pmstestsuite/library/standard/depend.py b/pmstestsuite/library/standard/depend.py
index 2a3049f..0ecfe9e 100644
--- a/pmstestsuite/library/standard/depend.py
+++ b/pmstestsuite/library/standard/depend.py
@@ -2,8 +2,8 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.dbus_case import DBusEbuildDependencyTestCase
-from pmstestsuite.library.standard.util import EbuildToucher, FailingEbuild
+from .dbus_case import DBusEbuildDependencyTestCase
+from .util import EbuildToucher, FailingEbuild
class DependTest(DBusEbuildDependencyTestCase):
""" DEPEND fulfilling test. """
diff --git a/pmstestsuite/library/standard/deprecated_vars.py b/pmstestsuite/library/standard/deprecated_vars.py
index 03286f5..9f695cb 100644
--- a/pmstestsuite/library/standard/deprecated_vars.py
+++ b/pmstestsuite/library/standard/deprecated_vars.py
@@ -4,8 +4,8 @@
import os.path
-from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
-from pmstestsuite.library.standard.ext_cases import DBusFetchingEbuildTestCase
+from .dbus_case import DBusEbuildTestCase
+from .ext_cases import DBusFetchingEbuildTestCase
class AATest(DBusFetchingEbuildTestCase):
""" Test whether AA is declared. """
diff --git a/pmstestsuite/library/standard/doins_fail.py b/pmstestsuite/library/standard/doins_fail.py
index a45a8e1..a965377 100644
--- a/pmstestsuite/library/standard/doins_fail.py
+++ b/pmstestsuite/library/standard/doins_fail.py
@@ -2,7 +2,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+from .dbus_case import DBusEbuildTestCase
class DoInsFailureTest(DBusEbuildTestCase):
""" doins() failure handling test. """
diff --git a/pmstestsuite/library/standard/eclass_depend.py b/pmstestsuite/library/standard/eclass_depend.py
index 5a43402..8812fb0 100644
--- a/pmstestsuite/library/standard/eclass_depend.py
+++ b/pmstestsuite/library/standard/eclass_depend.py
@@ -2,8 +2,8 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.dbus_case import DBusEclassDependencyTestCase
-from pmstestsuite.library.standard.util import EbuildToucher
+from .dbus_case import DBusEclassDependencyTestCase
+from .util import EbuildToucher
class DependInheritanceTest(DBusEclassDependencyTestCase):
""" DEPEND variable inheritance test. """
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
index 08e1b55..d7b6cf6 100644
--- a/pmstestsuite/library/standard/eclass_metadata.py
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -4,7 +4,7 @@
from abc import abstractproperty
-from pmstestsuite.library.standard.dbus_case import DBusEclassTestCase
+from .dbus_case import DBusEclassTestCase
class VariableInheritanceTest(DBusEclassTestCase):
""" Eclass variable inheritance test. """
diff --git a/pmstestsuite/library/standard/ext_cases.py b/pmstestsuite/library/standard/ext_cases.py
index b3add29..9f0bbf6 100644
--- a/pmstestsuite/library/standard/ext_cases.py
+++ b/pmstestsuite/library/standard/ext_cases.py
@@ -2,7 +2,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+from .dbus_case import DBusEbuildTestCase
class DBusFetchingEbuildTestCase(DBusEbuildTestCase):
"""
diff --git a/pmstestsuite/library/standard/phase_function_order.py b/pmstestsuite/library/standard/phase_function_order.py
index 21d8e23..2c56d4f 100644
--- a/pmstestsuite/library/standard/phase_function_order.py
+++ b/pmstestsuite/library/standard/phase_function_order.py
@@ -2,7 +2,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+from .dbus_case import DBusEbuildTestCase
class PhaseFunctionOrderTest(DBusEbuildTestCase):
""" Phase function execution order test. """
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index cc8ca8f..eae9ca1 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -2,7 +2,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+from .dbus_case import DBusEbuildTestCase
class InheritedVariableTest(DBusEbuildTestCase):
""" INHERITED variable definition test. """
diff --git a/pmstestsuite/library/standard/util.py b/pmstestsuite/library/standard/util.py
index c71695b..0bee1b5 100644
--- a/pmstestsuite/library/standard/util.py
+++ b/pmstestsuite/library/standard/util.py
@@ -2,7 +2,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+from .dbus_case import DBusEbuildTestCase
class EbuildToucher(DBusEbuildTestCase):
""" Touched file installer (for dependency tests). """
diff --git a/pmstestsuite/library/standard/variable_scope.py b/pmstestsuite/library/standard/variable_scope.py
index c907ca7..60e3572 100644
--- a/pmstestsuite/library/standard/variable_scope.py
+++ b/pmstestsuite/library/standard/variable_scope.py
@@ -4,7 +4,7 @@
import re
-from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+from .dbus_case import DBusEbuildTestCase
class VariableScopeTest(DBusEbuildTestCase):
""" A test for scoping of variables. """
diff --git a/pmstestsuite/library/standard/workdir_fallback.py b/pmstestsuite/library/standard/workdir_fallback.py
index 25085db..6c96abe 100644
--- a/pmstestsuite/library/standard/workdir_fallback.py
+++ b/pmstestsuite/library/standard/workdir_fallback.py
@@ -2,7 +2,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.ext_cases import DBusFetchingEbuildTestCase
+from .ext_cases import DBusFetchingEbuildTestCase
class WorkdirFallbackTest(DBusFetchingEbuildTestCase):
""" S=${WORKDIR} fallback test. """
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-08 2:56 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-08 2:56 UTC (permalink / raw
To: gentoo-commits
commit: 12c6e80b9d7b6b0ef613d9a716547d2da1e675e4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 8 02:58:03 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug 8 02:58:03 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=12c6e80b
dohard: check whether hardlink was preserved after merge.
---
pmstestsuite/library/standard/banned_commands.py | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/pmstestsuite/library/standard/banned_commands.py b/pmstestsuite/library/standard/banned_commands.py
index b261f43..bf7a715 100644
--- a/pmstestsuite/library/standard/banned_commands.py
+++ b/pmstestsuite/library/standard/banned_commands.py
@@ -26,6 +26,9 @@ class DoHardCommandTest(BannedCommandTest):
'dohard %s/foo %s/bar || die' % (self._path, self._path),
'[[ "${D}"%s/foo -ef "${D}"%s/bar ]]' % (self._path, self._path),
'pms-test-dbus_append_result ${?}'])
+ self.phase_funcs['pkg_postinst'].extend([
+ '[[ "${ROOT}"%s/foo -ef "${ROOT}"%s/bar ]]' % (self._path, self._path),
+ 'pms-test-dbus_append_result ${?}'])
def check_dbus_result(self, output, pm):
try:
@@ -41,10 +44,24 @@ class DoHardCommandTest(BannedCommandTest):
res = None
if self.eapi < 4:
- self.assertTrue(res, 'hardlink created')
+ try:
+ self.assertTrue(res, 'hardlink created')
+ except AssertionError as e:
+ if exc is None:
+ exc = e
+ try:
+ self.assertTrue(output[1] == '0', 'hardlink preserved after merge',
+ undefined = True)
+ except IndexError:
+ pass
elif res is not None or exc:
self.assertFalse(res, 'hardlink created',
undefined = True)
+ try:
+ self.assertFalse(output[1] == '0', 'hardlink preserved after merge',
+ undefined = True)
+ except IndexError:
+ pass
if exc:
raise exc
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-07 14:57 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-07 14:57 UTC (permalink / raw
To: gentoo-commits
commit: 943ac31b526a3f0c2b0e69da6ea53928d026f03b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 7 14:58:52 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 7 14:59:00 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=943ac31b
Fix INHERITED varname (in output).
---
pmstestsuite/library/standard/special_vars.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index 6ef9c2c..cc8ca8f 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -17,7 +17,7 @@ class InheritedVariableTest(DBusEbuildTestCase):
DBusEbuildTestCase.check_dbus_result(self, output, pm)
inherits = output[0].split()
self.assertContains('pms-test-dbus', inherits,
- 'INHERITS')
+ 'INHERITED')
class RDependFallbackTest(DBusEbuildTestCase):
""" Test whether RDEPEND=${DEPEND} fallback works as expected. """
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-07 14:57 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-07 14:57 UTC (permalink / raw
To: gentoo-commits
commit: 3ce68ad83ba002bac60ea195d51a1cea7effcc27
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 7 14:56:57 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 7 14:56:57 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=3ce68ad8
Metadata inheritance checks: be more clean which val comes from eclass.
---
pmstestsuite/library/standard/eclass_metadata.py | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
index 225e1d3..08e1b55 100644
--- a/pmstestsuite/library/standard/eclass_metadata.py
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -44,8 +44,8 @@ class IUseInheritanceTest(VariableInheritanceTest):
DBusEclassTestCase.check_dbus_result(self, output, pm)
spl = pm.installed[self.atom(pm)].use
- self.assertEqual(sorted([str(x) for x in spl]), sorted((self.var_eclass_value,
- self.var_ebuild_value)), 'IUSE')
+ self.assertContains(self.var_eclass_value, spl, 'IUSE (eclass)')
+ self.assertContains(self.var_ebuild_value, spl, 'IUSE (ebuild)')
# XXX: REQUIRED_USE
@@ -54,7 +54,7 @@ class EclassDefinedPhasesTest(DBusEclassTestCase):
supported_eapis = ((4,),)
phase_funcs = {
- 'pkg_setup': [
+ 'src_install': [
':'
]
}
@@ -73,5 +73,5 @@ EXPORT_FUNCTIONS src_compile
DBusEclassTestCase.check_dbus_result(self, output, pm)
phases = pm.installed[self.atom(pm)].defined_phases
- self.assertEqual(sorted(phases), ['compile', 'setup'],
- 'DEFINED_PHASES')
+ self.assertContains('compile', phases, 'DEFINED_PHASES (eclass)')
+ self.assertContains('install', phases, 'DEFINED_PHASES (ebuild)')
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-07 14:48 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-07 14:48 UTC (permalink / raw
To: gentoo-commits
commit: 320871c9bef49c07de7a6701f12000a08cd10132
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 7 14:48:44 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 7 14:48:44 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=320871c9
Improve banned command tests not to show output when irrelevant.
If the test didn't pass any output and it was completely expected,
there's no reason to show undefined '?'.
---
pmstestsuite/library/standard/banned_commands.py | 56 ++++++++++++++--------
1 files changed, 36 insertions(+), 20 deletions(-)
diff --git a/pmstestsuite/library/standard/banned_commands.py b/pmstestsuite/library/standard/banned_commands.py
index 4438f12..b261f43 100644
--- a/pmstestsuite/library/standard/banned_commands.py
+++ b/pmstestsuite/library/standard/banned_commands.py
@@ -30,16 +30,24 @@ class DoHardCommandTest(BannedCommandTest):
def check_dbus_result(self, output, pm):
try:
BannedCommandTest.check_dbus_result(self, output, pm)
- finally:
- try:
- res = True if output[0] == '0' else False
- except IndexError:
- res = None
- if self.eapi < 4:
- self.assertTrue(res, 'hardlink created')
- else:
- self.assertFalse(res, 'hardlink created',
- undefined = True)
+ except AssertionError as e:
+ exc = e
+ else:
+ exc = None
+
+ try:
+ res = True if output[0] == '0' else False
+ except IndexError:
+ res = None
+
+ if self.eapi < 4:
+ self.assertTrue(res, 'hardlink created')
+ elif res is not None or exc:
+ self.assertFalse(res, 'hardlink created',
+ undefined = True)
+
+ if exc:
+ raise exc
class DoSedCommandTest(BannedCommandTest):
""" Test whether dosed command is actually banned. """
@@ -53,13 +61,21 @@ class DoSedCommandTest(BannedCommandTest):
def check_dbus_result(self, output, pm):
try:
BannedCommandTest.check_dbus_result(self, output, pm)
- finally:
- try:
- res = output[0].strip()
- except IndexError:
- res = None
- if self.eapi < 4:
- self.assertEqual(res, 'SED WORKED', 'dosed result')
- else:
- self.assertNotEqual(res, 'SED WORKED', 'dosed result',
- undefined = True)
+ except AssertionError as e:
+ exc = e
+ else:
+ exc = None
+
+ try:
+ res = output[0].strip()
+ except IndexError:
+ res = None
+
+ if self.eapi < 4:
+ self.assertEqual(res, 'SED WORKED', 'dosed result')
+ elif res is not None or exc:
+ self.assertNotEqual(res, 'SED WORKED', 'dosed result',
+ undefined = True)
+
+ if exc:
+ raise exc
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-06 14:25 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-06 14:25 UTC (permalink / raw
To: gentoo-commits
commit: 745fa6c3eedb4a855d9467fd2f59885c51428bb5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 6 14:14:39 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 6 14:14:39 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=745fa6c3
Banned commands: cleanly handle undefined & unexpected results.
---
pmstestsuite/library/standard/banned_commands.py | 24 ++++++++++++++++-----
1 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/pmstestsuite/library/standard/banned_commands.py b/pmstestsuite/library/standard/banned_commands.py
index 914b691..4438f12 100644
--- a/pmstestsuite/library/standard/banned_commands.py
+++ b/pmstestsuite/library/standard/banned_commands.py
@@ -31,9 +31,15 @@ class DoHardCommandTest(BannedCommandTest):
try:
BannedCommandTest.check_dbus_result(self, output, pm)
finally:
- # XXX: ambiguous in EAPI 4
- if output:
- self.assertTrue(output[0] == '0', 'hardlink created')
+ try:
+ res = True if output[0] == '0' else False
+ except IndexError:
+ res = None
+ if self.eapi < 4:
+ self.assertTrue(res, 'hardlink created')
+ else:
+ self.assertFalse(res, 'hardlink created',
+ undefined = True)
class DoSedCommandTest(BannedCommandTest):
""" Test whether dosed command is actually banned. """
@@ -48,6 +54,12 @@ class DoSedCommandTest(BannedCommandTest):
try:
BannedCommandTest.check_dbus_result(self, output, pm)
finally:
- # XXX: ambiguous in EAPI 4
- if output:
- self.assertEqual(output[0].strip(), 'SED WORKED', 'dosed result')
+ try:
+ res = output[0].strip()
+ except IndexError:
+ res = None
+ if self.eapi < 4:
+ self.assertEqual(res, 'SED WORKED', 'dosed result')
+ else:
+ self.assertNotEqual(res, 'SED WORKED', 'dosed result',
+ undefined = True)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-06 8:31 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-06 8:31 UTC (permalink / raw
To: gentoo-commits
commit: 7e79d0b83d41d924c5252e9f686fe437314a05f3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 6 08:13:14 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 6 08:13:14 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=7e79d0b8
dohard & dosed: fix with no D-Bus results.
---
pmstestsuite/library/standard/banned_commands.py | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/pmstestsuite/library/standard/banned_commands.py b/pmstestsuite/library/standard/banned_commands.py
index 456b055..b2a68b1 100644
--- a/pmstestsuite/library/standard/banned_commands.py
+++ b/pmstestsuite/library/standard/banned_commands.py
@@ -32,7 +32,8 @@ class DoHardCommandTest(BannedCommandTest):
BannedCommandTest.check_dbus_result(self, output, pm)
finally:
# XXX: ambiguous in EAPI 4
- self.assertTrue(output[0] == '0', 'hardlink created')
+ if output:
+ self.assertTrue(output[0] == '0', 'hardlink created')
class DoSedCommandTest(BannedCommandTest):
""" Test whether dosed command is actually banned. """
@@ -48,4 +49,5 @@ class DoSedCommandTest(BannedCommandTest):
BannedCommandTest.check_dbus_result(self, output, pm)
finally:
# XXX: ambiguous in EAPI 4
- self.assertEqual(output[0].strip(), 'SED WORKED', 'dosed result')
+ if output:
+ self.assertEqual(output[0].strip(), 'SED WORKED', 'dosed result')
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-06 8:31 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-06 8:31 UTC (permalink / raw
To: gentoo-commits
commit: ddaeea47f4a7f3b034ac2db998aedb0cfc3e82cf
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 6 08:02:03 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 6 08:03:31 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=ddaeea47
Add additional checks for dohard & dosed.
---
pmstestsuite/library/standard/banned_commands.py | 27 +++++++++++++++++----
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/pmstestsuite/library/standard/banned_commands.py b/pmstestsuite/library/standard/banned_commands.py
index 114089b..456b055 100644
--- a/pmstestsuite/library/standard/banned_commands.py
+++ b/pmstestsuite/library/standard/banned_commands.py
@@ -11,7 +11,7 @@ class BannedCommandTest(DBusEbuildTestCase):
DBusEbuildTestCase.__init__(self, *args, **kwargs)
self._path = '/tmp/pms-test-suite-%d' % id(self)
self.phase_funcs['src_install'].extend([
- 'touch foo || die',
+ '{ echo > foo; } || die',
'insinto %s' % self._path,
'doins foo || die'
])
@@ -22,13 +22,30 @@ class DoHardCommandTest(BannedCommandTest):
def __init__(self, *args, **kwargs):
BannedCommandTest.__init__(self, *args, **kwargs)
- self.phase_funcs['src_install'].append(
- 'dohard %s/foo %s/bar || die' % (self._path, self._path))
+ self.phase_funcs['src_install'].extend([
+ 'dohard %s/foo %s/bar || die' % (self._path, self._path),
+ '[[ "${D}"%s/foo -ef "${D}"%s/bar ]]' % (self._path, self._path),
+ 'pms-test-dbus_append_result ${?}'])
+
+ def check_dbus_result(self, output, pm):
+ try:
+ BannedCommandTest.check_dbus_result(self, output, pm)
+ finally:
+ # XXX: ambiguous in EAPI 4
+ self.assertTrue(output[0] == '0', 'hardlink created')
class DoSedCommandTest(BannedCommandTest):
""" Test whether dosed command is actually banned. """
def __init__(self, *args, **kwargs):
BannedCommandTest.__init__(self, *args, **kwargs)
- self.phase_funcs['src_install'].append(
- 'dosed -e "/11/d" %s/foo || die' % self._path)
+ self.phase_funcs['src_install'].extend([
+ "dosed -e '$i SED WORKED' %s/foo || die" % self._path,
+ 'pms-test-dbus_append_result "$(cat "${D}"%s/foo)"' % self._path])
+
+ def check_dbus_result(self, output, pm):
+ try:
+ BannedCommandTest.check_dbus_result(self, output, pm)
+ finally:
+ # XXX: ambiguous in EAPI 4
+ self.assertEqual(output[0].strip(), 'SED WORKED', 'dosed result')
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-05 21:36 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-05 21:36 UTC (permalink / raw
To: gentoo-commits
commit: a8a9475bf3e12343be0b97716f565b027928a69c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 5 21:35:01 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 5 21:35:01 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=a8a9475b
Fix clearing D-Bus output if exception is raised.
---
pmstestsuite/library/standard/dbus_case.py | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/pmstestsuite/library/standard/dbus_case.py b/pmstestsuite/library/standard/dbus_case.py
index 4c1ec0a..7d1b46f 100644
--- a/pmstestsuite/library/standard/dbus_case.py
+++ b/pmstestsuite/library/standard/dbus_case.py
@@ -108,10 +108,14 @@ class DBusBaseTestCase(object):
"""
pass
+ def _pop_dbus_output(self):
+ ret = self.dbus_output
+ self._dbusobj.reset()
+ return ret
+
def check_result(self, pm):
self.assertTrue(self.dbus_started, 'build started')
- self.check_dbus_result(self.dbus_output, pm)
- self._dbusobj.reset()
+ self.check_dbus_result(self._pop_dbus_output(), pm)
class DBusEbuildTestCase(DBusBaseTestCase, EbuildTestCase):
""" D-Bus capable base test case. """
@@ -149,8 +153,7 @@ class DBusEbuildDependencyTestCase(DBusBaseTestCase, EbuildDependencyTestCase):
def check_result(self, pm):
self.assertBool(not self.expect_failure, self.dbus_started,
'build started')
- self.check_dbus_result(self.dbus_output, pm)
- self._dbusobj.reset()
+ self.check_dbus_result(self._pop_dbus_output(), pm)
class DBusEclassDependencyTestCase(DBusBaseTestCase, EclassDependencyTestCase):
""" D-Bus capable eclass dependency test case. """
@@ -166,5 +169,4 @@ class DBusEclassDependencyTestCase(DBusBaseTestCase, EclassDependencyTestCase):
def check_result(self, pm):
self.assertBool(not self.expect_failure, self.dbus_started,
'build started')
- self.check_dbus_result(self.dbus_output, pm)
- self._dbusobj.reset()
+ self.check_dbus_result(self._pop_dbus_output(), pm)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-05 21:36 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-05 21:36 UTC (permalink / raw
To: gentoo-commits
commit: 6be1a5bbc8fd02c5078f7fb6fbf39a16fa9673cc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 5 21:15:17 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 5 21:15:17 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=6be1a5bb
Reset D-Bus results in all kinds of test cases.
---
pmstestsuite/library/standard/dbus_case.py | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/pmstestsuite/library/standard/dbus_case.py b/pmstestsuite/library/standard/dbus_case.py
index 9fcdb6e..4c1ec0a 100644
--- a/pmstestsuite/library/standard/dbus_case.py
+++ b/pmstestsuite/library/standard/dbus_case.py
@@ -150,6 +150,7 @@ class DBusEbuildDependencyTestCase(DBusBaseTestCase, EbuildDependencyTestCase):
self.assertBool(not self.expect_failure, self.dbus_started,
'build started')
self.check_dbus_result(self.dbus_output, pm)
+ self._dbusobj.reset()
class DBusEclassDependencyTestCase(DBusBaseTestCase, EclassDependencyTestCase):
""" D-Bus capable eclass dependency test case. """
@@ -166,3 +167,4 @@ class DBusEclassDependencyTestCase(DBusBaseTestCase, EclassDependencyTestCase):
self.assertBool(not self.expect_failure, self.dbus_started,
'build started')
self.check_dbus_result(self.dbus_output, pm)
+ self._dbusobj.reset()
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-05 21:36 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-05 21:36 UTC (permalink / raw
To: gentoo-commits
commit: 366de7bc9b40a9957117c09523063ad6bcf610e3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 5 20:49:01 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 5 20:49:01 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=366de7bc
Clear D-Bus result buffers when checking results.
---
pmstestsuite/library/standard/dbus_case.py | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/pmstestsuite/library/standard/dbus_case.py b/pmstestsuite/library/standard/dbus_case.py
index 97462fb..9fcdb6e 100644
--- a/pmstestsuite/library/standard/dbus_case.py
+++ b/pmstestsuite/library/standard/dbus_case.py
@@ -55,14 +55,20 @@ class RunningTest(dbus.service.Object):
Initialize the D-Bus object for test <test>.
"""
self.test = test
- self.test.dbus_output = []
- self.test.dbus_started = False
+ self.reset()
dbus.service.Object.__init__(
self,
dbus_handler.bus,
'%s/%s' % (dbus_object_prefix, test.p.replace('-', '_'))
)
+ def reset(self):
+ """
+ Reset test results.
+ """
+ self.test.dbus_output = []
+ self.test.dbus_started = False
+
@dbus.service.method(
dbus_interface=dbus_interface_name,
in_signature='', out_signature='')
@@ -105,6 +111,7 @@ class DBusBaseTestCase(object):
def check_result(self, pm):
self.assertTrue(self.dbus_started, 'build started')
self.check_dbus_result(self.dbus_output, pm)
+ self._dbusobj.reset()
class DBusEbuildTestCase(DBusBaseTestCase, EbuildTestCase):
""" D-Bus capable base test case. """
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-05 21:36 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-05 21:36 UTC (permalink / raw
To: gentoo-commits
commit: 485e9688089af9a8d26487354bc863ebb57f0a5b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 5 20:54:42 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 5 20:54:42 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=485e9688
Fix the IUSE inheritance test.
---
pmstestsuite/library/standard/eclass_metadata.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
index 1ebc05e..a2469f1 100644
--- a/pmstestsuite/library/standard/eclass_metadata.py
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -44,7 +44,7 @@ class IUseInheritanceTest(VariableInheritanceTest):
DBusEclassTestCase.check_dbus_result(self, output, pm)
spl = pm.installed[self.atom(pm)].use
- self.assertEqual(sorted(spl), sorted((self.var_eclass_value,
+ self.assertEqual(sorted([str(x) for x in spl]), sorted((self.var_eclass_value,
self.var_ebuild_value)), 'IUSE')
# XXX: REQUIRED_USE
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-05 10:04 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-05 10:04 UTC (permalink / raw
To: gentoo-commits
commit: 852ef01b0f089303bed6d8299880efce071a18c1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 5 09:31:18 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 5 09:31:18 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=852ef01b
Fix test list.
---
pmstestsuite/library/standard/__init__.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index c2a2fe0..58fe341 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -32,8 +32,8 @@ class StandardTestLibrary(TestLibrary):
'special_vars.DefinedPhasesTest',
'special_vars.InheritedVariableTest',
'special_vars.RDependFallbackTest',
- 'variable_scope.VariableScopeTest'
- 'workdir_fallback.WorkdirFallbackTest',
+ 'variable_scope.VariableScopeTest',
+ 'workdir_fallback.WorkdirFallbackTest'
]
def get_common_files(self):
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-05 8:54 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-05 8:54 UTC (permalink / raw
To: gentoo-commits
commit: 545afee6a4415b28fd348b3e101de7a0d860cc2a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 5 08:55:18 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 5 08:55:18 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=545afee6
Add tests for banned commands (dohard, dosed).
---
pmstestsuite/library/standard/__init__.py | 18 ++++++-----
pmstestsuite/library/standard/banned_commands.py | 34 ++++++++++++++++++++++
2 files changed, 44 insertions(+), 8 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index 23a66a6..c2a2fe0 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -13,25 +13,27 @@ class StandardTestLibrary(TestLibrary):
"""
test_names=[
- 'phase_function_order.PhaseFunctionOrderTest',
- 'doins_fail.DoInsFailureTest',
+ 'banned_commands.DoHardCommandTest',
+ 'banned_commands.DoSedCommandTest',
'depend.DependTest',
- 'depend.RDependTest',
- 'depend.PDependTest',
'depend.FailingDependTest',
'depend.FailingRDependTest',
+ 'depend.PDependTest',
+ 'depend.RDependTest',
'deprecated_vars.AATest',
'deprecated_vars.KVTest',
+ 'doins_fail.DoInsFailureTest',
'eclass_depend.DependInheritanceTest',
- 'eclass_depend.RDependInheritanceTest',
'eclass_depend.PDependInheritanceTest',
- 'eclass_metadata.IUseInheritanceTest',
+ 'eclass_depend.RDependInheritanceTest',
'eclass_metadata.EclassDefinedPhasesTest',
+ 'eclass_metadata.IUseInheritanceTest',
+ 'phase_function_order.PhaseFunctionOrderTest',
+ 'special_vars.DefinedPhasesTest',
'special_vars.InheritedVariableTest',
'special_vars.RDependFallbackTest',
- 'special_vars.DefinedPhasesTest',
- 'workdir_fallback.WorkdirFallbackTest',
'variable_scope.VariableScopeTest'
+ 'workdir_fallback.WorkdirFallbackTest',
]
def get_common_files(self):
diff --git a/pmstestsuite/library/standard/banned_commands.py b/pmstestsuite/library/standard/banned_commands.py
new file mode 100644
index 0000000..114089b
--- /dev/null
+++ b/pmstestsuite/library/standard/banned_commands.py
@@ -0,0 +1,34 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+
+class BannedCommandTest(DBusEbuildTestCase):
+ relevant_eapis = (3, 4)
+
+ def __init__(self, *args, **kwargs):
+ DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ self._path = '/tmp/pms-test-suite-%d' % id(self)
+ self.phase_funcs['src_install'].extend([
+ 'touch foo || die',
+ 'insinto %s' % self._path,
+ 'doins foo || die'
+ ])
+ self.expect_failure = (self.eapi == 4)
+
+class DoHardCommandTest(BannedCommandTest):
+ """ Test whether dohard command is actually banned. """
+
+ def __init__(self, *args, **kwargs):
+ BannedCommandTest.__init__(self, *args, **kwargs)
+ self.phase_funcs['src_install'].append(
+ 'dohard %s/foo %s/bar || die' % (self._path, self._path))
+
+class DoSedCommandTest(BannedCommandTest):
+ """ Test whether dosed command is actually banned. """
+
+ def __init__(self, *args, **kwargs):
+ BannedCommandTest.__init__(self, *args, **kwargs)
+ self.phase_funcs['src_install'].append(
+ 'dosed -e "/11/d" %s/foo || die' % self._path)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-03 20:17 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-03 20:17 UTC (permalink / raw
To: gentoo-commits
commit: 10a7eae3dede3ddb44240ec57729c0b8daec92f8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 3 19:08:35 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 3 19:08:35 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=10a7eae3
Migrate the variable scope test to use assertions.
...and regexps. And add a test for unsetting a global var.
---
pmstestsuite/library/standard/variable_scope.py | 66 +++++++++++++++--------
1 files changed, 44 insertions(+), 22 deletions(-)
diff --git a/pmstestsuite/library/standard/variable_scope.py b/pmstestsuite/library/standard/variable_scope.py
index 9815a2d..c907ca7 100644
--- a/pmstestsuite/library/standard/variable_scope.py
+++ b/pmstestsuite/library/standard/variable_scope.py
@@ -10,43 +10,65 @@ class VariableScopeTest(DBusEbuildTestCase):
""" A test for scoping of variables. """
ebuild_vars = {
- 'GLOBAL_TEST': 'foo'
+ 'GLOBAL_TEST': 'foo',
+ 'UNSET_GLOBAL': 'foo'
}
phase_funcs = {
+ 'src_unpack': [
+ 'unset LOCAL_TEST'
+ ],
'src_compile': [
'GLOBAL_TEST=bar',
+ 'unset UNSET_GLOBAL',
'DEFAULT_TEST=foo',
'export EXPORT_TEST=foo',
'local LOCAL_TEST=bar'
],
'src_install': [
'pms-test-dbus_append_result "$(declare -p %s)"' % var
- for var in ('GLOBAL_TEST', 'DEFAULT_TEST',
+ for var in ('GLOBAL_TEST', 'UNSET_GLOBAL', 'DEFAULT_TEST',
'EXPORT_TEST', 'LOCAL_TEST')
]
}
declare_re = re.compile(r'^declare -([-x]) ([A-Z_]+)="([a-z]+)"$')
def check_dbus_result(self, output, pm):
- myvars = ('GLOBAL_TEST', 'DEFAULT_TEST', 'EXPORT_TEST', 'LOCAL_TEST')
- res = []
- for i, l in enumerate(output):
- m = self.declare_re.match(l)
- if not m or m.group(2) != myvars[i]:
- return False
- res.append([m.group(x) for x in (1,3)])
-
- # GLOBAL can retain its value or be reset
- if res[0][1] not in ('foo', 'bar'):
- return False
- # DEFAULT and EXPORT should retain their values
- elif res[1][1] != 'foo' or res[2][1] != 'foo':
- return False
- # EXPORT shall be exported
- elif res[2][0] != 'x':
- return False
- # LOCAL shall be forgot
- elif len(res) > 3 and res[3][1] != '':
- return False
+ class RegExpMatcher(object):
+ """ A matcher using a regular expression. """
+
+ def __init__(self, regexp, name):
+ self._re = re.compile(regexp)
+ self._re_str = regexp
+ self._name = name
+
+ def __eq__(self, other):
+ return bool(self._re.match(other))
+
+ def __repr__(self):
+ return 're(%s)' % repr(self._re_str.strip('^$'))
+
+ @property
+ def name(self):
+ return self._name
+
+ matches = [
+ # GLOBAL can retain its value or be reset
+ RegExpMatcher(r'^declare -[-x] GLOBAL_TEST="(foo|bar)"$',
+ 'global variable'),
+ # UNSET_GLOBAL can remain unset or be reset
+ RegExpMatcher(r'^(|declare -[-x] GLOBAL_TEST="foo")$',
+ 'unset global variable'),
+ # DEFAULT must retain its value
+ RegExpMatcher(r'^declare -[-x] DEFAULT_TEST="foo"$',
+ 'simple variable'),
+ # EXPORT must retain its value and be exported
+ RegExpMatcher(r'^declare -x EXPORT_TEST="foo"$',
+ 'exported variable'),
+ # LOCAL must be forgotten
+ RegExpMatcher(r'^$', 'local variable')
+ ]
+
+ for var, regexp in zip(output, matches):
+ self.assertEqual(var, regexp, regexp.name)
return DBusEbuildTestCase.check_dbus_result(self, output, pm)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-03 20:17 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-03 20:17 UTC (permalink / raw
To: gentoo-commits
commit: a82bd3527ee5d3abf3a2aa451e859fd07ff1c8cb
Author: Michał Górny <gentoo <AT> mgorny <DOT> alt <DOT> pl>
AuthorDate: Wed Aug 3 19:10:53 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 3 19:10:53 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=a82bd352
Add __repr__() for DepMatcher.
---
pmstestsuite/library/standard/special_vars.py | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index 2502691..845d698 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -38,6 +38,9 @@ class RDependFallbackTest(DBusEbuildTestCase):
def __str__(self):
return 'virtual/libc'
+ def __repr__(self):
+ return repr(str(self))
+
rdep = pm.installed[self.atom(pm)].run_dependencies
mydep = DepMatcher()
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-03 17:10 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-03 17:10 UTC (permalink / raw
To: gentoo-commits
commit: b93fa6882f376148264d4936195a49133eac05e1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 3 17:10:38 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 3 17:10:38 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=b93fa688
Stringify DepMatcher nicely.
---
pmstestsuite/library/standard/special_vars.py | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index 476959e..2502691 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -33,7 +33,10 @@ class RDependFallbackTest(DBusEbuildTestCase):
class DepMatcher(object):
def __eq__(self, other):
- return other.key == 'virtual/libc'
+ return other.key == str(self)
+
+ def __str__(self):
+ return 'virtual/libc'
rdep = pm.installed[self.atom(pm)].run_dependencies
mydep = DepMatcher()
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-03 17:10 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-03 17:10 UTC (permalink / raw
To: gentoo-commits
commit: b69b11da02b541ca764a1291651b085f90bf430d
Author: Michał Górny <gentoo <AT> mgorny <DOT> alt <DOT> pl>
AuthorDate: Wed Aug 3 17:09:03 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 3 17:09:03 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=b69b11da
Pass D-Bus output as a list, instead of joining it.
This way, we can handle newlines in the output cleanly.
---
pmstestsuite/library/standard/dbus_case.py | 8 ++--
pmstestsuite/library/standard/deprecated_vars.py | 4 +-
.../library/standard/phase_function_order.py | 34 +++++---------------
pmstestsuite/library/standard/special_vars.py | 2 +-
pmstestsuite/library/standard/variable_scope.py | 2 +-
5 files changed, 16 insertions(+), 34 deletions(-)
diff --git a/pmstestsuite/library/standard/dbus_case.py b/pmstestsuite/library/standard/dbus_case.py
index eb88fa1..e0cd09c 100644
--- a/pmstestsuite/library/standard/dbus_case.py
+++ b/pmstestsuite/library/standard/dbus_case.py
@@ -75,7 +75,7 @@ class RunningTest(dbus.service.Object):
in_signature='s', out_signature='')
def append_output(self, l):
""" Append the line <l> to the test output. """
- self.test.dbus_output.append(l)
+ self.test.dbus_output.append(str(l))
class DBusBaseTestCase(object):
""" A base D-Bus test case class. """
@@ -104,7 +104,7 @@ class DBusBaseTestCase(object):
def check_result(self, pm):
self.assertTrue(self.dbus_started, 'build started')
- return self.check_dbus_result('\n'.join(self.dbus_output), pm)
+ return self.check_dbus_result(self.dbus_output, pm)
class DBusEbuildTestCase(DBusBaseTestCase, EbuildTestCase):
""" D-Bus capable base test case. """
@@ -142,7 +142,7 @@ class DBusEbuildDependencyTestCase(DBusBaseTestCase, EbuildDependencyTestCase):
def check_result(self, pm):
self.assertBool(not self.expect_failure, self.dbus_started,
'build started')
- return self.check_dbus_result('\n'.join(self.dbus_output), pm)
+ return self.check_dbus_result(self.dbus_output, pm)
class DBusEclassDependencyTestCase(DBusBaseTestCase, EclassDependencyTestCase):
""" D-Bus capable eclass dependency test case. """
@@ -158,4 +158,4 @@ class DBusEclassDependencyTestCase(DBusBaseTestCase, EclassDependencyTestCase):
def check_result(self, pm):
self.assertBool(not self.expect_failure, self.dbus_started,
'build started')
- return self.check_dbus_result('\n'.join(self.dbus_output), pm)
+ return self.check_dbus_result(self.dbus_output, pm)
diff --git a/pmstestsuite/library/standard/deprecated_vars.py b/pmstestsuite/library/standard/deprecated_vars.py
index 4b8b672..25fd487 100644
--- a/pmstestsuite/library/standard/deprecated_vars.py
+++ b/pmstestsuite/library/standard/deprecated_vars.py
@@ -33,7 +33,7 @@ class AATest(DBusFetchingEbuildTestCase):
expect = ''
DBusEbuildTestCase.check_dbus_result(self, output, pm)
- self.assertEqual(output, expect, '${AA}')
+ self.assertEqual(output[0], expect, '${AA}')
class KVTest(DBusEbuildTestCase):
""" Test whether KV is declared. """
@@ -49,4 +49,4 @@ class KVTest(DBusEbuildTestCase):
DBusEbuildTestCase.check_dbus_result(self, output, pm)
func = self.assertEqual if self.eapi == 4 \
else self.assertNotEqual
- func(output, '', '${KV}')
+ func(output[0], '', '${KV}')
diff --git a/pmstestsuite/library/standard/phase_function_order.py b/pmstestsuite/library/standard/phase_function_order.py
index 65209ce..9fe085c 100644
--- a/pmstestsuite/library/standard/phase_function_order.py
+++ b/pmstestsuite/library/standard/phase_function_order.py
@@ -15,32 +15,14 @@ class PhaseFunctionOrderTest(DBusEbuildTestCase):
lines.append('pms-test-dbus_append_result %s' % k)
def check_dbus_result(self, output, pm):
- if self.eapi < 2:
- expect = """pkg_setup
-src_unpack
-src_compile
-src_install
-pkg_preinst
-pkg_postinst"""
- elif self.eapi < 4:
- expect = """pkg_setup
-src_unpack
-src_prepare
-src_configure
-src_compile
-src_install
-pkg_preinst
-pkg_postinst"""
- else:
- expect = """pkg_pretend
-pkg_setup
-src_unpack
-src_prepare
-src_configure
-src_compile
-src_install
-pkg_preinst
-pkg_postinst"""
+ expect = []
+
+ if self.eapi >= 4:
+ expect.append('pkg_pretend')
+ expect.extend(['pkg_setup', 'src_unpack'])
+ if self.eapi >= 2:
+ expect.extend(['src_prepare', 'src_configure'])
+ expect.extend(['src_compile', 'src_install', 'pkg_preinst', 'pkg_postinst'])
DBusEbuildTestCase.check_dbus_result(self, output, pm)
self.assertEqual(output, expect, 'Executed phases')
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index 854a196..476959e 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -15,7 +15,7 @@ class InheritedVariableTest(DBusEbuildTestCase):
def check_dbus_result(self, output, pm):
DBusEbuildTestCase.check_dbus_result(self, output, pm)
- inherits = output.split()
+ inherits = output[0].split()
self.assertContains('pms-test-dbus', inherits,
'INHERITS')
diff --git a/pmstestsuite/library/standard/variable_scope.py b/pmstestsuite/library/standard/variable_scope.py
index 3bd7b94..9815a2d 100644
--- a/pmstestsuite/library/standard/variable_scope.py
+++ b/pmstestsuite/library/standard/variable_scope.py
@@ -30,7 +30,7 @@ class VariableScopeTest(DBusEbuildTestCase):
def check_dbus_result(self, output, pm):
myvars = ('GLOBAL_TEST', 'DEFAULT_TEST', 'EXPORT_TEST', 'LOCAL_TEST')
res = []
- for i, l in enumerate(output.splitlines()):
+ for i, l in enumerate(output):
m = self.declare_re.match(l)
if not m or m.group(2) != myvars[i]:
return False
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-03 17:10 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-03 17:10 UTC (permalink / raw
To: gentoo-commits
commit: dd2fa7259ef32b24afcc06d7408b380311e094ab
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 3 16:51:15 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 3 16:51:15 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=dd2fa725
Commonize some of D-Bus test cases code.
---
pmstestsuite/library/standard/dbus_case.py | 85 +++++++---------------------
1 files changed, 21 insertions(+), 64 deletions(-)
diff --git a/pmstestsuite/library/standard/dbus_case.py b/pmstestsuite/library/standard/dbus_case.py
index e69e4de..eb88fa1 100644
--- a/pmstestsuite/library/standard/dbus_case.py
+++ b/pmstestsuite/library/standard/dbus_case.py
@@ -77,14 +77,12 @@ class RunningTest(dbus.service.Object):
""" Append the line <l> to the test output. """
self.test.dbus_output.append(l)
-class DBusEbuildTestCase(EbuildTestCase):
- """ D-Bus capable base test case. """
+class DBusBaseTestCase(object):
+ """ A base D-Bus test case class. """
inherits = ['pms-test-dbus']
- def __init__(self, *args, **kwargs):
- """ Initialize the test case and the D-Bus object for it. """
- EbuildTestCase.__init__(self, *args, **kwargs)
+ def __init__(self):
self._dbusobj = RunningTest(self)
def _finalize(self):
@@ -102,68 +100,43 @@ class DBusEbuildTestCase(EbuildTestCase):
The default implementation simply checks whether the test was merged
alike EbuildTestCase.check_result().
"""
- return EbuildTestCase.check_result(self, pm)
+ pass
def check_result(self, pm):
self.assertTrue(self.dbus_started, 'build started')
return self.check_dbus_result('\n'.join(self.dbus_output), pm)
-class DBusEclassTestCase(EclassTestCase):
- """ D-Bus capable eclass test case. """
-
- inherits = ['pms-test-dbus']
+class DBusEbuildTestCase(DBusBaseTestCase, EbuildTestCase):
+ """ D-Bus capable base test case. """
def __init__(self, *args, **kwargs):
""" Initialize the test case and the D-Bus object for it. """
- EclassTestCase.__init__(self, *args, **kwargs)
- self._dbusobj = 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')
+ EbuildTestCase.__init__(self, *args, **kwargs)
+ DBusBaseTestCase.__init__(self)
def check_dbus_result(self, output, pm):
- """
- Check whether the <output> sent through D-Bus matches expected test
- output.
+ return EbuildTestCase.check_result(self, pm)
- Return True if it does, False otherwise.
+class DBusEclassTestCase(DBusBaseTestCase, EclassTestCase):
+ """ D-Bus capable eclass test case. """
- The default implementation simply checks whether the test was merged
- alike EbuildTestCase.check_result().
- """
- return EbuildTestCase.check_result(self, pm)
+ def __init__(self, *args, **kwargs):
+ """ Initialize the test case and the D-Bus object for it. """
+ EclassTestCase.__init__(self, *args, **kwargs)
+ DBusBaseTestCase.__init__(self)
- def check_result(self, pm):
- self.assertTrue(self.dbus_started, 'build started')
- return self.check_dbus_result('\n'.join(self.dbus_output), pm)
+ def check_dbus_result(self, output, pm):
+ return EclassTestCase.check_result(self, pm)
-class DBusEbuildDependencyTestCase(EbuildDependencyTestCase):
+class DBusEbuildDependencyTestCase(DBusBaseTestCase, EbuildDependencyTestCase):
""" D-Bus capable dependency test case. """
- inherits = ['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 = 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')
+ DBusBaseTestCase.__init__(self)
def check_dbus_result(self, output, pm):
- """
- Check whether the <output> 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):
@@ -171,31 +144,15 @@ class DBusEbuildDependencyTestCase(EbuildDependencyTestCase):
'build started')
return self.check_dbus_result('\n'.join(self.dbus_output), pm)
-class DBusEclassDependencyTestCase(EclassDependencyTestCase):
+class DBusEclassDependencyTestCase(DBusBaseTestCase, EclassDependencyTestCase):
""" D-Bus capable eclass dependency test case. """
- inherits = ['pms-test-dbus']
-
def __init__(self, *args, **kwargs):
""" Initialize the test case and the D-Bus object for it. """
EclassDependencyTestCase.__init__(self, *args, **kwargs)
- self._dbusobj = 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')
+ DBusBaseTestCase.__init__(self)
def check_dbus_result(self, output, pm):
- """
- Check whether the <output> 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 EclassDependencyTestCase.check_result().
- """
return EclassDependencyTestCase.check_result(self, pm)
def check_result(self, pm):
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-03 8:17 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-03 8:17 UTC (permalink / raw
To: gentoo-commits
commit: 6ae2cc8860a8e9f637c01a727fdeba582b878c78
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 3 08:09:38 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 3 08:09:38 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=6ae2cc88
Migrate most of the tests to use assertions.
---
pmstestsuite/library/standard/eclass_metadata.py | 13 +++----
.../library/standard/phase_function_order.py | 4 +-
pmstestsuite/library/standard/special_vars.py | 33 ++++++++++---------
3 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
index 4e5ed15..1ebc05e 100644
--- a/pmstestsuite/library/standard/eclass_metadata.py
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -41,12 +41,11 @@ class IUseInheritanceTest(VariableInheritanceTest):
def check_dbus_result(self, output, pm):
# ensure it got installed first
- if not DBusEclassTestCase.check_dbus_result(self, output, pm):
- return False
+ DBusEclassTestCase.check_dbus_result(self, output, pm)
spl = pm.installed[self.atom(pm)].use
- return self.var_eclass_value in spl \
- and self.var_ebuild_value in spl
+ self.assertEqual(sorted(spl), sorted((self.var_eclass_value,
+ self.var_ebuild_value)), 'IUSE')
# XXX: REQUIRED_USE
@@ -71,8 +70,8 @@ EXPORT_FUNCTIONS src_compile
''' % self.pn
def check_dbus_result(self, output, pm):
- if not DBusEclassTestCase.check_dbus_result(self, output, pm):
- return False
+ DBusEclassTestCase.check_dbus_result(self, output, pm)
phases = pm.installed[self.atom(pm)].defined_phases
- return (sorted(phases) == ['compile', 'setup'])
+ self.assertEqual(sorted(phases), ['compile', 'setup'],
+ 'DEFINED_PHASES')
diff --git a/pmstestsuite/library/standard/phase_function_order.py b/pmstestsuite/library/standard/phase_function_order.py
index ce7f03f..65209ce 100644
--- a/pmstestsuite/library/standard/phase_function_order.py
+++ b/pmstestsuite/library/standard/phase_function_order.py
@@ -42,5 +42,5 @@ src_install
pkg_preinst
pkg_postinst"""
- return (output == expect) \
- and DBusEbuildTestCase.check_dbus_result(self, output, pm)
+ DBusEbuildTestCase.check_dbus_result(self, output, pm)
+ self.assertEqual(output, expect, 'Executed phases')
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index eab61dc..854a196 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -14,9 +14,10 @@ class InheritedVariableTest(DBusEbuildTestCase):
}
def check_dbus_result(self, output, pm):
+ DBusEbuildTestCase.check_dbus_result(self, output, pm)
inherits = output.split()
- return 'pms-test-dbus' in inherits \
- and DBusEbuildTestCase.check_dbus_result(self, output, pm)
+ self.assertContains('pms-test-dbus', inherits,
+ 'INHERITS')
class RDependFallbackTest(DBusEbuildTestCase):
""" Test whether RDEPEND=${DEPEND} fallback works as expected. """
@@ -28,20 +29,21 @@ class RDependFallbackTest(DBusEbuildTestCase):
}
def check_dbus_result(self, output, pm):
- # in EAPI 4, expect empty RDEPEND
- # in older EAPIs, expect DEPEND
-
- if not DBusEbuildTestCase.check_dbus_result(self, output, pm):
- return False
+ DBusEbuildTestCase.check_dbus_result(self, output, pm)
- def _has_our_pkg(deps):
- for d in deps:
- if d.key == 'virtual/libc':
- return True
- return False
+ class DepMatcher(object):
+ def __eq__(self, other):
+ return other.key == 'virtual/libc'
rdep = pm.installed[self.atom(pm)].run_dependencies
- return ((self.eapi == 4) != _has_our_pkg(rdep))
+ mydep = DepMatcher()
+
+ # in EAPI 4, expect empty RDEPEND
+ # in older EAPIs, expect == DEPEND
+ if self.eapi == 4:
+ self.assertEqual(tuple(rdep), (), 'RDEPEND')
+ else:
+ self.assertContains(mydep, rdep, 'RDEPEND')
class DefinedPhasesTest(DBusEbuildTestCase):
""" Test whether DEFINED_PHASES are declared in EAPI 4. """
@@ -54,8 +56,7 @@ class DefinedPhasesTest(DBusEbuildTestCase):
}
def check_dbus_result(self, output, pm):
- if not DBusEbuildTestCase.check_dbus_result(self, output, pm):
- return False
+ DBusEbuildTestCase.check_dbus_result(self, output, pm)
phases = pm.installed[self.atom(pm)].defined_phases
- return (str(phases) == 'setup')
+ self.assertEqual(tuple(phases), ('setup',), 'DEFINED_PHASES')
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-02 18:53 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-02 18:53 UTC (permalink / raw
To: gentoo-commits
commit: 3d662ee7757f26772bf0a343e56a77398893da06
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 2 18:13:00 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 2 18:13:00 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=3d662ee7
Fix AA test, use .assert*Equal() in KV/AA tests.
---
pmstestsuite/library/standard/deprecated_vars.py | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/pmstestsuite/library/standard/deprecated_vars.py b/pmstestsuite/library/standard/deprecated_vars.py
index fce66f9..4b8b672 100644
--- a/pmstestsuite/library/standard/deprecated_vars.py
+++ b/pmstestsuite/library/standard/deprecated_vars.py
@@ -2,6 +2,8 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
+import os.path
+
from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
from pmstestsuite.library.standard.ext_cases import DBusFetchingEbuildTestCase
@@ -20,18 +22,19 @@ class AATest(DBusFetchingEbuildTestCase):
def __init__(self, *args, **kwargs):
DBusFetchingEbuildTestCase.__init__(self, *args, **kwargs)
+ self._expect_fn = os.path.split(self.ebuild_vars['SRC_URI'])[1]
self.ebuild_vars['SRC_URI'] = 'pms_tests_magical_hidden_use? ( %s )' \
% self.ebuild_vars['SRC_URI']
def check_dbus_result(self, output, pm):
if self.eapi < 4:
- expect = 'pms-test-suite-dummy.html'
+ expect = self._expect_fn
else:
expect = ''
- return output == expect \
- and DBusEbuildTestCase.check_dbus_result(self, output, pm)
-
+ DBusEbuildTestCase.check_dbus_result(self, output, pm)
+ self.assertEqual(output, expect, '${AA}')
+
class KVTest(DBusEbuildTestCase):
""" Test whether KV is declared. """
@@ -43,5 +46,7 @@ class KVTest(DBusEbuildTestCase):
}
def check_dbus_result(self, output, pm):
- return bool(output) ^ (self.eapi == 4) \
- and DBusEbuildTestCase.check_dbus_result(self, output, pm)
+ DBusEbuildTestCase.check_dbus_result(self, output, pm)
+ func = self.assertEqual if self.eapi == 4 \
+ else self.assertNotEqual
+ func(output, '', '${KV}')
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-08-02 18:53 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-08-02 18:53 UTC (permalink / raw
To: gentoo-commits
commit: 6ef3d4407418f753df33286b1de4ee3f3509825f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 2 18:12:42 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 2 18:12:42 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=6ef3d440
Remove outdated comment on SRC_URI arrows in fetching test case.
---
pmstestsuite/library/standard/ext_cases.py | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/pmstestsuite/library/standard/ext_cases.py b/pmstestsuite/library/standard/ext_cases.py
index 837a608..b3add29 100644
--- a/pmstestsuite/library/standard/ext_cases.py
+++ b/pmstestsuite/library/standard/ext_cases.py
@@ -12,7 +12,6 @@ class DBusFetchingEbuildTestCase(DBusEbuildTestCase):
def __init__(self, *args, **kwargs):
DBusEbuildTestCase.__init__(self, *args, **kwargs)
- # XXX: switch to a dedicated file without the arrow
val = 'http://dev.gentoo.org/~mgorny/pmsts-temp.bin'
if 'SRC_URI' in self.ebuild_vars:
val = '%s %s' % (self.ebuild_vars['SRC_URI'], val)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-07-28 17:15 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-07-28 17:15 UTC (permalink / raw
To: gentoo-commits
commit: 2e1edecab867693deb82662d025dd491a89b9dbd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 28 17:16:09 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 28 17:16:09 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=2e1edeca
Switch fetching ebuild tests to a sane URI.
---
pmstestsuite/library/standard/ext_cases.py | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/pmstestsuite/library/standard/ext_cases.py b/pmstestsuite/library/standard/ext_cases.py
index fef45a1..837a608 100644
--- a/pmstestsuite/library/standard/ext_cases.py
+++ b/pmstestsuite/library/standard/ext_cases.py
@@ -10,13 +10,10 @@ class DBusFetchingEbuildTestCase(DBusEbuildTestCase):
sources -- to decrease ${DISTDIR} pollution.
"""
- # temporary, due to SRC_URI arrow
- supported_eapis = (2, 3, 4)
-
def __init__(self, *args, **kwargs):
DBusEbuildTestCase.__init__(self, *args, **kwargs)
# XXX: switch to a dedicated file without the arrow
- val = 'http://www.gentoo.org/ -> pms-test-suite-dummy.html'
+ val = 'http://dev.gentoo.org/~mgorny/pmsts-temp.bin'
if 'SRC_URI' in self.ebuild_vars:
val = '%s %s' % (self.ebuild_vars['SRC_URI'], val)
self.ebuild_vars['SRC_URI'] = val
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-07-27 16:50 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-07-27 16:50 UTC (permalink / raw
To: gentoo-commits
commit: d4373bbc1dd9a8bb9fd4c0af13ef9c44ec39ceb4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 27 16:38:57 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 27 16:38:57 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=d4373bbc
Switch from pkg.metadata[] to pkg.defined_phases.
---
pmstestsuite/library/standard/special_vars.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index 8c35f08..eab61dc 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -57,5 +57,5 @@ class DefinedPhasesTest(DBusEbuildTestCase):
if not DBusEbuildTestCase.check_dbus_result(self, output, pm):
return False
- phases = pm.installed[self.atom(pm)].metadata.DEFINED_PHASES.split()
- return (' '.join(phases) == 'setup')
+ phases = pm.installed[self.atom(pm)].defined_phases
+ return (str(phases) == 'setup')
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-07-27 16:50 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-07-27 16:50 UTC (permalink / raw
To: gentoo-commits
commit: c504e86151851db2d577839831a876e2bccf6d78
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 27 16:51:12 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 27 16:51:32 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=c504e861
Add a test for DEFINED_PHASES due to eclass inherit.
---
pmstestsuite/library/standard/__init__.py | 1 +
pmstestsuite/library/standard/eclass_metadata.py | 27 ++++++++++++++++++++++
2 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index e90726c..23a66a6 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -26,6 +26,7 @@ class StandardTestLibrary(TestLibrary):
'eclass_depend.RDependInheritanceTest',
'eclass_depend.PDependInheritanceTest',
'eclass_metadata.IUseInheritanceTest',
+ 'eclass_metadata.EclassDefinedPhasesTest',
'special_vars.InheritedVariableTest',
'special_vars.RDependFallbackTest',
'special_vars.DefinedPhasesTest',
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
index ea15a38..4e5ed15 100644
--- a/pmstestsuite/library/standard/eclass_metadata.py
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -49,3 +49,30 @@ class IUseInheritanceTest(VariableInheritanceTest):
and self.var_ebuild_value in spl
# XXX: REQUIRED_USE
+
+class EclassDefinedPhasesTest(DBusEclassTestCase):
+ """ Check whether eclasses set DEFINED_PHASES as well. """
+
+ supported_eapis = (4,)
+ phase_funcs = {
+ 'pkg_setup': [
+ ':'
+ ]
+ }
+
+ @property
+ def eclass_contents(self):
+ return '''
+EXPORT_FUNCTIONS src_compile
+
+%s_src_compile() {
+ :
+}
+''' % self.pn
+
+ def check_dbus_result(self, output, pm):
+ if not DBusEclassTestCase.check_dbus_result(self, output, pm):
+ return False
+
+ phases = pm.installed[self.atom(pm)].defined_phases
+ return (sorted(phases) == ['compile', 'setup'])
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-07-27 16:50 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-07-27 16:50 UTC (permalink / raw
To: gentoo-commits
commit: 46a0aa9e74e537fe6a83adf477392e373439f55f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 27 16:39:24 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 27 16:39:24 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=46a0aa9e
Switch from pkg.metadata[] to pkg.use.
---
pmstestsuite/library/standard/eclass_metadata.py | 17 ++++++++---------
1 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
index 4ab4df1..ea15a38 100644
--- a/pmstestsuite/library/standard/eclass_metadata.py
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -32,21 +32,20 @@ class VariableInheritanceTest(DBusEclassTestCase):
DBusEclassTestCase.__init__(self, *args, **kwargs)
self.ebuild_vars[self.var_name] = self.var_ebuild_value
+class IUseInheritanceTest(VariableInheritanceTest):
+ """ IUSE variable inheritance test. """
+
+ var_name = 'IUSE'
+ var_eclass_value = 'foo'
+ var_ebuild_value = 'bar'
+
def check_dbus_result(self, output, pm):
# ensure it got installed first
if not DBusEclassTestCase.check_dbus_result(self, output, pm):
return False
- meta = pm.installed[self.atom(pm)].metadata
- spl = meta[self.var_name].split()
+ spl = pm.installed[self.atom(pm)].use
return self.var_eclass_value in spl \
and self.var_ebuild_value in spl
-class IUseInheritanceTest(VariableInheritanceTest):
- """ IUSE variable inheritance test. """
-
- var_name = 'IUSE'
- var_eclass_value = 'foo'
- var_ebuild_value = 'bar'
-
# XXX: REQUIRED_USE
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-07-26 17:34 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-07-26 17:34 UTC (permalink / raw
To: gentoo-commits
commit: f5871a66f660b2bad4cee94c80db2e65f83d7091
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 26 17:34:20 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 26 17:34:20 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=f5871a66
Use new gentoopm API to check RDEPEND=${DEPEND} fallback.
---
pmstestsuite/library/standard/special_vars.py | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index 3b3afba..8c35f08 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -34,8 +34,14 @@ class RDependFallbackTest(DBusEbuildTestCase):
if not DBusEbuildTestCase.check_dbus_result(self, output, pm):
return False
- meta = pm.installed[self.atom(pm)].metadata
- return ((self.eapi == 4) != ('virtual/libc' in meta.RDEPEND.split()))
+ def _has_our_pkg(deps):
+ for d in deps:
+ if d.key == 'virtual/libc':
+ return True
+ return False
+
+ rdep = pm.installed[self.atom(pm)].run_dependencies
+ return ((self.eapi == 4) != _has_our_pkg(rdep))
class DefinedPhasesTest(DBusEbuildTestCase):
""" Test whether DEFINED_PHASES are declared in EAPI 4. """
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-07-24 14:37 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-07-24 14:37 UTC (permalink / raw
To: gentoo-commits
commit: 0b2bb643556bdfaf5085b87f3b78dbea6bcdc43e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 24 14:15:55 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 24 14:38:22 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=0b2bb643
'D-Bus wrap' eclass dependency test case.
---
pmstestsuite/library/standard/dbus_case.py | 34 +++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/pmstestsuite/library/standard/dbus_case.py b/pmstestsuite/library/standard/dbus_case.py
index d8fb068..8bc1c99 100644
--- a/pmstestsuite/library/standard/dbus_case.py
+++ b/pmstestsuite/library/standard/dbus_case.py
@@ -5,7 +5,8 @@
import dbus.service
from pmstestsuite.library.case import EbuildTestCase
-from pmstestsuite.library.depend_case import EbuildDependencyTestCase
+from pmstestsuite.library.depend_case import EbuildDependencyTestCase, \
+ EclassDependencyTestCase
from pmstestsuite.library.eclass_case import EclassTestCase
from pmstestsuite.dbus_handler import DBusHandler, dbus_interface_name, dbus_object_prefix
@@ -168,3 +169,34 @@ class DBusEbuildDependencyTestCase(EbuildDependencyTestCase):
def check_result(self, pm):
return self.dbus_started != self.expect_failure \
and self.check_dbus_result('\n'.join(self.dbus_output), pm)
+
+class DBusEclassDependencyTestCase(EclassDependencyTestCase):
+ """ D-Bus capable eclass dependency test case. """
+
+ inherits = ['pms-test-dbus']
+
+ def __init__(self, *args, **kwargs):
+ """ Initialize the test case and the D-Bus object for it. """
+ EclassDependencyTestCase.__init__(self, *args, **kwargs)
+ self._dbusobj = 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 <output> 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 EclassDependencyTestCase.check_result().
+ """
+ return EclassDependencyTestCase.check_result(self, pm)
+
+ def check_result(self, pm):
+ return self.dbus_started != self.expect_failure \
+ and self.check_dbus_result('\n'.join(self.dbus_output), pm)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-07-24 14:37 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-07-24 14:37 UTC (permalink / raw
To: gentoo-commits
commit: bb9e1994f1fc44007a8954c68bf1d2f32f8f6be7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 24 14:37:41 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 24 14:38:22 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=bb9e1994
Transform eclass *DEPEND test into EclassDependencyTestCases.
This way, they don't rely on metadata access anymore.
---
pmstestsuite/library/standard/__init__.py | 6 ++--
pmstestsuite/library/standard/eclass_depend.py | 41 ++++++++++++++++++++++
pmstestsuite/library/standard/eclass_metadata.py | 16 --------
3 files changed, 44 insertions(+), 19 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index 1e13811..e90726c 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -22,10 +22,10 @@ class StandardTestLibrary(TestLibrary):
'depend.FailingRDependTest',
'deprecated_vars.AATest',
'deprecated_vars.KVTest',
+ 'eclass_depend.DependInheritanceTest',
+ 'eclass_depend.RDependInheritanceTest',
+ 'eclass_depend.PDependInheritanceTest',
'eclass_metadata.IUseInheritanceTest',
- 'eclass_metadata.DependInheritanceTest',
- 'eclass_metadata.RDependInheritanceTest',
- 'eclass_metadata.PDependInheritanceTest',
'special_vars.InheritedVariableTest',
'special_vars.RDependFallbackTest',
'special_vars.DefinedPhasesTest',
diff --git a/pmstestsuite/library/standard/eclass_depend.py b/pmstestsuite/library/standard/eclass_depend.py
new file mode 100644
index 0000000..5a43402
--- /dev/null
+++ b/pmstestsuite/library/standard/eclass_depend.py
@@ -0,0 +1,41 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from pmstestsuite.library.standard.dbus_case import DBusEclassDependencyTestCase
+from pmstestsuite.library.standard.util import EbuildToucher
+
+class DependInheritanceTest(DBusEclassDependencyTestCase):
+ """ DEPEND variable inheritance test. """
+
+ depend_classes = [EbuildToucher]
+ eclass_depend_classes = [EbuildToucher]
+ eclass_contents = ''
+
+ def __init__(self, *args, **kwargs):
+ DBusEclassDependencyTestCase.__init__(self, *args, **kwargs)
+ self.phase_funcs['src_compile'].extend((
+ 'pms-test-suite-%s || die' % self.dependant_ebuilds[0].pv,
+ 'pms-test-suite-%s || die' % self.dependant_ebuilds[1].pv
+ ))
+
+class RDependInheritanceTest(DBusEclassDependencyTestCase):
+ """ RDEPEND variable inheritance test. """
+
+ rdepend_classes = [EbuildToucher]
+ eclass_rdepend_classes = [EbuildToucher]
+ eclass_contents = ''
+
+ def __init__(self, *args, **kwargs):
+ DBusEclassDependencyTestCase.__init__(self, *args, **kwargs)
+ self.phase_funcs['pkg_postinst'].extend((
+ 'pms-test-suite-%s || die' % self.dependant_ebuilds[0].pv,
+ 'pms-test-suite-%s || die' % self.dependant_ebuilds[1].pv
+ ))
+
+class PDependInheritanceTest(DBusEclassDependencyTestCase):
+ """ PDEPEND variable inheritance test. """
+
+ pdepend_classes = [EbuildToucher]
+ eclass_pdepend_classes = [EbuildToucher]
+ eclass_contents = ''
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
index 18e9f64..4ab4df1 100644
--- a/pmstestsuite/library/standard/eclass_metadata.py
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -49,20 +49,4 @@ class IUseInheritanceTest(VariableInheritanceTest):
var_eclass_value = 'foo'
var_ebuild_value = 'bar'
-class DependInheritanceTest(VariableInheritanceTest):
- """ DEPEND variable inheritance test. """
-
- var_name = 'DEPEND'
- # XXX
- var_eclass_value = 'sys-apps/coreutils'
- var_ebuild_value = 'sys-libs/zlib'
-
-class RDependInheritanceTest(DependInheritanceTest):
- """ RDEPEND variable inheritance test. """
- var_name = 'RDEPEND'
-
-class PDependInheritanceTest(DependInheritanceTest):
- """ PDEPEND variable inheritance test. """
- var_name = 'PDEPEND'
-
# XXX: REQUIRED_USE
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-07-18 6:32 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-07-18 6:32 UTC (permalink / raw
To: gentoo-commits
commit: b3c40c38de700267a5b8fcd26ef7952b6eb5828c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 18 06:32:44 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 18 06:33:07 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=b3c40c38
Check if an ebuild was installed before getting its metadata.
---
pmstestsuite/library/standard/special_vars.py | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index c74c16d..3b3afba 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -31,9 +31,11 @@ class RDependFallbackTest(DBusEbuildTestCase):
# in EAPI 4, expect empty RDEPEND
# in older EAPIs, expect DEPEND
+ if not DBusEbuildTestCase.check_dbus_result(self, output, pm):
+ return False
+
meta = pm.installed[self.atom(pm)].metadata
- return ((self.eapi == 4) != ('virtual/libc' in meta.RDEPEND.split())) \
- and DBusEbuildTestCase.check_dbus_result(self, output, pm)
+ return ((self.eapi == 4) != ('virtual/libc' in meta.RDEPEND.split()))
class DefinedPhasesTest(DBusEbuildTestCase):
""" Test whether DEFINED_PHASES are declared in EAPI 4. """
@@ -46,6 +48,8 @@ class DefinedPhasesTest(DBusEbuildTestCase):
}
def check_dbus_result(self, output, pm):
+ if not DBusEbuildTestCase.check_dbus_result(self, output, pm):
+ return False
+
phases = pm.installed[self.atom(pm)].metadata.DEFINED_PHASES.split()
- return (' '.join(phases) == 'setup') \
- and DBusEbuildTestCase.check_dbus_result(self, output, pm)
+ return (' '.join(phases) == 'setup')
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-07-18 6:32 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-07-18 6:32 UTC (permalink / raw
To: gentoo-commits
commit: 2fc16a1b6dca119ce24f4c7b3194aebb754c64c1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 18 06:26:31 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 18 06:26:31 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=2fc16a1b
Add tests for eclass metadata inheritance.
---
pmstestsuite/library/standard/__init__.py | 4 +
pmstestsuite/library/standard/eclass_metadata.py | 68 ++++++++++++++++++++++
2 files changed, 72 insertions(+), 0 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index 79f4082..1e13811 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -22,6 +22,10 @@ class StandardTestLibrary(TestLibrary):
'depend.FailingRDependTest',
'deprecated_vars.AATest',
'deprecated_vars.KVTest',
+ 'eclass_metadata.IUseInheritanceTest',
+ 'eclass_metadata.DependInheritanceTest',
+ 'eclass_metadata.RDependInheritanceTest',
+ 'eclass_metadata.PDependInheritanceTest',
'special_vars.InheritedVariableTest',
'special_vars.RDependFallbackTest',
'special_vars.DefinedPhasesTest',
diff --git a/pmstestsuite/library/standard/eclass_metadata.py b/pmstestsuite/library/standard/eclass_metadata.py
new file mode 100644
index 0000000..18e9f64
--- /dev/null
+++ b/pmstestsuite/library/standard/eclass_metadata.py
@@ -0,0 +1,68 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from abc import abstractproperty
+
+from pmstestsuite.library.standard.dbus_case import DBusEclassTestCase
+
+class VariableInheritanceTest(DBusEclassTestCase):
+ """ Eclass variable inheritance test. """
+
+ @abstractproperty
+ def var_name(self):
+ """ Variable name to test. """
+ pass
+
+ @abstractproperty
+ def var_eclass_value(self):
+ """ Inherited value to test. """
+ pass
+
+ @abstractproperty
+ def var_ebuild_value(self):
+ """ Ebuild variable value to test. """
+ pass
+
+ @property
+ def eclass_contents(self):
+ return '%s=%s\n' % (self.var_name, repr(self.var_eclass_value))
+
+ def __init__(self, *args, **kwargs):
+ DBusEclassTestCase.__init__(self, *args, **kwargs)
+ self.ebuild_vars[self.var_name] = self.var_ebuild_value
+
+ def check_dbus_result(self, output, pm):
+ # ensure it got installed first
+ if not DBusEclassTestCase.check_dbus_result(self, output, pm):
+ return False
+
+ meta = pm.installed[self.atom(pm)].metadata
+ spl = meta[self.var_name].split()
+ return self.var_eclass_value in spl \
+ and self.var_ebuild_value in spl
+
+class IUseInheritanceTest(VariableInheritanceTest):
+ """ IUSE variable inheritance test. """
+
+ var_name = 'IUSE'
+ var_eclass_value = 'foo'
+ var_ebuild_value = 'bar'
+
+class DependInheritanceTest(VariableInheritanceTest):
+ """ DEPEND variable inheritance test. """
+
+ var_name = 'DEPEND'
+ # XXX
+ var_eclass_value = 'sys-apps/coreutils'
+ var_ebuild_value = 'sys-libs/zlib'
+
+class RDependInheritanceTest(DependInheritanceTest):
+ """ RDEPEND variable inheritance test. """
+ var_name = 'RDEPEND'
+
+class PDependInheritanceTest(DependInheritanceTest):
+ """ PDEPEND variable inheritance test. """
+ var_name = 'PDEPEND'
+
+# XXX: REQUIRED_USE
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-06-29 17:52 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-29 17:52 UTC (permalink / raw
To: gentoo-commits
commit: 7fe6d28494f540339031150179d4906cf927d1ee
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 29 17:13:05 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 29 17:32:35 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=7fe6d284
Adjust the tests relevant_/supported_eapis.
---
pmstestsuite/library/standard/depend.py | 5 -----
pmstestsuite/library/standard/ext_cases.py | 3 +++
pmstestsuite/library/standard/special_vars.py | 6 ++----
pmstestsuite/library/standard/variable_scope.py | 1 -
pmstestsuite/library/standard/workdir_fallback.py | 2 +-
5 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/pmstestsuite/library/standard/depend.py b/pmstestsuite/library/standard/depend.py
index 3a2bea9..2a3049f 100644
--- a/pmstestsuite/library/standard/depend.py
+++ b/pmstestsuite/library/standard/depend.py
@@ -8,7 +8,6 @@ from pmstestsuite.library.standard.util import EbuildToucher, FailingEbuild
class DependTest(DBusEbuildDependencyTestCase):
""" DEPEND fulfilling test. """
- relevant_eapis = (0,)
depend_classes = [EbuildToucher]
def __init__(self, *args, **kwargs):
@@ -20,7 +19,6 @@ class DependTest(DBusEbuildDependencyTestCase):
class RDependTest(DBusEbuildDependencyTestCase):
""" RDEPEND fulfilling test. """
- relevant_eapis = (0,)
rdepend_classes = [EbuildToucher]
def __init__(self, *args, **kwargs):
@@ -32,19 +30,16 @@ class RDependTest(DBusEbuildDependencyTestCase):
class PDependTest(DBusEbuildDependencyTestCase):
""" PDEPEND fulfilling test. """
- relevant_eapis = (0,)
pdepend_classes = [EbuildToucher]
class FailingDependTest(DBusEbuildDependencyTestCase):
""" Unfulfilled DEPEND test. """
- relevant_eapis = (0,)
depend_classes = [FailingEbuild]
expect_failure = True
class FailingRDependTest(DBusEbuildDependencyTestCase):
""" Unfulfilled RDEPEND test. """
- relevant_eapis = (0,)
depend_classes = [FailingEbuild]
expect_failure = True
diff --git a/pmstestsuite/library/standard/ext_cases.py b/pmstestsuite/library/standard/ext_cases.py
index d1d5eb6..fef45a1 100644
--- a/pmstestsuite/library/standard/ext_cases.py
+++ b/pmstestsuite/library/standard/ext_cases.py
@@ -10,6 +10,9 @@ class DBusFetchingEbuildTestCase(DBusEbuildTestCase):
sources -- to decrease ${DISTDIR} pollution.
"""
+ # temporary, due to SRC_URI arrow
+ supported_eapis = (2, 3, 4)
+
def __init__(self, *args, **kwargs):
DBusEbuildTestCase.__init__(self, *args, **kwargs)
# XXX: switch to a dedicated file without the arrow
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index 2a38897..0279b83 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -7,8 +7,6 @@ from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
class InheritedVariableTest(DBusEbuildTestCase):
""" INHERITED variable definition test. """
- relevant_eapis = (0,)
-
phase_funcs = {
'src_compile': [
'pms-test-dbus_append_result "${INHERITED}"'
@@ -23,7 +21,7 @@ class InheritedVariableTest(DBusEbuildTestCase):
class RDependFallbackTest(DBusEbuildTestCase):
""" Test whether RDEPEND=${DEPEND} fallback works as expected. """
- relevant_eapis = (0, 3, 4)
+ relevant_eapis = (3, 4)
ebuild_vars = {
# that one shall be pretty portable
'DEPEND': 'virtual/libc'
@@ -39,7 +37,7 @@ class RDependFallbackTest(DBusEbuildTestCase):
class DefinedPhasesTest(DBusEbuildTestCase):
""" Test whether DEFINED_PHASES are declared in EAPI 4. """
- relevant_eapis = (4,)
+ supported_eapis = (4,)
phase_funcs = {
'pkg_setup': [
':'
diff --git a/pmstestsuite/library/standard/variable_scope.py b/pmstestsuite/library/standard/variable_scope.py
index bd78554..3bd7b94 100644
--- a/pmstestsuite/library/standard/variable_scope.py
+++ b/pmstestsuite/library/standard/variable_scope.py
@@ -9,7 +9,6 @@ from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
class VariableScopeTest(DBusEbuildTestCase):
""" A test for scoping of variables. """
- relevant_eapis = (0,)
ebuild_vars = {
'GLOBAL_TEST': 'foo'
}
diff --git a/pmstestsuite/library/standard/workdir_fallback.py b/pmstestsuite/library/standard/workdir_fallback.py
index 96cd2e8..d1fdd18 100644
--- a/pmstestsuite/library/standard/workdir_fallback.py
+++ b/pmstestsuite/library/standard/workdir_fallback.py
@@ -7,7 +7,7 @@ from pmstestsuite.library.standard.ext_cases import DBusFetchingEbuildTestCase
class WorkdirFallbackTest(DBusFetchingEbuildTestCase):
""" S=${WORKDIR} fallback test. """
- relevant_eapis = (2, 4)
+ relevant_eapis = (3, 4)
# In order to disallow S=${WORKDIR} fallback, we need to:
# 1) have something in ${A} (i.e. fetch something),
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-06-29 12:58 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-29 12:58 UTC (permalink / raw
To: gentoo-commits
commit: 6f30312d03eed2ac0317bbf0afab11b9f6d9313d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 29 12:25:54 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 29 12:25:54 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=6f30312d
Add a common DBusFetchingEbuildTestCase.
---
pmstestsuite/library/standard/deprecated_vars.py | 12 ++++++++----
pmstestsuite/library/standard/ext_cases.py | 19 +++++++++++++++++++
pmstestsuite/library/standard/workdir_fallback.py | 7 +++----
3 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/pmstestsuite/library/standard/deprecated_vars.py b/pmstestsuite/library/standard/deprecated_vars.py
index c4c72a3..fce66f9 100644
--- a/pmstestsuite/library/standard/deprecated_vars.py
+++ b/pmstestsuite/library/standard/deprecated_vars.py
@@ -3,15 +3,14 @@
# Released under the terms of the 2-clause BSD license.
from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+from pmstestsuite.library.standard.ext_cases import DBusFetchingEbuildTestCase
-class AATest(DBusEbuildTestCase):
+class AATest(DBusFetchingEbuildTestCase):
""" Test whether AA is declared. """
relevant_eapis = (3, 4)
ebuild_vars = {
- 'IUSE': 'pms_tests_magical_hidden_use', # XXX?
- 'SRC_URI': '''pms_tests_magical_hidden_use? (
- http://www.gentoo.org/ -> pms-test-suite-dummy.html )'''
+ 'IUSE': 'pms_tests_magical_hidden_use' # XXX?
}
phase_funcs = {
'src_unpack': [
@@ -19,6 +18,11 @@ class AATest(DBusEbuildTestCase):
]
}
+ def __init__(self, *args, **kwargs):
+ DBusFetchingEbuildTestCase.__init__(self, *args, **kwargs)
+ self.ebuild_vars['SRC_URI'] = 'pms_tests_magical_hidden_use? ( %s )' \
+ % self.ebuild_vars['SRC_URI']
+
def check_dbus_result(self, output, pm):
if self.eapi < 4:
expect = 'pms-test-suite-dummy.html'
diff --git a/pmstestsuite/library/standard/ext_cases.py b/pmstestsuite/library/standard/ext_cases.py
new file mode 100644
index 0000000..d1d5eb6
--- /dev/null
+++ b/pmstestsuite/library/standard/ext_cases.py
@@ -0,0 +1,19 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+
+class DBusFetchingEbuildTestCase(DBusEbuildTestCase):
+ """
+ A DBusEbuildTestCase variant with a standarized way of fetching
+ sources -- to decrease ${DISTDIR} pollution.
+ """
+
+ def __init__(self, *args, **kwargs):
+ DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ # XXX: switch to a dedicated file without the arrow
+ val = 'http://www.gentoo.org/ -> pms-test-suite-dummy.html'
+ if 'SRC_URI' in self.ebuild_vars:
+ val = '%s %s' % (self.ebuild_vars['SRC_URI'], val)
+ self.ebuild_vars['SRC_URI'] = val
diff --git a/pmstestsuite/library/standard/workdir_fallback.py b/pmstestsuite/library/standard/workdir_fallback.py
index 142c33c..96cd2e8 100644
--- a/pmstestsuite/library/standard/workdir_fallback.py
+++ b/pmstestsuite/library/standard/workdir_fallback.py
@@ -2,9 +2,9 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+from pmstestsuite.library.standard.ext_cases import DBusFetchingEbuildTestCase
-class WorkdirFallbackTest(DBusEbuildTestCase):
+class WorkdirFallbackTest(DBusFetchingEbuildTestCase):
""" S=${WORKDIR} fallback test. """
relevant_eapis = (2, 4)
@@ -15,7 +15,6 @@ class WorkdirFallbackTest(DBusEbuildTestCase):
# 3) have one of the further phase funcs.
ebuild_vars = {
- 'SRC_URI': 'http://www.gentoo.org/ -> pms-test-suite-dummy.html',
'S': '${WORKDIR}/nonexistent'
}
phase_funcs = {
@@ -28,5 +27,5 @@ class WorkdirFallbackTest(DBusEbuildTestCase):
}
def __init__(self, *args, **kwargs):
- DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ DBusFetchingEbuildTestCase.__init__(self, *args, **kwargs)
self.expect_failure = (self.eapi == 4)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-06-28 16:15 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-28 16:15 UTC (permalink / raw
To: gentoo-commits
commit: 83babec5591836f69120e6e43fe3af5c3f4ca173
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 14:04:22 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 28 16:12:53 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=83babec5
Add a test for the AA variable.
---
pmstestsuite/library/standard/__init__.py | 1 +
pmstestsuite/library/standard/deprecated_vars.py | 29 ++++++++++++++++++++++
pmstestsuite/library/standard/special_vars.py | 1 -
3 files changed, 30 insertions(+), 1 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index 20f8e4f..68d9434 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -20,6 +20,7 @@ class StandardTestLibrary(TestLibrary):
'depend.PDependTest',
'depend.FailingDependTest',
'depend.FailingRDependTest',
+ 'deprecated_vars.AATest',
'special_vars.InheritedVariableTest',
'special_vars.RDependFallbackTest',
'special_vars.DefinedPhasesTest',
diff --git a/pmstestsuite/library/standard/deprecated_vars.py b/pmstestsuite/library/standard/deprecated_vars.py
new file mode 100644
index 0000000..5db24ef
--- /dev/null
+++ b/pmstestsuite/library/standard/deprecated_vars.py
@@ -0,0 +1,29 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+
+class AATest(DBusEbuildTestCase):
+ """ Test whether AA is declared. """
+
+ relevant_eapis = (3, 4)
+ ebuild_vars = {
+ 'IUSE': 'pms_tests_magical_hidden_use', # XXX?
+ 'SRC_URI': '''pms_tests_magical_hidden_use? (
+ http://www.gentoo.org/ -> pms-test-suite-dummy.html )'''
+ }
+ phase_funcs = {
+ 'src_unpack': [
+ 'pms-test-dbus_append_result "${AA}"'
+ ]
+ }
+
+ def check_dbus_result(self, output, pm):
+ if self.eapi < 4:
+ expect = 'pms-test-suite-dummy.html'
+ else:
+ expect = ''
+
+ return output == expect \
+ and DBusEbuildTestCase.check_dbus_result(self, output, pm)
diff --git a/pmstestsuite/library/standard/special_vars.py b/pmstestsuite/library/standard/special_vars.py
index fa01bc2..2a38897 100644
--- a/pmstestsuite/library/standard/special_vars.py
+++ b/pmstestsuite/library/standard/special_vars.py
@@ -50,4 +50,3 @@ class DefinedPhasesTest(DBusEbuildTestCase):
phases = pm.vdb[self.cpv].DEFINED_PHASES.split()
return (' '.join(phases) == 'setup') \
and DBusEbuildTestCase.check_dbus_result(self, output, pm)
-
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-06-28 16:15 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-28 16:15 UTC (permalink / raw
To: gentoo-commits
commit: f8c50928d8409275b64573092a80a44aa70ae9c8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 16:16:16 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 28 16:16:16 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=f8c50928
Add a test for KV variable.
---
pmstestsuite/library/standard/__init__.py | 1 +
pmstestsuite/library/standard/deprecated_vars.py | 14 ++++++++++++++
2 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index 68d9434..79f4082 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -21,6 +21,7 @@ class StandardTestLibrary(TestLibrary):
'depend.FailingDependTest',
'depend.FailingRDependTest',
'deprecated_vars.AATest',
+ 'deprecated_vars.KVTest',
'special_vars.InheritedVariableTest',
'special_vars.RDependFallbackTest',
'special_vars.DefinedPhasesTest',
diff --git a/pmstestsuite/library/standard/deprecated_vars.py b/pmstestsuite/library/standard/deprecated_vars.py
index 5db24ef..c4c72a3 100644
--- a/pmstestsuite/library/standard/deprecated_vars.py
+++ b/pmstestsuite/library/standard/deprecated_vars.py
@@ -27,3 +27,17 @@ class AATest(DBusEbuildTestCase):
return output == expect \
and DBusEbuildTestCase.check_dbus_result(self, output, pm)
+
+class KVTest(DBusEbuildTestCase):
+ """ Test whether KV is declared. """
+
+ relevant_eapis = (3, 4)
+ phase_funcs = {
+ 'src_compile': [
+ 'pms-test-dbus_append_result "${KV}"'
+ ]
+ }
+
+ def check_dbus_result(self, output, pm):
+ return bool(output) ^ (self.eapi == 4) \
+ and DBusEbuildTestCase.check_dbus_result(self, output, pm)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/
@ 2011-06-25 8:39 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-25 8:39 UTC (permalink / raw
To: gentoo-commits
commit: 84dfb4c30c10dee13d96641a7ea130136dc4e45f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 25 08:34:50 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 25 08:34:50 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=84dfb4c3
Add a test for variable scoping.
---
pmstestsuite/library/standard/__init__.py | 3 +-
pmstestsuite/library/standard/variable_scope.py | 53 +++++++++++++++++++++++
2 files changed, 55 insertions(+), 1 deletions(-)
diff --git a/pmstestsuite/library/standard/__init__.py b/pmstestsuite/library/standard/__init__.py
index 674ed93..20f8e4f 100644
--- a/pmstestsuite/library/standard/__init__.py
+++ b/pmstestsuite/library/standard/__init__.py
@@ -23,7 +23,8 @@ class StandardTestLibrary(TestLibrary):
'special_vars.InheritedVariableTest',
'special_vars.RDependFallbackTest',
'special_vars.DefinedPhasesTest',
- 'workdir_fallback.WorkdirFallbackTest'
+ 'workdir_fallback.WorkdirFallbackTest',
+ 'variable_scope.VariableScopeTest'
]
def get_common_files(self):
diff --git a/pmstestsuite/library/standard/variable_scope.py b/pmstestsuite/library/standard/variable_scope.py
new file mode 100644
index 0000000..bd78554
--- /dev/null
+++ b/pmstestsuite/library/standard/variable_scope.py
@@ -0,0 +1,53 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+import re
+
+from pmstestsuite.library.standard.dbus_case import DBusEbuildTestCase
+
+class VariableScopeTest(DBusEbuildTestCase):
+ """ A test for scoping of variables. """
+
+ relevant_eapis = (0,)
+ ebuild_vars = {
+ 'GLOBAL_TEST': 'foo'
+ }
+ phase_funcs = {
+ 'src_compile': [
+ 'GLOBAL_TEST=bar',
+ 'DEFAULT_TEST=foo',
+ 'export EXPORT_TEST=foo',
+ 'local LOCAL_TEST=bar'
+ ],
+ 'src_install': [
+ 'pms-test-dbus_append_result "$(declare -p %s)"' % var
+ for var in ('GLOBAL_TEST', 'DEFAULT_TEST',
+ 'EXPORT_TEST', 'LOCAL_TEST')
+ ]
+ }
+
+ declare_re = re.compile(r'^declare -([-x]) ([A-Z_]+)="([a-z]+)"$')
+ def check_dbus_result(self, output, pm):
+ myvars = ('GLOBAL_TEST', 'DEFAULT_TEST', 'EXPORT_TEST', 'LOCAL_TEST')
+ res = []
+ for i, l in enumerate(output.splitlines()):
+ m = self.declare_re.match(l)
+ if not m or m.group(2) != myvars[i]:
+ return False
+ res.append([m.group(x) for x in (1,3)])
+
+ # GLOBAL can retain its value or be reset
+ if res[0][1] not in ('foo', 'bar'):
+ return False
+ # DEFAULT and EXPORT should retain their values
+ elif res[1][1] != 'foo' or res[2][1] != 'foo':
+ return False
+ # EXPORT shall be exported
+ elif res[2][0] != 'x':
+ return False
+ # LOCAL shall be forgot
+ elif len(res) > 3 and res[3][1] != '':
+ return False
+
+ return DBusEbuildTestCase.check_dbus_result(self, output, pm)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-24 18:03 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-24 18:03 UTC (permalink / raw
To: gentoo-commits
commit: 757e5bc4a7813a1ae326592d3ec933fc9b6fa698
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 24 17:59:04 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 24 17:59:04 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=757e5bc4
Extend the ${WORKDIR} fallback test to EAPI<4.
---
PMSTestSuite/library/standard/workdir_fallback.py | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/PMSTestSuite/library/standard/workdir_fallback.py b/PMSTestSuite/library/standard/workdir_fallback.py
index 49f42cd..2891d2c 100644
--- a/PMSTestSuite/library/standard/workdir_fallback.py
+++ b/PMSTestSuite/library/standard/workdir_fallback.py
@@ -7,7 +7,7 @@ from PMSTestSuite.library.standard.dbus_case import DBusEbuildTestCase
class WorkdirFallbackTest(DBusEbuildTestCase):
""" S=${WORKDIR} fallback test. """
- relevant_eapis = (4,)
+ relevant_eapis = (2, 4)
# In order to disallow S=${WORKDIR} fallback, we need to:
# 1) have something in ${A} (i.e. fetch something),
@@ -27,4 +27,7 @@ class WorkdirFallbackTest(DBusEbuildTestCase):
':'
]
}
- expect_failure = True
+
+ def __init__(self, *args, **kwargs):
+ DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ self.expect_failure = (self.eapi == 4)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-24 18:03 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-24 18:03 UTC (permalink / raw
To: gentoo-commits
commit: 4072e4167720071b6bcaed89e7e14ecc00977892
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 24 18:01:58 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 24 18:01:58 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=4072e416
Simplify EAPI-dependant failure expectation.
---
PMSTestSuite/library/standard/doins_fail.py | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/PMSTestSuite/library/standard/doins_fail.py b/PMSTestSuite/library/standard/doins_fail.py
index 7502fbf..ba05eec 100644
--- a/PMSTestSuite/library/standard/doins_fail.py
+++ b/PMSTestSuite/library/standard/doins_fail.py
@@ -16,8 +16,6 @@ class DoInsFailureTest(DBusEbuildTestCase):
]
}
- def check_dbus_result(self, output, pm):
- # expect success in EAPI 0
- # and failure in EAPI 4
- res = DBusEbuildTestCase.check_dbus_result(self, output, pm)
- return (res == (self.eapi == 0))
+ def __init__(self, *args, **kwargs):
+ DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ self.expect_failure = (self.eapi == 4)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-24 18:03 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-24 18:03 UTC (permalink / raw
To: gentoo-commits
commit: e2366f34386c38fe993853a3526a0d63ac6caaa3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 24 17:51:34 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 24 17:51:34 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=e2366f34
Add EAPI=4 ${WORKDIR} fallback test.
---
PMSTestSuite/library/standard/__init__.py | 3 +-
PMSTestSuite/library/standard/workdir_fallback.py | 30 +++++++++++++++++++++
2 files changed, 32 insertions(+), 1 deletions(-)
diff --git a/PMSTestSuite/library/standard/__init__.py b/PMSTestSuite/library/standard/__init__.py
index d884dd6..d79793b 100644
--- a/PMSTestSuite/library/standard/__init__.py
+++ b/PMSTestSuite/library/standard/__init__.py
@@ -22,7 +22,8 @@ class StandardTestLibrary(TestLibrary):
'depend.FailingRDependTest',
'special_vars.InheritedVariableTest',
'special_vars.RDependFallbackTest',
- 'special_vars.DefinedPhasesTest'
+ 'special_vars.DefinedPhasesTest',
+ 'workdir_fallback.WorkdirFallbackTest'
]
def get_common_files(self):
diff --git a/PMSTestSuite/library/standard/workdir_fallback.py b/PMSTestSuite/library/standard/workdir_fallback.py
new file mode 100644
index 0000000..49f42cd
--- /dev/null
+++ b/PMSTestSuite/library/standard/workdir_fallback.py
@@ -0,0 +1,30 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from PMSTestSuite.library.standard.dbus_case import DBusEbuildTestCase
+
+class WorkdirFallbackTest(DBusEbuildTestCase):
+ """ S=${WORKDIR} fallback test. """
+
+ relevant_eapis = (4,)
+
+ # In order to disallow S=${WORKDIR} fallback, we need to:
+ # 1) have something in ${A} (i.e. fetch something),
+ # 2) have src_unpack() of some kind,
+ # 3) have one of the further phase funcs.
+
+ ebuild_vars = {
+ 'RESTRICT': 'mirror',
+ 'SRC_URI': 'http://www.gentoo.org/ -> pms-test-suite-dummy.html',
+ 'S': '${WORKDIR}/nonexistent'
+ }
+ phase_funcs = {
+ 'src_unpack': [
+ 'echo $A'
+ ],
+ 'src_compile': [
+ ':'
+ ]
+ }
+ expect_failure = True
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-23 21:14 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-23 21:14 UTC (permalink / raw
To: gentoo-commits
commit: 8b7d52259fc200c0b74d88a85340f8a16307398c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 23 21:05:09 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 23 21:05:09 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=8b7d5225
Add a test for PDEPEND fulfilling.
---
PMSTestSuite/library/standard/__init__.py | 1 +
PMSTestSuite/library/standard/depend.py | 6 ++++++
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/PMSTestSuite/library/standard/__init__.py b/PMSTestSuite/library/standard/__init__.py
index 9374605..d884dd6 100644
--- a/PMSTestSuite/library/standard/__init__.py
+++ b/PMSTestSuite/library/standard/__init__.py
@@ -17,6 +17,7 @@ class StandardTestLibrary(TestLibrary):
'doins_fail.DoInsFailureTest',
'depend.DependTest',
'depend.RDependTest',
+ 'depend.PDependTest',
'depend.FailingDependTest',
'depend.FailingRDependTest',
'special_vars.InheritedVariableTest',
diff --git a/PMSTestSuite/library/standard/depend.py b/PMSTestSuite/library/standard/depend.py
index 2c8ab01..476562a 100644
--- a/PMSTestSuite/library/standard/depend.py
+++ b/PMSTestSuite/library/standard/depend.py
@@ -29,6 +29,12 @@ class RDependTest(DBusEbuildDependencyTestCase):
'pms-test-suite-%s || die' % self.dependant_ebuilds[0].pv
)
+class PDependTest(DBusEbuildDependencyTestCase):
+ """ PDEPEND fulfilling test. """
+
+ relevant_eapis = (0,)
+ pdepend_classes = [EbuildToucher]
+
class FailingDependTest(DBusEbuildDependencyTestCase):
""" Unfulfilled DEPEND test. """
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-23 21:14 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-23 21:14 UTC (permalink / raw
To: gentoo-commits
commit: 6d3035bfe6b928b18f179199381cfe7930bed11c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 23 20:38:23 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 23 20:38:23 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=6d3035bf
Add a test for DEFINED_PHASES variable.
---
PMSTestSuite/library/standard/__init__.py | 3 ++-
PMSTestSuite/library/standard/special_vars.py | 16 ++++++++++++++++
2 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/PMSTestSuite/library/standard/__init__.py b/PMSTestSuite/library/standard/__init__.py
index 5cfff7c..9374605 100644
--- a/PMSTestSuite/library/standard/__init__.py
+++ b/PMSTestSuite/library/standard/__init__.py
@@ -20,7 +20,8 @@ class StandardTestLibrary(TestLibrary):
'depend.FailingDependTest',
'depend.FailingRDependTest',
'special_vars.InheritedVariableTest',
- 'special_vars.RDependFallbackTest'
+ 'special_vars.RDependFallbackTest',
+ 'special_vars.DefinedPhasesTest'
]
def get_common_files(self):
diff --git a/PMSTestSuite/library/standard/special_vars.py b/PMSTestSuite/library/standard/special_vars.py
index 63301c4..ef8568f 100644
--- a/PMSTestSuite/library/standard/special_vars.py
+++ b/PMSTestSuite/library/standard/special_vars.py
@@ -35,3 +35,19 @@ class RDependFallbackTest(DBusEbuildTestCase):
return ((self.eapi == 4) != ('virtual/libc' in pm.vdb[self.cpv].RDEPEND.split())) \
and DBusEbuildTestCase.check_dbus_result(self, output, pm)
+
+class DefinedPhasesTest(DBusEbuildTestCase):
+ """ Test whether DEFINED_PHASES are declared in EAPI 4. """
+
+ relevant_eapis = (4,)
+ phase_funcs = {
+ 'pkg_setup': [
+ ':'
+ ]
+ }
+
+ def check_dbus_result(self, output, pm):
+ phases = pm.vdb[self.cpv].DEFINED_PHASES.split()
+ return (' '.join(phases) == 'setup') \
+ and DBusEbuildTestCase.check_dbus_result(self, output, pm)
+
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-22 19:53 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-22 19:53 UTC (permalink / raw
To: gentoo-commits
commit: 708fa9935a8fec7a69efc20da0f3df123f260cd3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 22 19:46:42 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 22 19:46:42 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=708fa993
Add a test for RDEPEND=${DEPEND} fallback.
---
PMSTestSuite/library/standard/__init__.py | 3 ++-
PMSTestSuite/library/standard/special_vars.py | 21 +++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/PMSTestSuite/library/standard/__init__.py b/PMSTestSuite/library/standard/__init__.py
index 6faef96..5cfff7c 100644
--- a/PMSTestSuite/library/standard/__init__.py
+++ b/PMSTestSuite/library/standard/__init__.py
@@ -19,7 +19,8 @@ class StandardTestLibrary(TestLibrary):
'depend.RDependTest',
'depend.FailingDependTest',
'depend.FailingRDependTest',
- 'special_vars.InheritedVariableTest'
+ 'special_vars.InheritedVariableTest',
+ 'special_vars.RDependFallbackTest'
]
def get_common_files(self):
diff --git a/PMSTestSuite/library/standard/special_vars.py b/PMSTestSuite/library/standard/special_vars.py
index 56ae41c..2ff93d8 100644
--- a/PMSTestSuite/library/standard/special_vars.py
+++ b/PMSTestSuite/library/standard/special_vars.py
@@ -19,3 +19,24 @@ class InheritedVariableTest(DBusEbuildTestCase):
inherits = output.split()
return 'pms-test-dbus' in inherits \
and DBusEbuildTestCase.check_dbus_result(self, output, pm)
+
+class RDependFallbackTest(DBusEbuildTestCase):
+ """ Test whether RDEPEND=${DEPEND} fallback works as expected. """
+
+ relevant_eapis = (0, 3, 4)
+ ebuild_vars = {
+ # that one shall be pretty portable
+ 'DEPEND': 'virtual/libc'
+ }
+ phase_funcs = {
+ 'src_compile': [
+ 'pms-test-dbus_append_result "${RDEPEND}"'
+ ]
+ }
+
+ def check_dbus_result(self, output, pm):
+ # in EAPI 4, expect empty RDEPEND
+ # in older EAPIs, expect DEPEND
+
+ return ((self.eapi == 4) != ('virtual/libc' in output)) \
+ and DBusEbuildTestCase.check_dbus_result(self, output, pm)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-22 13:32 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-22 13:32 UTC (permalink / raw
To: gentoo-commits
commit: 95e4eafd235bae4797faaad4f57f933a6d46a9d2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 22 13:19:11 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 22 13:19:11 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=95e4eafd
Add a test for INHERITED variable definition.
---
PMSTestSuite/library/standard/__init__.py | 3 ++-
PMSTestSuite/library/standard/special_vars.py | 21 +++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/PMSTestSuite/library/standard/__init__.py b/PMSTestSuite/library/standard/__init__.py
index cd1cf75..6faef96 100644
--- a/PMSTestSuite/library/standard/__init__.py
+++ b/PMSTestSuite/library/standard/__init__.py
@@ -18,7 +18,8 @@ class StandardTestLibrary(TestLibrary):
'depend.DependTest',
'depend.RDependTest',
'depend.FailingDependTest',
- 'depend.FailingRDependTest'
+ 'depend.FailingRDependTest',
+ 'special_vars.InheritedVariableTest'
]
def get_common_files(self):
diff --git a/PMSTestSuite/library/standard/special_vars.py b/PMSTestSuite/library/standard/special_vars.py
new file mode 100644
index 0000000..56ae41c
--- /dev/null
+++ b/PMSTestSuite/library/standard/special_vars.py
@@ -0,0 +1,21 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from PMSTestSuite.library.standard.dbus_case import DBusEbuildTestCase
+
+class InheritedVariableTest(DBusEbuildTestCase):
+ """ INHERITED variable definition test. """
+
+ relevant_eapis = (0,)
+
+ phase_funcs = {
+ 'src_compile': [
+ 'pms-test-dbus_append_result "${INHERITED}"'
+ ]
+ }
+
+ def check_dbus_result(self, output, pm):
+ inherits = output.split()
+ return 'pms-test-dbus' in inherits \
+ and DBusEbuildTestCase.check_dbus_result(self, output, pm)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-17 14:28 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-17 14:28 UTC (permalink / raw
To: gentoo-commits
commit: a9365d9a4d98f356ac4ff057456ebc907ff5983f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 17 14:28:55 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 17 14:28:55 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=a9365d9a
Add a test for dependency failure handling.
---
PMSTestSuite/library/standard/__init__.py | 4 +++-
PMSTestSuite/library/standard/depend.py | 16 +++++++++++++++-
PMSTestSuite/library/standard/util.py | 12 ++++++++++++
3 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/PMSTestSuite/library/standard/__init__.py b/PMSTestSuite/library/standard/__init__.py
index 143f9c9..cd1cf75 100644
--- a/PMSTestSuite/library/standard/__init__.py
+++ b/PMSTestSuite/library/standard/__init__.py
@@ -16,7 +16,9 @@ class StandardTestLibrary(TestLibrary):
'phase_function_order.PhaseFunctionOrderTest',
'doins_fail.DoInsFailureTest',
'depend.DependTest',
- 'depend.RDependTest'
+ 'depend.RDependTest',
+ 'depend.FailingDependTest',
+ 'depend.FailingRDependTest'
]
def get_common_files(self):
diff --git a/PMSTestSuite/library/standard/depend.py b/PMSTestSuite/library/standard/depend.py
index cdd95ed..77e2938 100644
--- a/PMSTestSuite/library/standard/depend.py
+++ b/PMSTestSuite/library/standard/depend.py
@@ -3,7 +3,7 @@
# Released under the terms of the 2-clause BSD license.
from PMSTestSuite.library.standard.dbus_case import DBusEbuildDependencyTestCase
-from PMSTestSuite.library.standard.util import EbuildToucher
+from PMSTestSuite.library.standard.util import EbuildToucher, FailingEbuild
class DependTest(DBusEbuildDependencyTestCase):
""" DEPEND fulfilling test. """
@@ -28,3 +28,17 @@ class RDependTest(DBusEbuildDependencyTestCase):
self.phase_funcs['pkg_postinst'].append(
'pms-test-suite-%s || die' % self.rdepend_objs[0].pv
)
+
+class FailingDependTest(DBusEbuildDependencyTestCase):
+ """ Unfulfilled DEPEND test. """
+
+ relevant_eapis = (0,)
+ depend_classes = [FailingEbuild]
+ expect_failure = True
+
+class FailingRDependTest(DBusEbuildDependencyTestCase):
+ """ Unfulfilled RDEPEND test. """
+
+ relevant_eapis = (0,)
+ depend_classes = [FailingEbuild]
+ expect_failure = True
diff --git a/PMSTestSuite/library/standard/util.py b/PMSTestSuite/library/standard/util.py
index f1e9ad7..f0c4c32 100644
--- a/PMSTestSuite/library/standard/util.py
+++ b/PMSTestSuite/library/standard/util.py
@@ -22,3 +22,15 @@ _EOF_'''
self.phase_funcs['src_install'].append(
'newbin mytrue.sh pms-test-suite-%s || die' % self.pv
)
+
+class FailingEbuild(DBusEbuildTestCase):
+ """ A failing ebuild. """
+
+ phase_funcs = {
+ 'src_unpack': ['die']
+ }
+ expect_failure = True
+
+ @property
+ def pv(self):
+ return id(self)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-17 14:28 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-17 14:28 UTC (permalink / raw
To: gentoo-commits
commit: f09a16f65958425a37cb1775840361f588258c16
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 17 14:16:57 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 17 14:16:57 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=f09a16f6
Don't expect DBusEbuildDependencyTestCase to run when failing.
---
PMSTestSuite/library/standard/dbus_case.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/PMSTestSuite/library/standard/dbus_case.py b/PMSTestSuite/library/standard/dbus_case.py
index d67c11b..e518ac3 100644
--- a/PMSTestSuite/library/standard/dbus_case.py
+++ b/PMSTestSuite/library/standard/dbus_case.py
@@ -134,5 +134,5 @@ class DBusEbuildDependencyTestCase(EbuildDependencyTestCase):
return EbuildDependencyTestCase.check_result(self, pm)
def check_result(self, pm):
- return self.dbus_started \
+ return self.dbus_started != self.expect_failure \
and self.check_dbus_result('\n'.join(self.dbus_output), pm)
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-06-17 14:28 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-06-17 14:28 UTC (permalink / raw
To: gentoo-commits
commit: 3bc1cccaaf4a289723aa8cd9a9cbdc24bf7018ee
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 17 14:02:59 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 17 14:02:59 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=3bc1ccca
Move EbuildToucher into separate .util submodule.
---
PMSTestSuite/library/standard/depend.py | 22 ++--------------------
PMSTestSuite/library/standard/util.py | 24 ++++++++++++++++++++++++
2 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/PMSTestSuite/library/standard/depend.py b/PMSTestSuite/library/standard/depend.py
index 4fbc179..cdd95ed 100644
--- a/PMSTestSuite/library/standard/depend.py
+++ b/PMSTestSuite/library/standard/depend.py
@@ -2,26 +2,8 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-from PMSTestSuite.library.standard.dbus_case import DBusEbuildTestCase, DBusEbuildDependencyTestCase
-
-class EbuildToucher(DBusEbuildTestCase):
- """ Touched file installer (for dependency tests). """
-
- @property
- def pv(self):
- return id(self)
-
- def __init__(self, *args, **kwargs):
- DBusEbuildTestCase.__init__(self, *args, **kwargs)
- self.phase_funcs['src_unpack'].append(
- '''cat >> mytrue.sh <<_EOF_
-#!/bin/sh
-true
-_EOF_'''
- )
- self.phase_funcs['src_install'].append(
- 'newbin mytrue.sh pms-test-suite-%s || die' % self.pv
- )
+from PMSTestSuite.library.standard.dbus_case import DBusEbuildDependencyTestCase
+from PMSTestSuite.library.standard.util import EbuildToucher
class DependTest(DBusEbuildDependencyTestCase):
""" DEPEND fulfilling test. """
diff --git a/PMSTestSuite/library/standard/util.py b/PMSTestSuite/library/standard/util.py
new file mode 100644
index 0000000..f1e9ad7
--- /dev/null
+++ b/PMSTestSuite/library/standard/util.py
@@ -0,0 +1,24 @@
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from PMSTestSuite.library.standard.dbus_case import DBusEbuildTestCase
+
+class EbuildToucher(DBusEbuildTestCase):
+ """ Touched file installer (for dependency tests). """
+
+ @property
+ def pv(self):
+ return id(self)
+
+ def __init__(self, *args, **kwargs):
+ DBusEbuildTestCase.__init__(self, *args, **kwargs)
+ self.phase_funcs['src_unpack'].append(
+ '''cat >> mytrue.sh <<_EOF_
+#!/bin/sh
+true
+_EOF_'''
+ )
+ self.phase_funcs['src_install'].append(
+ 'newbin mytrue.sh pms-test-suite-%s || die' % self.pv
+ )
^ permalink raw reply related [flat|nested] 53+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/
@ 2011-05-31 19:18 Michał Górny
0 siblings, 0 replies; 53+ messages in thread
From: Michał Górny @ 2011-05-31 19:18 UTC (permalink / raw
To: gentoo-commits
commit: b99e1407330aed663db1d153e9e8980bc539dc22
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 31 19:05:01 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 31 19:05:01 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=b99e1407
Support checking dbus test output.
---
PMSTestSuite/library/standard/dbus_case.py | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/PMSTestSuite/library/standard/dbus_case.py b/PMSTestSuite/library/standard/dbus_case.py
index 0683a0d..5769304 100644
--- a/PMSTestSuite/library/standard/dbus_case.py
+++ b/PMSTestSuite/library/standard/dbus_case.py
@@ -16,5 +16,4 @@ class DBusEbuildTestCase(EbuildTestCase):
dbus_handler.add_test(self)
def check_result(self, res):
- print(self.dbus_output)
- raise NotImplementedError('XXX')
+ return self.check_output('\n'.join(self.dbus_output))
^ permalink raw reply related [flat|nested] 53+ messages in thread
end of thread, other threads:[~2012-06-20 8:02 UTC | newest]
Thread overview: 53+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-23 9:51 [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/ Michał Górny
-- strict thread matches above, loose matches on Subject: below --
2012-06-20 8:01 [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/library/standard/ Michał Górny
2012-01-03 17:50 Michał Górny
2012-01-03 17:50 Michał Górny
2012-01-03 15:52 Michał Górny
2011-08-13 8:54 Michał Górny
2011-08-12 20:55 Michał Górny
2011-08-08 2:56 Michał Górny
2011-08-07 14:57 Michał Górny
2011-08-07 14:57 Michał Górny
2011-08-07 14:48 Michał Górny
2011-08-06 14:25 Michał Górny
2011-08-06 8:31 Michał Górny
2011-08-06 8:31 Michał Górny
2011-08-05 21:36 Michał Górny
2011-08-05 21:36 Michał Górny
2011-08-05 21:36 Michał Górny
2011-08-05 21:36 Michał Górny
2011-08-05 10:04 Michał Górny
2011-08-05 8:54 Michał Górny
2011-08-03 20:17 Michał Górny
2011-08-03 20:17 Michał Górny
2011-08-03 17:10 Michał Górny
2011-08-03 17:10 Michał Górny
2011-08-03 17:10 Michał Górny
2011-08-03 8:17 Michał Górny
2011-08-02 18:53 Michał Górny
2011-08-02 18:53 Michał Górny
2011-07-28 17:15 Michał Górny
2011-07-27 16:50 Michał Górny
2011-07-27 16:50 Michał Górny
2011-07-27 16:50 Michał Górny
2011-07-26 17:34 Michał Górny
2011-07-24 14:37 Michał Górny
2011-07-24 14:37 Michał Górny
2011-07-18 6:32 Michał Górny
2011-07-18 6:32 Michał Górny
2011-06-29 17:52 Michał Górny
2011-06-29 12:58 Michał Górny
2011-06-28 16:15 Michał Górny
2011-06-28 16:15 Michał Górny
2011-06-25 8:39 Michał Górny
2011-06-24 18:03 [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/library/standard/ Michał Górny
2011-06-24 18:03 Michał Górny
2011-06-24 18:03 Michał Górny
2011-06-23 21:14 Michał Górny
2011-06-23 21:14 Michał Górny
2011-06-22 19:53 Michał Górny
2011-06-22 13:32 Michał Górny
2011-06-17 14:28 Michał Górny
2011-06-17 14:28 Michał Górny
2011-06-17 14:28 Michał Górny
2011-05-31 19:18 Michał Górny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox