public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-05 17:09 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-05 17:09 UTC (permalink / raw
  To: gentoo-commits

commit:     d44574ba1acd5589dd1a4072bd7e01a5e171b6e9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  5 15:47:41 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  5 15:47:41 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=d44574ba

Support doing the Manifests with multiple PMs.

---
 pmstestsuite/cli.py |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 52e14cc..607d3ce 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -127,9 +127,7 @@ class PMSTestSuiteCLI(object):
 		if pmset:
 			opt.error('PM(s) not supported: %s' % ', '.join(pmset))
 
-		self.pm = self.pms.pop()
-		if self.pms:
-			raise NotImplementedError('Using multiple PMs not implemented yet')
+		self.pm = self.pms[0]
 
 		os.umask(0o22)
 
@@ -222,7 +220,22 @@ class PMSTestSuiteCLI(object):
 
 		self.repository.write_files(files)
 		if self.update_manifests:
-			self.repository.remanifest(files, self.pm)
+			needs_manifests = False
+			for pm in self.pms:
+				needs_manifests |= pm.requires_manifests
+				try:
+					self.repository.remanifest(files, pm)
+				except NotImplementedError:
+					pass
+				else:
+					break
+			else:
+				if needs_manifests:
+					print('No PM was able to do the Manifests, failing.')
+					return 1
+
+		if len(self.pms) > 1:
+			raise NotImplementedError('Using multiple PMs not implemented yet')
 
 		for t in self.test_library:
 			t.clean(self.pm)



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2012-06-20  8:01 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2012-06-20  8:01 UTC (permalink / raw
  To: gentoo-commits

commit:     0023dfc1560549664642b2e69e8e46974523a3e3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 20 07:45:29 2012 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 20 07:45:29 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=0023dfc1

Fix failure exit from first stage.

---
 pmstestsuite/cli.py |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index a0abf02..9ffc4c8 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -276,7 +276,8 @@ class PMSTestSuiteCLI(object):
 				files.update(t.get_output_files())
 			if len(self.test_library) == 0:
 				print('No tests found (?!), refusing to proceed.')
-				return 1
+				self.loop.quit()
+				return False
 
 			files.update(get_common_eclass_files())
 			files.update(self.test_library.get_common_files())
@@ -295,10 +296,12 @@ class PMSTestSuiteCLI(object):
 				else:
 					if needs_manifests:
 						print('No PM was able to do the Manifests, failing.')
-						return 1
+						self.loop.quit()
+						return False
 
 			if self.create_repo_only:
-				return 0
+				self.loop.quit()
+				return False
 
 			self.pm_iter = iter(self.pms)
 			self.results = {}
@@ -309,7 +312,6 @@ class PMSTestSuiteCLI(object):
 
 		return False
 
-
 	def main(self, argv):
 		self._start(*argv)
 		self.exception = None



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2012-01-04 16:33 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2012-01-04 16:33 UTC (permalink / raw
  To: gentoo-commits

commit:     96b9767f1d1df0c1e27461b54bbcf800fdc5bc41
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan  4 16:34:36 2012 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan  4 16:34:36 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=96b9767f

Bump PV to 0.2.

---
 pmstestsuite/__init__.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pmstestsuite/__init__.py b/pmstestsuite/__init__.py
index 69ec68d..2fe2a4b 100644
--- a/pmstestsuite/__init__.py
+++ b/pmstestsuite/__init__.py
@@ -1,5 +1,5 @@
 #	vim:fileencoding=utf-8
-# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# (c) 2011-2012 Michał Górny <mgorny@gentoo.org>
 # Released under the terms of the 2-clause BSD license.
 
-PV = '0.1'
+PV = '0.2'



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2012-01-03 15:52 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2012-01-03 15:52 UTC (permalink / raw
  To: gentoo-commits

commit:     100cd1471544a89e330625e4eaf6ba41aa5c3993
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  3 11:57:44 2012 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan  3 11:58:47 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=100cd147

Add exception handling within main loop callbacks.

---
 pmstestsuite/cli.py |  170 +++++++++++++++++++++++++++++----------------------
 1 files changed, 96 insertions(+), 74 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 73468d1..ac8dd2e 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -7,6 +7,7 @@ from __future__ import print_function
 import os, os.path, shlex
 import gobject
 
+from traceback import format_exc
 from optparse import OptionParser
 
 from . import PV
@@ -186,31 +187,35 @@ class PMSTestSuiteCLI(object):
 		print('-> [%s] %s...' % (self.pm.name, text))
 
 	def tests_done(self):
-		self.pm.reload_config()
-		self._print_stage('Checking test results')
-		results = {}
-		for t in self.test_library:
-			tr = TestResult(t, self.pm)
+		try:
+			self.pm.reload_config()
+			self._print_stage('Checking test results')
+			results = {}
+			for t in self.test_library:
+				tr = TestResult(t, self.pm)
 
-			if tr:
-				outc = '.'
-			elif tr.exception:
-				outc = 'E'
-				raise tr.exception
-			else:
-				outc = 'F'
-			print(outc, end='')
+				if tr:
+					outc = '.'
+				elif tr.exception:
+					outc = 'E'
+					raise tr.exception
+				else:
+					outc = 'F'
+				print(outc, end='')
 
-			results[t] = tr
-			t.clean(self.pm)
-		self.results[self.pm] = results
-		print('')
+				results[t] = tr
+				t.clean(self.pm)
+			self.results[self.pm] = results
+			print('')
 
-		if self.pm.has_pending_actions:
-			self._print_stage('Unmerging test ebuilds')
-			self.pm.commit(self.prepare)
-		else:
-			self.prepare()
+			if self.pm.has_pending_actions:
+				self._print_stage('Unmerging test ebuilds')
+				self.pm.commit(self.prepare)
+			else:
+				self.prepare()
+		except Exception as e:
+			self.exception = format_exc()
+			self.loop.quit()
 
 	def all_done(self):
 		ret = self.output(self.results, verbose = self.verbose)
@@ -225,73 +230,87 @@ class PMSTestSuiteCLI(object):
 		self.pm.commit(self.tests_done)
 
 	def pre_unmerge_done(self):
-		self.pm.reload_config()
-		for t in self.test_library:
-			t.clean(self.pm)
-		if self.pm.has_pending_actions:
-			print('Failed to unmerge the following test ebuilds:')
-			print(' '.join(self.pm.pkg_queue))
-			print('Refusing to proceed.')
-			self.loop.quit()
-			return
-		self.start_pm()
-
-	def prepare(self, first = False):
 		try:
-			self.pm = next(self.pm_iter)
-		except StopIteration:
-			self.all_done()
-		else:
-			if not first:
-				self.pm.reload_config()
+			self.pm.reload_config()
 			for t in self.test_library:
 				t.clean(self.pm)
-
 			if self.pm.has_pending_actions:
-				print('-> Unmerging already-merged test ebuilds...')
-				self.pm.commit(self.pre_unmerge_done)
+				print('Failed to unmerge the following test ebuilds:')
+				print(' '.join(self.pm.pkg_queue))
+				print('Refusing to proceed.')
+				self.loop.quit()
+				return
+			self.start_pm()
+		except Exception as e:
+			self.exception = format_exc()
+			self.loop.quit()
+
+	def prepare(self, first = False):
+		try:
+			try:
+				self.pm = next(self.pm_iter)
+			except StopIteration:
+				self.all_done()
 			else:
-				self.start_pm()
+				if not first:
+					self.pm.reload_config()
+				for t in self.test_library:
+					t.clean(self.pm)
+
+				if self.pm.has_pending_actions:
+					print('-> Unmerging already-merged test ebuilds...')
+					self.pm.commit(self.pre_unmerge_done)
+				else:
+					self.start_pm()
+		except Exception as e:
+			self.exception = format_exc()
+			self.loop.quit()
 
 	def generate_and_start(self):
-		print('-> Generating ebuilds...')
-		files = {}
-		for t in self.test_library:
-			files.update(t.get_output_files())
-		if len(self.test_library) == 0:
-			print('No tests found (?!), refusing to proceed.')
-			return 1
+		try:
+			print('-> Generating ebuilds...')
+			files = {}
+			for t in self.test_library:
+				files.update(t.get_output_files())
+			if len(self.test_library) == 0:
+				print('No tests found (?!), refusing to proceed.')
+				return 1
 
-		files.update(get_common_eclass_files())
-		files.update(self.test_library.get_common_files())
+			files.update(get_common_eclass_files())
+			files.update(self.test_library.get_common_files())
 
-		self.repository.write_files(files)
-		if self.update_manifests:
-			needs_manifests = False
-			for pm in self.pms:
-				needs_manifests |= pm.requires_manifests
-				try:
-					self.repository.remanifest(files, pm)
-				except NotImplementedError:
-					pass
+			self.repository.write_files(files)
+			if self.update_manifests:
+				needs_manifests = False
+				for pm in self.pms:
+					needs_manifests |= pm.requires_manifests
+					try:
+						self.repository.remanifest(files, pm)
+					except NotImplementedError:
+						pass
+					else:
+						break
 				else:
-					break
-			else:
-				if needs_manifests:
-					print('No PM was able to do the Manifests, failing.')
-					return 1
-
-		if self.create_repo_only:
-			return 0
-
-		self.pm_iter = iter(self.pms)
-		self.results = {}
-		self.prepare(first = True)
+					if needs_manifests:
+						print('No PM was able to do the Manifests, failing.')
+						return 1
+
+			if self.create_repo_only:
+				return 0
+
+			self.pm_iter = iter(self.pms)
+			self.results = {}
+			self.prepare(first = True)
+		except Exception as e:
+			self.exception = format_exc()
+			self.loop.quit()
 
 		return False
 
+
 	def main(self, argv):
 		self._start(*argv)
+		self.exception = None
 
 		try:
 			gobject.idle_add(self.generate_and_start)
@@ -303,4 +322,7 @@ class PMSTestSuiteCLI(object):
 			# Ensure to terminate the spawned D-Bus.
 			self.dbus_hdlr.terminate()
 
+		if self.exception is not None:
+			return self.exception
+
 		return self.ret



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2012-01-03 15:52 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2012-01-03 15:52 UTC (permalink / raw
  To: gentoo-commits

commit:     ee8f8dbe57562eb907d3af27efc0357fbef4ab1e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  3 11:35:05 2012 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan  3 11:35:05 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=ee8f8dbe

Allow current user rather than explicit root.

---
 pmstestsuite/dbus_handler.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pmstestsuite/dbus_handler.py b/pmstestsuite/dbus_handler.py
index 456e63d..694ed84 100644
--- a/pmstestsuite/dbus_handler.py
+++ b/pmstestsuite/dbus_handler.py
@@ -20,7 +20,7 @@ dbus_config = """<?xml version="1.0"?>
 	<user>%s</user>
 
 	<policy context="default">
-		<allow user="root"/>
+		<allow user="%s"/>
 
 		<allow send_destination="*" eavesdrop="true"/>
 		<allow eavesdrop="true"/>
@@ -33,7 +33,7 @@ class DBusHandler(object):
 
 	def start_dbus(self, uid):
 		tmpf = tempfile.NamedTemporaryFile('w')
-		tmpf.write(dbus_config % uid)
+		tmpf.write(dbus_config % (uid, os.getuid()))
 		tmpf.flush()
 
 		(read_fd, write_fd) = os.pipe()



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2012-01-03 15:52 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2012-01-03 15:52 UTC (permalink / raw
  To: gentoo-commits

commit:     04f53d753978b0c1af8b88bbc6e1da169c7372b5
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  3 11:45:56 2012 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan  3 11:45:56 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=04f53d75

Use subprocess to spawn D-Bus.

---
 pmstestsuite/dbus_handler.py |   23 +++++++++--------------
 1 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/pmstestsuite/dbus_handler.py b/pmstestsuite/dbus_handler.py
index 694ed84..78abe43 100644
--- a/pmstestsuite/dbus_handler.py
+++ b/pmstestsuite/dbus_handler.py
@@ -2,7 +2,7 @@
 # (c) 2011-2012 Michał Górny <mgorny@gentoo.org>
 # Released under the terms of the 2-clause BSD license.
 
-import dbus, os, signal, tempfile
+import dbus, os, signal, subprocess, tempfile
 from dbus.mainloop.glib import DBusGMainLoop
 
 dbus_interface_name = 'org.gentoo.pmstestsuite'
@@ -36,22 +36,17 @@ class DBusHandler(object):
 		tmpf.write(dbus_config % (uid, os.getuid()))
 		tmpf.flush()
 
-		(read_fd, write_fd) = os.pipe()
-		self.dbus_pid = os.fork()
-		if self.dbus_pid == 0:
-			os.close(read_fd)
-			os.execlp('dbus-daemon', 'dbus-daemon', '--nofork',
-				'--config-file=%s' % tmpf.name,
-				'--print-address=%d' % write_fd)
-		else:
-			addr = os.read(read_fd, 1024)
-			os.close(write_fd)
-			tmpf.close()
+		self.subp = subprocess.Popen(['dbus-daemon', '--nofork',
+			'--config-file=%s' % tmpf.name, '--print-address'],
+			stdout = subprocess.PIPE, close_fds = True)
 
-			self.bus_address = addr.strip()
+		addr = self.subp.stdout.readline()
+		tmpf.close()
+
+		self.bus_address = addr.strip()
 
 	def terminate(self):
-		os.kill(self.dbus_pid, signal.SIGTERM)
+		self.subp.terminate()
 
 	def __init__(self, uid):
 		""" Initialize DBusHandler. Add it to main GLib loop. """



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2012-01-03 15:52 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2012-01-03 15:52 UTC (permalink / raw
  To: gentoo-commits

commit:     bb3aaa1c8bcffe9c0656d118d1859da81844ec68
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  3 11:19:29 2012 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan  3 11:19:29 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=bb3aaa1c

Move repo startup code to an idle.

---
 pmstestsuite/cli.py |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 3d4b79e..3efd658 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -248,9 +248,7 @@ class PMSTestSuiteCLI(object):
 			else:
 				self.start_pm()
 
-	def main(self, argv):
-		self._start(*argv)
-
+	def generate_and_start(self):
 		print('-> Generating ebuilds...')
 		files = {}
 		for t in self.test_library:
@@ -285,6 +283,13 @@ class PMSTestSuiteCLI(object):
 		self.results = {}
 		self.prepare(first = True)
 
+		return False
+
+	def main(self, argv):
+		self._start(*argv)
+
+		gobject.idle_add(self.generate_and_start)
+
 		self.ret = 1
 		self.loop = gobject.MainLoop()
 		self.loop.run()



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-21  8:19 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-21  8:19 UTC (permalink / raw
  To: gentoo-commits

commit:     305f87a4ceab89d8dbc7bbd17a7850f6673f2a5e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 21 08:20:07 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 21 08:20:07 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=305f87a4

Bump PV to 0.1.

---
 pmstestsuite/__init__.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pmstestsuite/__init__.py b/pmstestsuite/__init__.py
index 7483eb8..69ec68d 100644
--- a/pmstestsuite/__init__.py
+++ b/pmstestsuite/__init__.py
@@ -2,4 +2,4 @@
 # (c) 2011 Michał Górny <mgorny@gentoo.org>
 # Released under the terms of the 2-clause BSD license.
 
-PV = '0.0.5'
+PV = '0.1'



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-20  6:23 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-20  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     13a62d774130c0e485572da2f4e1ddc2bdc33937
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 20 06:03:29 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 20 06:03:29 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=13a62d77

Add --create-repo-only option.

---
 pmstestsuite/cli.py |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 510d6d5..8262427 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -49,6 +49,9 @@ class PMSTestSuiteCLI(object):
 				setattr(parser.values, 'pmopts', {})
 			parser.values.pmopts[p] = optval
 
+		opt.add_option('-C', '--create-repo-only', dest='create_repo_only',
+				help='Create ebuild repository only',
+				action='store_true', default=False)
 		opt.add_option('-l', '--library', dest='library_name',
 				help='Test library to use (default: standard)',
 				default='standard')
@@ -110,12 +113,13 @@ class PMSTestSuiteCLI(object):
 		if opts.repo_path and opts.repo_name:
 			opt.error('--repository-path and --repository-name are mutually exclusive')
 
-		for x in get_output_modules():
-			if x.name == opts.outputmod:
-				self.output = x(opts.outputfile)
-				break
-		else:
-			opt.error('Output module not available: %s' % opts.outputmod)
+		if not opts.create_repo_only:
+			for x in get_output_modules():
+				if x.name == opts.outputmod:
+					self.output = x(opts.outputfile)
+					break
+			else:
+				opt.error('Output module not available: %s' % opts.outputmod)
 
 		pmset = set(opts.pm)
 		pms = []
@@ -159,6 +163,7 @@ class PMSTestSuiteCLI(object):
 
 		for pm in self.pms:
 			pm.package_limit = opts.limit_pkgs
+		self.create_repo_only = opts.create_repo_only
 		self.update_manifests = not opts.no_manifests
 		self.verbose = opts.verbose
 
@@ -269,6 +274,9 @@ class PMSTestSuiteCLI(object):
 					print('No PM was able to do the Manifests, failing.')
 					return 1
 
+		if self.create_repo_only:
+			return 0
+
 		self.pm_iter = iter(self.pms)
 		self.results = {}
 		self.prepare(first = True)



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-13  7:38 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-13  7:38 UTC (permalink / raw
  To: gentoo-commits

commit:     dbc9272ed63f85fb500455c7328dc7364bc35f7f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 07:36:59 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 07:36:59 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=dbc9272e

Bump PV to 0.0.5.

---
 pmstestsuite/__init__.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pmstestsuite/__init__.py b/pmstestsuite/__init__.py
index 19b5322..7483eb8 100644
--- a/pmstestsuite/__init__.py
+++ b/pmstestsuite/__init__.py
@@ -2,4 +2,4 @@
 # (c) 2011 Michał Górny <mgorny@gentoo.org>
 # Released under the terms of the 2-clause BSD license.
 
-PV = '0.0.4'
+PV = '0.0.5'



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-08 22:15 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-08 22:15 UTC (permalink / raw
  To: gentoo-commits

commit:     c09c3870a5a2105188a83ca33c5fed8f8c434035
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug  8 22:13:47 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug  8 22:13:47 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=c09c3870

Bump PV to 0.0.4.

---
 pmstestsuite/__init__.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pmstestsuite/__init__.py b/pmstestsuite/__init__.py
index df1abe7..19b5322 100644
--- a/pmstestsuite/__init__.py
+++ b/pmstestsuite/__init__.py
@@ -2,4 +2,4 @@
 # (c) 2011 Michał Górny <mgorny@gentoo.org>
 # Released under the terms of the 2-clause BSD license.
 
-PV = '0.0.3'
+PV = '0.0.4'



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-05 21:36 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-05 21:36 UTC (permalink / raw
  To: gentoo-commits

commit:     458b7d50e6b4b49a4f22ce428ee8e8a571d2f04f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  5 21:05:25 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  5 21:05:25 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=458b7d50

Fix remaining PM variables.

---
 pmstestsuite/cli.py |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index b046578..401e83d 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -130,18 +130,21 @@ class PMSTestSuiteCLI(object):
 			opt.error('PM(s) not supported: %s' % ', '.join(pmset))
 
 		self.pms = sorted(pms, key = lambda x: opts.pm.index(x.name))
-		self.pm = self.pms[0]
 
 		os.umask(0o22)
 
 		try:
 			if opts.repo_path:
 				self.repository = NewEbuildRepository(opts.repo_path, 'pms-test-suite')
-				self.pm.append_repository(self.repository)
+				for pm in self.pms:
+					pm.append_repository(self.repository)
 			else:
 				if not opts.repo_name:
 					opts.repo_name = 'pms-test-suite'
-				self.repository = self.pm.get_repository(opts.repo_name)
+				for pm in self.pms:
+					# XXX: all PMs should match it...
+					self.repository = pm.get_repository(opts.repo_name)
+					break
 		except (OSError, IOError, KeyError, ValueError) as e:
 			opt.error('Repository open failed: %s' % e)
 
@@ -151,7 +154,8 @@ class PMSTestSuiteCLI(object):
 		except (ImportError, TypeError) as e:
 			opt.error('Test library load failed: %s' % e)
 
-		self.pm.package_limit = opts.limit_pkgs
+		for pm in self.pms:
+			pm.package_limit = opts.limit_pkgs
 		self.update_manifests = not opts.no_manifests
 		self.verbose = opts.verbose
 



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-05 17:09 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-05 17:09 UTC (permalink / raw
  To: gentoo-commits

commit:     d35a99453c8c1ecaa7875cb22889707e18b50e55
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  5 16:39:12 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  5 16:39:19 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=d35a9945

Support running tests using multiple PMs.

---
 pmstestsuite/cli.py |   38 ++++++++++++++++++++++++--------------
 1 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index fa91900..adf341e 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -160,9 +160,10 @@ class PMSTestSuiteCLI(object):
 			self.test_library.limit_tests(limit_tests)
 
 	def _print_stage(self, text):
-		print('-> %s...' % text)
+		print('-> [%s] %s...' % (self.pm.name, text))
 
 	def tests_done(self):
+		self.pm.reload_config()
 		self._print_stage('Checking test results')
 		self.results = {}
 		for t in self.test_library:
@@ -181,11 +182,13 @@ class PMSTestSuiteCLI(object):
 
 		if self.pm.has_pending_actions:
 			self._print_stage('Unmerging test ebuilds')
-			self.pm.commit(self.all_done)
+			self.pm.commit(self.prepare)
 		else:
-			self.all_done()
+			self.prepare()
 
 	def all_done(self):
+		if len(self.pms) > 1:
+			raise NotImplementedError('Running multiple PMs not implemented yet.')
 		ret = self.output(self.results, verbose = self.verbose)
 
 		self.ret = 0 if ret else 1
@@ -198,6 +201,7 @@ class PMSTestSuiteCLI(object):
 		self.pm.commit(self.tests_done)
 
 	def pre_unmerge_done(self):
+		self.pm.reload_config()
 		for t in self.test_library:
 			t.clean(self.pm)
 		if self.pm.has_pending_actions:
@@ -208,15 +212,22 @@ class PMSTestSuiteCLI(object):
 			return
 		self.start_pm()
 
-	def prepare(self):
-		for t in self.test_library:
-			t.clean(self.pm)
-
-		if self.pm.has_pending_actions:
-			self._print_stage('Unmerging already-merged test ebuilds')
-			self.pm.commit(self.pre_unmerge_done)
+	def prepare(self, first = False):
+		try:
+			self.pm = next(self.pm_iter)
+		except StopIteration:
+			self.all_done()
 		else:
-			self.start_pm()
+			if not first:
+				self.pm.reload_config()
+			for t in self.test_library:
+				t.clean(self.pm)
+
+			if self.pm.has_pending_actions:
+				print('-> Unmerging already-merged test ebuilds...')
+				self.pm.commit(self.pre_unmerge_done)
+			else:
+				self.start_pm()
 
 	def main(self, argv):
 		self._start(*argv)
@@ -248,9 +259,8 @@ class PMSTestSuiteCLI(object):
 					print('No PM was able to do the Manifests, failing.')
 					return 1
 
-		if len(self.pms) > 1:
-			raise NotImplementedError('Using multiple PMs not implemented yet')
-		self.prepare()
+		self.pm_iter = iter(self.pms)
+		self.prepare(first = True)
 
 		self.ret = 1
 		self.loop = gobject.MainLoop()



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-05 17:09 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-05 17:09 UTC (permalink / raw
  To: gentoo-commits

commit:     b42fe922a29558af9bc3aa729045e60571dc7154
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  5 16:32:37 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  5 16:37:47 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=b42fe922

Print operation stages using a common function.

---
 pmstestsuite/cli.py |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 7fc253c..fa91900 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -159,8 +159,11 @@ class PMSTestSuiteCLI(object):
 		if limit_tests:
 			self.test_library.limit_tests(limit_tests)
 
+	def _print_stage(self, text):
+		print('-> %s...' % text)
+
 	def tests_done(self):
-		print('-> Checking test results...')
+		self._print_stage('Checking test results')
 		self.results = {}
 		for t in self.test_library:
 			try:
@@ -177,7 +180,7 @@ class PMSTestSuiteCLI(object):
 		print('')
 
 		if self.pm.has_pending_actions:
-			print('-> Unmerging test ebuilds...')
+			self._print_stage('Unmerging test ebuilds')
 			self.pm.commit(self.all_done)
 		else:
 			self.all_done()
@@ -189,7 +192,7 @@ class PMSTestSuiteCLI(object):
 		self.loop.quit()
 
 	def start_pm(self):
-		print('-> Running PM...')
+		self._print_stage('Running PM')
 		for t in self.test_library:
 			t.start(self.pm)
 		self.pm.commit(self.tests_done)
@@ -210,7 +213,7 @@ class PMSTestSuiteCLI(object):
 			t.clean(self.pm)
 
 		if self.pm.has_pending_actions:
-			print('-> Unmerging already-merged test ebuilds...')
+			self._print_stage('Unmerging already-merged test ebuilds')
 			self.pm.commit(self.pre_unmerge_done)
 		else:
 			self.start_pm()



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-05 17:09 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-05 17:09 UTC (permalink / raw
  To: gentoo-commits

commit:     9a6ef31a1f5fea82a7c635b54cb712e95a814ea8
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  5 17:06:27 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  5 17:06:27 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=9a6ef31a

Support getting test results using multiple PMs.

---
 pmstestsuite/cli.py |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index d50bb4a..7f7bb48 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -165,7 +165,7 @@ class PMSTestSuiteCLI(object):
 	def tests_done(self):
 		self.pm.reload_config()
 		self._print_stage('Checking test results')
-		self.results = {}
+		results = {}
 		for t in self.test_library:
 			tr = TestResult(t, self.pm)
 
@@ -178,8 +178,9 @@ class PMSTestSuiteCLI(object):
 				outc = 'F'
 			print(outc, end='')
 
-			self.results[t] = tr
+			results[t] = tr
 			t.clean(self.pm)
+		self.results[self.pm] = results
 		print('')
 
 		if self.pm.has_pending_actions:
@@ -189,9 +190,9 @@ class PMSTestSuiteCLI(object):
 			self.prepare()
 
 	def all_done(self):
-		if len(self.pms) > 1:
-			raise NotImplementedError('Running multiple PMs not implemented yet.')
-		ret = self.output(self.results, verbose = self.verbose)
+		ret = True
+		for pm, res in self.results.items():
+			ret &= self.output(res, verbose = self.verbose)
 
 		self.ret = 0 if ret else 1
 		self.loop.quit()
@@ -262,6 +263,7 @@ class PMSTestSuiteCLI(object):
 					return 1
 
 		self.pm_iter = iter(self.pms)
+		self.results = {}
 		self.prepare(first = True)
 
 		self.ret = 1



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-05 17:09 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-05 17:09 UTC (permalink / raw
  To: gentoo-commits

commit:     b995b38d6e8c93bc98e5d22a580128bc2275fbb3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  5 15:33:22 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  5 15:33:22 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=b995b38d

Support use multiple --package-manager and --pm-options args.

---
 pmstestsuite/cli.py |   47 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 0c492e1..52e14cc 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -32,12 +32,23 @@ class PMSTestSuiteCLI(object):
 	@type repository: L{EbuildRepository}
 	"""
 
+	_defpm = 'portage'
+
 	def __init__(self):
 		"""
 		Initialize the class. Set the option parser up.
 		"""
 		opt = OptionParser(version = PV)
 
+		def add_pmopts(opt, optstr, optval, parser):
+			try:
+				p = parser.values.pm[-1]
+			except IndexError:
+				p = self._defpm
+			if not hasattr(parser.values, 'pmopts'):
+				setattr(parser.values, 'pmopts', {})
+			parser.values.pmopts[p] = optval
+
 		opt.add_option('-l', '--library', dest='library_name',
 				help='Test library to use (default: standard)',
 				default='standard')
@@ -49,12 +60,13 @@ class PMSTestSuiteCLI(object):
 		opt.add_option('-o', '--output-module', dest='outputmod',
 				help='Output module to use',
 				default='cli')
-		# XXX: get list, autodetect, more magic
 		opt.add_option('-p', '--package-manager', dest='pm',
-				help='Package manager to use',
-				default='portage')
-		opt.add_option('-P', '--pm-options', dest='pmopts',
-				help='Additional options to pass to the Package Manager (shell-quoted)')
+				help='Package manager to use (can be specified multiple times)',
+				action='append', default=[])
+		opt.add_option('-P', '--pm-options', callback=add_pmopts,
+				help='Additional options to pass to the Package Manager (shell-quoted,'
+					' apply to the parser specified before it)',
+				action='callback', type='string')
 		opt.add_option('-r', '--repository-name', dest='repo_name',
 				help='Name of the repository to store ebuilds in')
 		opt.add_option('-R', '--repository-path', dest='repo_path',
@@ -85,6 +97,11 @@ class PMSTestSuiteCLI(object):
 		opt.prog = os.path.basename(prog)
 		(opts, args) = opt.parse_args(list(args))
 
+		if not opts.pm:
+			opts.pm = [self._defpm]
+		if not hasattr(opts, 'pmopts'):
+			setattr(opts, 'pmopts', {})
+
 		if opts.repo_path and opts.repo_name:
 			opt.error('--repository-path and --repository-name are mutually exclusive')
 
@@ -95,16 +112,24 @@ class PMSTestSuiteCLI(object):
 		else:
 			opt.error('Output module not available: %s' % opts.outputmod)
 
+		pmset = set(opts.pm)
+		self.pms = []
 		for x in get_package_managers():
-			if x.name == opts.pm:
+			if x.name in pmset:
 				try:
-					self.pm = x.inst()
+					pm = x.inst()
 				except Exception as e:
 					opt.error(e)
-				break
-		else:
-			opt.error('Package manager not supported: %s' % opts.pm)
-		self.pm.pm_options = shlex.split(opts.pmopts) if opts.pmopts else []
+				pm.pm_options = shlex.split(opts.pmopts[x.name]) \
+						if x.name in opts.pmopts else []
+				self.pms.append(pm)
+				pmset.remove(x.name)
+		if pmset:
+			opt.error('PM(s) not supported: %s' % ', '.join(pmset))
+
+		self.pm = self.pms.pop()
+		if self.pms:
+			raise NotImplementedError('Using multiple PMs not implemented yet')
 
 		os.umask(0o22)
 



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-05 17:09 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-05 17:09 UTC (permalink / raw
  To: gentoo-commits

commit:     3e43671668bfc8e41f0f0c7e0b2089f66b97e8a2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  5 15:49:17 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  5 15:49:17 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=3e436716

Move test preparation into .prepare().

---
 pmstestsuite/cli.py |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 607d3ce..a042a7e 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -204,6 +204,16 @@ class PMSTestSuiteCLI(object):
 			return
 		self.start_pm()
 
+	def prepare(self):
+		for t in self.test_library:
+			t.clean(self.pm)
+
+		if self.pm.has_pending_actions:
+			print('-> Unmerging already-merged test ebuilds...')
+			self.pm.commit(self.pre_unmerge_done)
+		else:
+			self.start_pm()
+
 	def main(self, argv):
 		self._start(*argv)
 
@@ -236,15 +246,7 @@ class PMSTestSuiteCLI(object):
 
 		if len(self.pms) > 1:
 			raise NotImplementedError('Using multiple PMs not implemented yet')
-
-		for t in self.test_library:
-			t.clean(self.pm)
-
-		if self.pm.has_pending_actions:
-			print('-> Unmerging already-merged test ebuilds...')
-			self.pm.commit(self.pre_unmerge_done)
-		else:
-			self.start_pm()
+		self.prepare()
 
 		self.ret = 1
 		self.loop = gobject.MainLoop()



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-05 17:09 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-05 17:09 UTC (permalink / raw
  To: gentoo-commits

commit:     32be61e83254401444ac1c9aa00405da78570cbf
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  5 16:05:28 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  5 16:05:28 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=32be61e8

Preserve PM order.

---
 pmstestsuite/cli.py |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index a042a7e..7fc253c 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -113,7 +113,7 @@ class PMSTestSuiteCLI(object):
 			opt.error('Output module not available: %s' % opts.outputmod)
 
 		pmset = set(opts.pm)
-		self.pms = []
+		pms = []
 		for x in get_package_managers():
 			if x.name in pmset:
 				try:
@@ -122,11 +122,12 @@ class PMSTestSuiteCLI(object):
 					opt.error(e)
 				pm.pm_options = shlex.split(opts.pmopts[x.name]) \
 						if x.name in opts.pmopts else []
-				self.pms.append(pm)
+				pms.append(pm)
 				pmset.remove(x.name)
 		if pmset:
 			opt.error('PM(s) not supported: %s' % ', '.join(pmset))
 
+		self.pms = sorted(pms, key = lambda x: opts.pm.index(x.name))
 		self.pm = self.pms[0]
 
 		os.umask(0o22)



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-05 10:04 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-05 10:04 UTC (permalink / raw
  To: gentoo-commits

commit:     3c3a1d38d16fb75d72756ad3aedbad87c77ca02c
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  5 09:50:50 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  5 10:05:39 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=3c3a1d38

Store test results in a dict instead of main+failed lists.

---
 pmstestsuite/cli.py |   23 ++++++++++++-----------
 1 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index f21c7a9..97dd8db 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -126,16 +126,17 @@ class PMSTestSuiteCLI(object):
 
 	def tests_done(self):
 		print('-> Checking test results...')
-		self.failed = []
+		self.results = {}
 		for t in self.test_library:
 			try:
 				t.check_result(self.pm)
 			except Exception as e:
 				outc = 'F' if isinstance(e, AssertionError) else 'E'
-				self.failed.append(t)
+				self.results[t] = False
 				# XXX: store exception details somewhere?
 			else:
 				outc = '.'
+				self.results[t] = True
 			t.clean(self.pm)
 			print(outc, end='')
 		print('')
@@ -147,21 +148,21 @@ class PMSTestSuiteCLI(object):
 			self.all_done()
 
 	def all_done(self):
-		if not self.failed and not self.verbose:
-			print('%d tests completed successfully.' % len(self.test_library))
+		failed = filter(lambda tr: not tr[1], self.results.items())
+		if not failed and not self.verbose:
+			print('%d tests completed successfully.' % len(self.results))
 		else:
 			print('%d of %d tests completed successfully, %d failed:'
-					% (len(self.test_library) - len(self.failed),
-						len(self.test_library), len(self.failed)))
-			tl = self.failed if not self.verbose else self.test_library
-			for t in tl:
-				print('- %s [%s]' % (t,
-						'OK' if t not in self.failed else 'FAILED'))
+					% (len(self.results) - len(failed),
+						len(self.results), len(failed)))
+			tl = failed if not self.verbose else self.results.items()
+			for t, r in tl:
+				print('- %s [%s]' % (t, 'OK' if r else 'FAILED'))
 				for a in t.assertions:
 					print('-> %s: %s [%s]' % (a.name, str(a),
 							'OK' if a else 'FAILED'))
 
-		self.ret = 0 if not self.failed else 1
+		self.ret = 0 if not failed else 1
 		self.loop.quit()
 
 	def start_pm(self):



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-03 20:17 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-03 20:17 UTC (permalink / raw
  To: gentoo-commits

commit:     2b32081ff3d097338bfc2c8d7031cd728d808768
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  3 20:17:38 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug  3 20:17:38 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=2b32081f

Bump PV to 0.0.3.

---
 pmstestsuite/__init__.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pmstestsuite/__init__.py b/pmstestsuite/__init__.py
index 2b379d9..df1abe7 100644
--- a/pmstestsuite/__init__.py
+++ b/pmstestsuite/__init__.py
@@ -2,4 +2,4 @@
 # (c) 2011 Michał Górny <mgorny@gentoo.org>
 # Released under the terms of the 2-clause BSD license.
 
-PV = '0.0.2'
+PV = '0.0.3'



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-03 20:17 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-03 20:17 UTC (permalink / raw
  To: gentoo-commits

commit:     aa4e534c8cf888844ea1501aab94de0f59e1223f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  3 19:29:42 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug  3 19:29:42 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=aa4e534c

Use print() function explicitly.

---
 pmstestsuite/cli.py |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index bd9ee42..9a44796 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -2,6 +2,8 @@
 # (c) 2011 Michał Górny <mgorny@gentoo.org>
 # Released under the terms of the 2-clause BSD license.
 
+from __future__ import print_function
+
 import os, os.path, shlex
 import gobject
 
@@ -156,8 +158,8 @@ class PMSTestSuiteCLI(object):
 				print('- %s [%s]' % (t,
 						'OK' if t not in self.failed else 'FAILED'))
 				for a in t.assertions:
-					print '-> %s: %s [%s]' % (a.name, str(a),
-							'OK' if a else 'FAILED')
+					print('-> %s: %s [%s]' % (a.name, str(a),
+							'OK' if a else 'FAILED'))
 
 		self.ret = 0 if not self.failed else 1
 		self.loop.quit()



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-03 20:17 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-03 20:17 UTC (permalink / raw
  To: gentoo-commits

commit:     d2e4610798f5001ece5b81ab36a3d7ba3f0a4079
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  3 19:21:38 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug  3 19:21:38 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=d2e46107

Fix reporting an error when unable to remove packages.

---
 pmstestsuite/cli.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 21e3e7b..bd9ee42 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -173,7 +173,7 @@ class PMSTestSuiteCLI(object):
 			t.clean(self.pm)
 		if self.pm.has_pending_actions:
 			print('Failed to unmerge the following test ebuilds:')
-			print(' '.join(installedcpvs))
+			print(' '.join(self.pm.pkg_queue))
 			print('Refusing to proceed.')
 			self.loop.quit()
 			return



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-03 20:17 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-03 20:17 UTC (permalink / raw
  To: gentoo-commits

commit:     fa2208e60417359419d02dd1ae4bbfa57927040d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  3 19:33:46 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug  3 19:33:46 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=fa2208e6

Print [.EF] when checking test results, alike unittests.

---
 pmstestsuite/cli.py |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 9a44796..155dc2c 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -130,15 +130,23 @@ class PMSTestSuiteCLI(object):
 		for t in self.test_library:
 			try:
 				res = t.check_result(self.pm)
-			except AssertionError as e:
+			except AssertionError:
 				res = False
+				outc = 'F'
+			except Exception:
+				res = False
+				outc = 'E'
+				# XXX: store exception details somewhere
 			else:
+				outc = '.'
 				# forward compat
 				if res is None:
 					res = True
 			if not res:
 				self.failed.append(t)
 			t.clean(self.pm)
+			print(outc, end='')
+		print('')
 
 		if self.pm.has_pending_actions:
 			print('-> Unmerging test ebuilds...')



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-03  8:17 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-03  8:17 UTC (permalink / raw
  To: gentoo-commits

commit:     d2ff61dd7dafad1422326cfc81f2a118ed257dd2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  3 08:18:28 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug  3 08:18:28 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=d2ff61dd

Support verbose mode, to always report assertions.

---
 pmstestsuite/cli.py |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 42ca98d..21e3e7b 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -59,6 +59,9 @@ class PMSTestSuiteCLI(object):
 		opt.add_option('-T', '--thorough', dest='thorough',
 				help='Run tests thoroughly (i.e. in all possible variants)',
 				action='store_true', default=False)
+		opt.add_option('-v', '--verbose', dest='verbose',
+				help='Report test results verbosely (even if they succeed)',
+				action='store_true', default=False)
 
 		self.optparser = opt
 
@@ -111,6 +114,7 @@ class PMSTestSuiteCLI(object):
 
 		self.pm.package_limit = opts.limit_pkgs
 		self.update_manifests = not opts.no_manifests
+		self.verbose = opts.verbose
 
 		limit_tests = set()
 		for t in opts.tests:
@@ -141,14 +145,16 @@ class PMSTestSuiteCLI(object):
 			self.all_done()
 
 	def all_done(self):
-		if not self.failed:
+		if not self.failed and not self.verbose:
 			print('%d tests completed successfully.' % len(self.test_library))
 		else:
 			print('%d of %d tests completed successfully, %d failed:'
 					% (len(self.test_library) - len(self.failed),
 						len(self.test_library), len(self.failed)))
-			for t in self.failed:
-				print('- %s' % t)
+			tl = self.failed if not self.verbose else self.test_library
+			for t in tl:
+				print('- %s [%s]' % (t,
+						'OK' if t not in self.failed else 'FAILED'))
 				for a in t.assertions:
 					print '-> %s: %s [%s]' % (a.name, str(a),
 							'OK' if a else 'FAILED')



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-08-02 18:53 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-08-02 18:53 UTC (permalink / raw
  To: gentoo-commits

commit:     55328c06b0cbf80cc923f52090de7e4deec43c75
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  2 18:54:12 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug  2 18:54:12 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=55328c06

Dump assertion results when tests fail.

---
 pmstestsuite/cli.py |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/pmstestsuite/cli.py b/pmstestsuite/cli.py
index 892b8ab..42ca98d 100644
--- a/pmstestsuite/cli.py
+++ b/pmstestsuite/cli.py
@@ -121,13 +121,11 @@ class PMSTestSuiteCLI(object):
 	def tests_done(self):
 		print('-> Checking test results...')
 		self.failed = []
-		self.asserts = [] # temporary
 		for t in self.test_library:
 			try:
 				res = t.check_result(self.pm)
 			except AssertionError as e:
 				res = False
-				self.asserts.append(str(e))
 			else:
 				# forward compat
 				if res is None:
@@ -151,11 +149,9 @@ class PMSTestSuiteCLI(object):
 						len(self.test_library), len(self.failed)))
 			for t in self.failed:
 				print('- %s' % t)
-
-		if self.asserts:
-			print('[DEBUG] asserts:')
-			for a in self.asserts:
-				print('- %s' % a)
+				for a in t.assertions:
+					print '-> %s: %s [%s]' % (a.name, str(a),
+							'OK' if a else 'FAILED')
 
 		self.ret = 0 if not self.failed else 1
 		self.loop.quit()



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/
@ 2011-07-18  6:49 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-07-18  6:49 UTC (permalink / raw
  To: gentoo-commits

commit:     8f3c5f005a1a6a0b20601c14f9308a5e411970ab
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 18 06:49:37 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 18 06:49:37 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=8f3c5f00

Bump to 0.0.2, another test release.

---
 pmstestsuite/__init__.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pmstestsuite/__init__.py b/pmstestsuite/__init__.py
index 0a2802c..2b379d9 100644
--- a/pmstestsuite/__init__.py
+++ b/pmstestsuite/__init__.py
@@ -2,4 +2,4 @@
 # (c) 2011 Michał Górny <mgorny@gentoo.org>
 # Released under the terms of the 2-clause BSD license.
 
-PV = '0.0.1'
+PV = '0.0.2'



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-24 18:03 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-24 18:03 UTC (permalink / raw
  To: gentoo-commits

commit:     3e5fa8031fc78ec4122f65ea4a4727a35eb5a38d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 24 18:02:42 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 24 18:02:42 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=3e5fa803

Verbosely print 'Checking test results'.

Test result checks involve VDB lookups so they can take some time.

---
 PMSTestSuite/cli.py |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index eaff393..72f8b0b 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -113,6 +113,7 @@ class PMSTestSuiteCLI(object):
 			self.test_library.limit_tests(limit_tests)
 
 	def tests_done(self):
+		print('-> Checking test results...')
 		self.failed = []
 		for t in self.test_library:
 			res = t.check_result(self.pm)



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-22 19:53 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-22 19:53 UTC (permalink / raw
  To: gentoo-commits

commit:     82357a8e3d6e1d7820c57403a60cdd0b1d52301a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 22 19:51:26 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 22 19:51:26 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=82357a8e

Fix running when all tests were filtered out.

---
 PMSTestSuite/cli.py |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 342a1f2..eaff393 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -163,6 +163,10 @@ class PMSTestSuiteCLI(object):
 		files = {}
 		for t in self.test_library:
 			files.update(t.get_output_files())
+		if len(self.test_library) == 0:
+			print('No tests found (?!), refusing to proceed.')
+			return 1
+
 		files.update(get_common_eclass_files())
 		files.update(self.test_library.get_common_files())
 



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-21 17:58 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-21 17:58 UTC (permalink / raw
  To: gentoo-commits

commit:     68d4cb96fd25869b960938ffedf039ab8c3aeebf
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 21 17:57:29 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 21 17:57:29 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=68d4cb96

Get rid of setgid(), just make the repo world-readable.

---
 PMSTestSuite/cli.py |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 37c706c..08caa86 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -82,12 +82,7 @@ class PMSTestSuiteCLI(object):
 			opt.error('Package manager not supported: %s' % opts.pm)
 		self.pm.pm_options = shlex.split(opts.pmopts) if opts.pmopts else []
 
-		userpriv_group = self.pm.get_userpriv_group()
-		if userpriv_group is not None:
-			os.setgid(userpriv_group)
-			os.umask(0o27)
-		else:
-			os.umask(0o77)
+		os.umask(0o22)
 
 		try:
 			if opts.repo_path:



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-21 17:54 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-21 17:54 UTC (permalink / raw
  To: gentoo-commits

commit:     13f72b6bfc52443667d9760e2278dd2721615f12
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 21 17:48:46 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 21 17:49:34 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=13f72b6b

Order command-line options lexically.

---
 PMSTestSuite/cli.py |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 80b234c..ae791b1 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -36,10 +36,6 @@ class PMSTestSuiteCLI(object):
 		"""
 		opt = OptionParser(version = PV)
 
-		opt.add_option('-r', '--repository-name', dest='repo_name',
-				help='Name of the repository to store ebuilds in')
-		opt.add_option('-R', '--repository-path', dest='repo_path',
-				help='Path to the repository to store ebuilds in')
 		opt.add_option('-l', '--library', dest='library_name',
 				help='Test library to use (default: standard)',
 				default='standard')
@@ -51,6 +47,10 @@ class PMSTestSuiteCLI(object):
 				default='portage')
 		opt.add_option('-P', '--pm-options', dest='pmopts',
 				help='Additional options to pass to the Package Manager (shell-quoted)')
+		opt.add_option('-r', '--repository-name', dest='repo_name',
+				help='Name of the repository to store ebuilds in')
+		opt.add_option('-R', '--repository-path', dest='repo_path',
+				help='Path to the repository to store ebuilds in')
 
 		self.optparser = opt
 



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-21 17:54 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-21 17:54 UTC (permalink / raw
  To: gentoo-commits

commit:     49ce390c9f8d52320ccab0744929788c456f4e1e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 21 17:54:38 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 21 17:54:38 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=49ce390c

Support disabling Manifest updates via command-line.

---
 PMSTestSuite/cli.py |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index ae791b1..37c706c 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -41,6 +41,9 @@ class PMSTestSuiteCLI(object):
 				default='standard')
 		opt.add_option('-L', '--limit-packages', dest='limit_pkgs', type='int',
 				help='Limit the number of packages merged at once')
+		opt.add_option('-M', '--no-manifests', dest='no_manifests',
+				help='Disable Manifest generation/updates',
+				action='store_true', default=False)
 		# XXX: get list, autodetect, more magic
 		opt.add_option('-p', '--package-manager', dest='pm',
 				help='Package manager to use',
@@ -103,6 +106,7 @@ class PMSTestSuiteCLI(object):
 			opt.error('Test library load failed: %s' % e)
 
 		self.pm.package_limit = opts.limit_pkgs
+		self.update_manifests = not opts.no_manifests
 
 	def tests_done(self):
 		self.failed = []
@@ -159,7 +163,8 @@ class PMSTestSuiteCLI(object):
 		files.update(self.test_library.get_common_files())
 
 		self.repository.write_files(files)
-		self.repository.remanifest(files, self.pm)
+		if self.update_manifests:
+			self.repository.remanifest(files, self.pm)
 
 		for t in self.test_library:
 			t.clean(self.pm)



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-16 19:49 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-16 19:49 UTC (permalink / raw
  To: gentoo-commits

commit:     e1a498ae05cda905b24fdddd47d510ebc4c952cf
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 16 19:32:07 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 16 19:32:07 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=e1a498ae

Use only public test API in CLI.

---
 PMSTestSuite/cli.py |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 3573c85..d031a4c 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -112,8 +112,7 @@ class PMSTestSuiteCLI(object):
 				self.failed.append(t)
 			t.clean(self.pm)
 
-		self.merged_pkgs = frozenset(self.pm.lookup_vardb(self.cpvs))
-		if self.merged_pkgs:
+		if self.pm.has_pending_actions:
 			print('-> Unmerging test ebuilds...')
 			self.pm.commit(self.all_done)
 		else:
@@ -121,11 +120,11 @@ class PMSTestSuiteCLI(object):
 
 	def all_done(self):
 		if not self.failed:
-			print('%d tests completed successfully.' % len(self.cpvs))
+			print('%d tests completed successfully.' % len(self.test_library))
 		else:
 			print('%d of %d tests completed successfully, %d failed:'
-					% (len(self.cpvs) - len(self.failed),
-						len(self.cpvs), len(self.failed)))
+					% (len(self.test_library) - len(self.failed),
+						len(self.test_library), len(self.failed)))
 			for t in self.failed:
 				print('- %s' % t.p)
 
@@ -139,8 +138,9 @@ class PMSTestSuiteCLI(object):
 		self.pm.commit(self.tests_done)
 
 	def pre_unmerge_done(self):
-		installedcpvs = self.pm.lookup_vardb(self.cpvs)
-		if installedcpvs:
+		for t in self.test_library:
+			t.clean(self.pm)
+		if self.pm.has_pending_actions:
 			print('Failed to unmerge the following test ebuilds:')
 			print(' '.join(installedcpvs))
 			print('Refusing to proceed.')
@@ -161,14 +161,10 @@ class PMSTestSuiteCLI(object):
 		self.repository.write_files(files)
 		self.repository.remanifest(files, self.pm)
 
-		self.cpvs = [t.cpv for t in self.test_library]
-
-		self.package_queue = list(self.cpvs)
 		for t in self.test_library:
 			t.clean(self.pm)
 
-		installedcpvs = self.pm.lookup_vardb(self.cpvs)
-		if installedcpvs:
+		if self.pm.has_pending_actions:
 			print('-> Unmerging already-merged test ebuilds...')
 			self.pm.commit(self.pre_unmerge_done)
 		else:



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-15 16:14 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-15 16:14 UTC (permalink / raw
  To: gentoo-commits

commit:     84225a50e876cf89f4028790b9c6eeb1464575f6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 15 16:13:01 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 16:13:01 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=84225a50

Preset self.ret = 1.

---
 PMSTestSuite/cli.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 1eba0a7..89a498a 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -156,7 +156,6 @@ class PMSTestSuiteCLI(object):
 			print('Failed to unmerge the following test ebuilds:')
 			print(' '.join(installedcpvs))
 			print('Refusing to proceed.')
-			self.ret = 1
 			self.loop.quit()
 			return
 		self.start_pm()
@@ -188,6 +187,7 @@ class PMSTestSuiteCLI(object):
 		else:
 			self.start_pm()
 
+		self.ret = 1
 		self.loop = gobject.MainLoop()
 		self.loop.run()
 



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-13 19:16 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-13 19:16 UTC (permalink / raw
  To: gentoo-commits

commit:     ce1afa04a74adf0d3bc8abddbf1a7d9a7d107945
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 13 19:16:19 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun 13 19:16:19 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=ce1afa04

Fix running without a package limit.

---
 PMSTestSuite/cli.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 2798831..5820ec7 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -140,7 +140,7 @@ class PMSTestSuiteCLI(object):
 			del self.package_queue[:self.limit_packages]
 		else:
 			pkgs = self.package_queue
-			del self.package_queue[:]
+			self.package_queue = []
 
 		gobject.child_watch_add(self.pm.merge_async(pkgs),
 				self.merge_done)



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-11  6:32 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-11  6:32 UTC (permalink / raw
  To: gentoo-commits

commit:     94469b35c8ee25ab9d645cc7de713b5fe732480b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 11 06:25:59 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 11 06:25:59 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=94469b35

Support limiting the number of packages merged at once.

---
 PMSTestSuite/cli.py |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 7304455..b50960b 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -43,6 +43,8 @@ class PMSTestSuiteCLI(object):
 		opt.add_option('-l', '--library', dest='library_name',
 				help='Test library to use (default: standard)',
 				default='standard')
+		opt.add_option('-L', '--limit-packages', dest='limit_pkgs', type='int',
+				help='Limit the number of packages merged at once')
 		# XXX: get list, autodetect, more magic
 		opt.add_option('-p', '--package-manager', dest='pm',
 				help='Package manager to use',
@@ -100,7 +102,9 @@ class PMSTestSuiteCLI(object):
 		except (ImportError, TypeError) as e:
 			opt.error('Test library load failed: %s' % e)
 
-	def merge_done(self, pid, ret):
+		self.limit_packages = opts.limit_pkgs
+
+	def tests_done(self):
 		failed = []
 
 		cpvs = frozenset(self.pm.lookup_vardb(self.cpvs))
@@ -124,6 +128,23 @@ class PMSTestSuiteCLI(object):
 		self.ret = 0 if not failed else 1
 		self.loop.quit()
 
+	def merge_done(self, pid, ret):
+		if self.package_queue:
+			self.start_pm()
+		else:
+			self.tests_done()
+
+	def start_pm(self):
+		if self.limit_packages:
+			pkgs = self.package_queue[:self.limit_packages]
+			del self.package_queue[:self.limit_packages]
+		else:
+			pkgs = self.package_queue
+			del self.package_queue[:]
+
+		gobject.child_watch_add(self.pm.merge_async(pkgs),
+				self.merge_done)
+
 	def main(self, argv):
 		self._start(*argv)
 
@@ -152,8 +173,8 @@ class PMSTestSuiteCLI(object):
 
 		print('-> Running PM...')
 		self.loop = gobject.MainLoop()
-		gobject.child_watch_add(self.pm.merge_async(self.cpvs),
-				self.merge_done)
+		self.package_queue = list(self.cpvs)
+		self.start_pm()
 		self.loop.run()
 
 		return self.ret



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-09  5:48 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-09  5:48 UTC (permalink / raw
  To: gentoo-commits

commit:     8b3cdd1b1ea74bdaee432695f817bbdd24cd9385
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  9 05:47:20 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun  9 05:47:20 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=8b3cdd1b

Fix python3 compat.

---
 PMSTestSuite/cli.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 54b923e..7304455 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -80,9 +80,9 @@ class PMSTestSuiteCLI(object):
 		userpriv_group = self.pm.get_userpriv_group()
 		if userpriv_group is not None:
 			os.setgid(userpriv_group)
-			os.umask(027)
+			os.umask(0o27)
 		else:
-			os.umask(077)
+			os.umask(0o77)
 
 		try:
 			if opts.repo_path:



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-07 16:48 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-07 16:48 UTC (permalink / raw
  To: gentoo-commits

commit:     139f8f1ede17d1eabf96a149a045e380a779bf63
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 16:49:02 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 16:49:02 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=139f8f1e

Don't append repos when using name.

---
 PMSTestSuite/cli.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 35320e1..54b923e 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -87,6 +87,7 @@ class PMSTestSuiteCLI(object):
 		try:
 			if opts.repo_path:
 				self.repository = NewEbuildRepository(opts.repo_path, 'pms-test-suite')
+				self.pm.append_repository(self.repository)
 			else:
 				if not opts.repo_name:
 					opts.repo_name = 'pms-test-suite'
@@ -136,7 +137,6 @@ class PMSTestSuiteCLI(object):
 		self.repository.write_files(files)
 		self.repository.remanifest(files, self.pm)
 
-		self.pm.append_repository(self.repository)
 		self.cpvs = [t.cpv for t in self.test_library]
 
 		installedcpvs = self.pm.lookup_vardb(self.cpvs)



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-07 16:48 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-07 16:48 UTC (permalink / raw
  To: gentoo-commits

commit:     ab488c3ecd7a5ab0df215b8c511fc94024e90646
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 16:10:16 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 16:10:16 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=ab488c3e

Use proper professional wording.

---
 PMSTestSuite/cli.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 7901d85..35320e1 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -64,7 +64,7 @@ class PMSTestSuiteCLI(object):
 		(opts, args) = opt.parse_args(list(args))
 
 		if opts.repo_path and opts.repo_name:
-			opt.error('--repository-path and --repository-name can not be used together')
+			opt.error('--repository-path and --repository-name are mutually exclusive')
 
 		for x in get_package_managers():
 			if x.name == opts.pm:



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-07 15:20 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-07 15:20 UTC (permalink / raw
  To: gentoo-commits

commit:     cc9f31d4c7bd76e650b6bfeb3227fa6bd0d8c53f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 15:17:59 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 15:17:59 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=cc9f31d4

Support --repository-name.

---
 PMSTestSuite/cli.py |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index bfe4713..7901d85 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -36,7 +36,8 @@ class PMSTestSuiteCLI(object):
 		"""
 		opt = OptionParser(version = PV)
 
-		# XXX: -r for getting through PM's repo_name
+		opt.add_option('-r', '--repository-name', dest='repo_name',
+				help='Name of the repository to store ebuilds in')
 		opt.add_option('-R', '--repository-path', dest='repo_path',
 				help='Path to the repository to store ebuilds in')
 		opt.add_option('-l', '--library', dest='library_name',
@@ -62,8 +63,8 @@ class PMSTestSuiteCLI(object):
 		opt.prog = os.path.basename(prog)
 		(opts, args) = opt.parse_args(list(args))
 
-		if not opts.repo_path:
-			opt.error('--repository-path must be specified')
+		if opts.repo_path and opts.repo_name:
+			opt.error('--repository-path and --repository-name can not be used together')
 
 		for x in get_package_managers():
 			if x.name == opts.pm:
@@ -84,8 +85,13 @@ class PMSTestSuiteCLI(object):
 			os.umask(077)
 
 		try:
-			self.repository = NewEbuildRepository(opts.repo_path, 'pms-test-suite')
-		except (OSError, IOError, ValueError) as e:
+			if opts.repo_path:
+				self.repository = NewEbuildRepository(opts.repo_path, 'pms-test-suite')
+			else:
+				if not opts.repo_name:
+					opts.repo_name = 'pms-test-suite'
+				self.repository = self.pm.get_repository(opts.repo_name)
+		except (OSError, IOError, KeyError, ValueError) as e:
 			opt.error('Repository open failed: %s' % e)
 
 		try:



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-06  5:56 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-06  5:56 UTC (permalink / raw
  To: gentoo-commits

commit:     327dd780c5294be6c014d59a1b26e9d8acec48e7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  6 05:56:46 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun  6 05:56:46 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=327dd780

Ensure the unmerge actually succeeded before proceeding.

---
 PMSTestSuite/cli.py |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 15745d8..b62c837 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -130,6 +130,12 @@ class PMSTestSuiteCLI(object):
 		if installedcpvs:
 			print('-> Unmerging already-merged test ebuilds...')
 			self.pm.unmerge(installedcpvs)
+			installedcpvs = self.pm.lookup_vardb(self.cpvs)
+			if installedcpvs:
+				print('Failed to unmerge the following test ebuilds:')
+				print(' '.join(installedcpvs))
+				print('Refusing to proceed.')
+				return 1
 
 		print('-> Running PM...')
 		self.loop = gobject.MainLoop()



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-06-03 16:25 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-06-03 16:25 UTC (permalink / raw
  To: gentoo-commits

commit:     13d58c64c08e1a6c58a55718d19395aa2ba64412
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 16:25:55 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun  3 16:25:55 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=13d58c64

Simplify & fix test unmerge condition.

---
 PMSTestSuite/cli.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 8989ddb..0824cbf 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -95,7 +95,7 @@ class PMSTestSuiteCLI(object):
 			if not res:
 				failed.append(t)
 
-		if len(failed) != len(self.cpvs):
+		if cpvs:
 			print('-> Unmerging test ebuilds...')
 			self.pm.unmerge(cpvs)
 



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-05-31 21:06 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-05-31 21:06 UTC (permalink / raw
  To: gentoo-commits

commit:     780f6f0a6327abb2cc8cdc045c00ba5ef9ccf694
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 31 21:06:44 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 31 21:06:44 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=780f6f0a

Unmerge tests when done.

---
 PMSTestSuite/testrunner.py |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/PMSTestSuite/testrunner.py b/PMSTestSuite/testrunner.py
index ced3b3c..e435093 100644
--- a/PMSTestSuite/testrunner.py
+++ b/PMSTestSuite/testrunner.py
@@ -12,6 +12,10 @@ class TestRunnerCLI(EbuildGenCLI):
 			if not res:
 				failed.append(t)
 
+		if len(failed) != len(self.cpvs):
+			print('-> Unmerging test ebuilds...')
+			self.pm.unmerge(cpvs)
+
 		if not failed:
 			print('%d tests completed successfully.' % len(self.cpvs))
 		else:



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-05-31 19:18 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-05-31 19:18 UTC (permalink / raw
  To: gentoo-commits

commit:     6577ec98750852c393d2c9dba91f986c703f6d0b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 31 19:18:41 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 31 19:18:41 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=6577ec98

Fix running with no --pm-options.

---
 PMSTestSuite/cli.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index 713b1a0..7db4713 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -73,7 +73,7 @@ class PMSTestSuiteCLI(object):
 				break
 		else:
 			opt.error('Package manager not supported: %s' % opts.pm)
-		self.pm.pm_options = shlex.split(opts.pmopts)
+		self.pm.pm_options = shlex.split(opts.pmopts) if opts.pmopts else []
 
 		try:
 			self.repository = EbuildRepository(opts.repo_path)



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-05-31 17:19 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-05-31 17:19 UTC (permalink / raw
  To: gentoo-commits

commit:     6c74f6434db0c985c7c0b0afaec7227e4e5f139c
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 31 17:12:36 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 31 17:17:32 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=6c74f643

Use actual tests in dbus_handler.

---
 PMSTestSuite/dbus_handler.py |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/PMSTestSuite/dbus_handler.py b/PMSTestSuite/dbus_handler.py
index f19c098..89e2ac5 100644
--- a/PMSTestSuite/dbus_handler.py
+++ b/PMSTestSuite/dbus_handler.py
@@ -11,23 +11,23 @@ dbus_object_prefix = '/org/gentoo/PMSTestSuite'
 class RunningTest(dbus.service.Object):
 	""" A class encapsulating a running test. """
 
-	def __init__(self, test_name, parent):
+	def __init__(self, test, parent):
 		"""
-		Initialize the object for test <test_name>, for DBusHandler <parent>.
+		Initialize the object for test <test>, for DBusHandler <parent>.
 		"""
-		self.test_name = test_name
-		self.output = []
+		self.test = test
 		dbus.service.Object.__init__(
+				self,
 				parent.bus,
-				'%s/%s' % (dbus_object_prefix, test_name)
+				'%s/%s' % (dbus_object_prefix, test.p.replace('-', '_'))
 		)
 
 	@dbus.service.method(
 			dbus_interface=dbus_interface_name,
-			in_signature='ss', out_signature='')
+			in_signature='s', out_signature='')
 	def append_output(self, l):
 		""" Append the line <l> to the test output. """
-		self.output.append(l)
+		self.test.dbus_output.append(l)
 
 class DBusHandler(object):
 	""" A class handling all D-Bus interaction for PMS Test Suite. """
@@ -40,4 +40,4 @@ class DBusHandler(object):
 
 	def add_test(self, test):
 		""" Add the object for <test> to the handler. """
-		test._dbusobj = RunningTest(test.pn, self)
+		test._dbusobj = RunningTest(test, self)



^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-05-31 17:19 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-05-31 17:19 UTC (permalink / raw
  To: gentoo-commits

commit:     439039d774b8292b6a1db9615c5edb7d71a8b40b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 31 17:11:57 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 31 17:11:57 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=439039d7

Rename PMSTestSuite.dbus -> dbus_handler to avoid namespace collision.

---
 PMSTestSuite/{dbus.py => dbus_handler.py} |    0
 1 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/PMSTestSuite/dbus.py b/PMSTestSuite/dbus_handler.py
similarity index 100%
rename from PMSTestSuite/dbus.py
rename to PMSTestSuite/dbus_handler.py



^ permalink raw reply	[flat|nested] 46+ messages in thread
* [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/
@ 2011-05-29 17:46 Michał Górny
  0 siblings, 0 replies; 46+ messages in thread
From: Michał Górny @ 2011-05-29 17:46 UTC (permalink / raw
  To: gentoo-commits

commit:     59950b49e9d07a640c7b5a66e3644c1816be675b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May 29 17:36:28 2011 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun May 29 17:36:28 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=59950b49

PMSTestSuiteCLI: fix error reporting.

---
 PMSTestSuite/cli.py |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/PMSTestSuite/cli.py b/PMSTestSuite/cli.py
index a7856d4..a0d957c 100644
--- a/PMSTestSuite/cli.py
+++ b/PMSTestSuite/cli.py
@@ -75,11 +75,9 @@ class PMSTestSuiteCLI(object):
 		try:
 			self.repository = EbuildRepository(opts.repo_path)
 		except (OSError, IOError, ValueError) as e:
-			print('Repository open failed: %s' % e)
-			return 1
+			opt.error('Repository open failed: %s' % e)
 
 		try:
 			self.test_library = load_library(opts.library_name)
 		except (ImportError, TypeError) as e:
-			print('Test library load failed: %s' % e)
-			return 1
+			opt.error('Test library load failed: %s' % e)



^ permalink raw reply related	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2012-06-20  8:02 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-05 17:09 [gentoo-commits] proj/pms-test-suite:master commit in: pmstestsuite/ Michał Górny
  -- strict thread matches above, loose matches on Subject: below --
2012-06-20  8:01 Michał Górny
2012-01-04 16:33 Michał Górny
2012-01-03 15:52 Michał Górny
2012-01-03 15:52 Michał Górny
2012-01-03 15:52 Michał Górny
2012-01-03 15:52 Michał Górny
2011-08-21  8:19 Michał Górny
2011-08-20  6:23 Michał Górny
2011-08-13  7:38 Michał Górny
2011-08-08 22:15 Michał Górny
2011-08-05 21:36 Michał Górny
2011-08-05 17:09 Michał Górny
2011-08-05 17:09 Michał Górny
2011-08-05 17:09 Michał Górny
2011-08-05 17:09 Michał Górny
2011-08-05 17:09 Michał Górny
2011-08-05 17:09 Michał Górny
2011-08-05 10:04 Michał Górny
2011-08-03 20:17 Michał Górny
2011-08-03 20:17 Michał Górny
2011-08-03 20:17 Michał Górny
2011-08-03 20:17 Michał Górny
2011-08-03  8:17 Michał Górny
2011-08-02 18:53 Michał Górny
2011-07-18  6:49 Michał Górny
2011-06-24 18:03 [gentoo-commits] proj/pms-test-suite:master commit in: PMSTestSuite/ Michał Górny
2011-06-22 19:53 Michał Górny
2011-06-21 17:58 Michał Górny
2011-06-21 17:54 Michał Górny
2011-06-21 17:54 Michał Górny
2011-06-16 19:49 Michał Górny
2011-06-15 16:14 Michał Górny
2011-06-13 19:16 Michał Górny
2011-06-11  6:32 Michał Górny
2011-06-09  5:48 Michał Górny
2011-06-07 16:48 Michał Górny
2011-06-07 16:48 Michał Górny
2011-06-07 15:20 Michał Górny
2011-06-06  5:56 Michał Górny
2011-06-03 16:25 Michał Górny
2011-05-31 21:06 Michał Górny
2011-05-31 19:18 Michał Górny
2011-05-31 17:19 Michał Górny
2011-05-31 17:19 Michał Górny
2011-05-29 17:46 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