aboutsummaryrefslogtreecommitdiff
path: root/README
blob: e92e3da6906e86b075947438b6bcd5d3d7b6a766 (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
PMS Test Suite
==============

A GSoC 2011 project by Michał Górny.

[Homepage]( http://www.gentoo.org/proj/en/qa/pms/pms-test-suite.xml )


Few words of introduction
-------------------------

The PMS Test Suite projects aims to create a comprehensive, universal test suite
for Gentoo Package Managers. It is supposed to create a set of test ebuilds, run
them using a particular Package Manager (like portage) and check their results
to determine whether the PM does comply to the [PMS][1].

[1]:http://www.gentoo.org/proj/en/qa/pms.xml


Running tests using Portage
---------------------------

The Portage backend is the only backend supporting running tests using a random,
unconfigured directory. Thus, running the test suite is as simple as:

	pms-tester -R /tmp/temporary-repo-location

This will cover all the necessary steps of setting up the repository, creating
ebuilds, setting `PORTDIR_OVERLAY` and running the test suite. Please note that
it doesn't remove the repository afterwards -- it is intended to be reusable.


Running tests using other PMs
-----------------------------

If the intent is to use another PM than Portage, one must first create
an (empty) repository for test suite and add it to PMs repository list.

The simplest way of doing that involves using the Portage backend once again:

	pms-tester -R /var/cache/pms-tests --create-repo-only

One may also create and name the repository manually:

	umask 022
	mkdir -p /var/cache/pms-tests/profiles
	echo 'pms-test-suite' > /var/cache/pms-tests/profiles/repo_name

In both cases, it is necessary to add the repository to PMs config; for Portage
that would be:

	echo 'PORTDIR_OVERLAY="${PORTDIR_OVERLAY}
		/var/cache/pms-tests' >> /etc/make.conf

The newly-created repository will be then referenced by its name:

	pms-tester -p pkgcore

If a different name was used, that would be:

	pms-tester -r repository-name -p pkgcore


Getting nice HTML results
-------------------------

By default, pms-tester simply runs all tests and prints status information
and details on test failures. If you'd like to get a nice HTML output instead
(like [the one published by me][1]), please use:

	pms-tester -o html -O myoutput.html

This will, however, create output for a single PM only. In order to use multiple
ones, just specify all of them:

	pms-tester -p paludis -p pkgcore -p portage -o html -O myoutput.html

[1]:http://www.gentoo.org/proj/en/qa/pms/pms-test-suite-output.html

<!-- vim:se syn=markdown :-->