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} You can selectively run some tests: # Run everything: PERL_DL_NONLAZY=1 perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t # Only run everything orphans tests: PERL_DL_NONLAZY=1 perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*orphans*.t # If you want to see the output: perl t/superuser--orphans.t 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