aboutsummaryrefslogtreecommitdiff
blob: 318eb8fcbc42d4492fd487b1bc34af6ccbc028e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#	vim:fileencoding=utf-8
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.

from pmstestsuite.output import OutputModule

class CLIOutput(OutputModule):
	name = 'cli'

	def __call__(self, allresults, verbose = False):
		ret = True
		for pm, results in allresults.items():
			failed = filter(lambda tr: not tr[1], results.items())
			if not failed and not verbose:
				print('[%s] %d tests completed successfully.'
						% (pm.name, len(results)))
			else:
				print('[%s] %d of %d tests completed successfully, %d failed:'
						% (pm.name, len(results) - len(failed),
							len(results), len(failed)))
				tl = failed if not verbose else results.items()
				for t, r in tl:
					print('- %s [%s%s]' % (t,
						'OK' if r else 'FAILED',
						'/UNDEF' if r.undefined else ''))
					for a in r.assertions:
						print('-> %s: %s [%s%s]' % (a.name, str(a),
								'OK' if a else 'FAILED',
								'/UNDEF' if a.undefined else ''))
			ret &= bool(failed)

		return ret