PMS Test Suite

A GSoC 2011 project by Michał Górny.

[Homepage]( )

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].


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:

/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


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