summaryrefslogtreecommitdiffstats
path: root/t/README
blob: 9c8214970b9c67bdc0af8e817a234b80e3f9b6b7 (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
The tests are running the following way:

01compile.t	ensures everything is valid perl
02create_pkgs.t	builds the various RPMs needed by the others tests
cfg.t		tests reading/writing the config files
pod.t		check for POD errors in files (optional)
superuser--*.t  tests needing to be run as root

The first tests just ensure that basic things in urpmi works.

you need to be root to run superuser--*.t,
with a normal user those tests are simply skipped.

They actually test both urpmi, URPM _and_ *rpm* extensively.
It had often found regressions in rpm itself that rpm's own testsuite didn't found.

superuser--file-conflicts.t runs only some patches on Mageia due to having a
downstream patch there

superuser--mirrorlist.t will only be run on Mageia as it needs a specific patch
that introduces Time::ZoneInfo->current_zone()

Usage:
------

use "make testall"

You can speed up things by using eatmydata which will prevent all the fsync()
& fdatasync() calls in librpm:
eatmydata make testall

If you didn't alter the tests data, you can further speedup a re-run by using:
[[ -d t/media ]] && mv -f t/02create_pkgs.t{,.i}

Layout:
=======

The testsuite layout is :
t/
  *.t the tests
  helper.pm common stuff for the tests
  data/  data for the tests
     SPECS/ spec files for generating test rpms
     rpm-*/ some old rpm v3 pkgs & some buggy rpms in order to check rpmlib itself
  media/ where test rpms & test repos are generated