def setup(r):
        # test unpacking and extracting from an RPM
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm')

        # test unpacking and extracting from a src bz2 RPM
        r.addSource('mkinitrd.spec', rpm='rpm-with-bzip-5.0.29-1.src.rpm')

        # test unpacking and extracting from a bz2 RPM
        r.addArchive('rpm-with-bzip-5.0.29-1.i386.rpm')

        # test unpacking and extracting from an lzma RPM
        r.addArchive('gnome-main-menu-0.9.10-26.x86_64.rpm')

        # test unpacking from a tar.xz (CNY-3207)
        r.addArchive('foo.tar.xz', dir='/')

        # test applying a patch
        r.addPatch('tmpwatch.fakebug.patch')
        # test taking that patch right back out with a string to extraArgs
        r.addPatch('tmpwatch.fakebug.patch', extraArgs='--reverse')
        # test putting the patch back in again with a list to extraArgs this time
        r.addPatch('tmpwatch.fakebug.patch', extraArgs=['--ignore-whitespace',])
        # test the dest= capability of addSource
        r.addSource('tmpwatch.fakebug.patch', dest='foo')
        r.addSource('tmpwatch.fakebug.patch', dir='/asdf', dest='foo')
        r.addSource('tmpwatch.fakebug.patch', dest='/asdf/foo2%%')
        r.addSource('tmpwatch.fakebug.patch', dest='/asdf/')
        # make sure spaces are OK
        r.addSource('name with spaces')
        r.addSource('localfoo')
        r.addSource('local name with spaces')
        r.addAction('ls foo')
        r.addAction('ls foo', dir='/asdf')
        r.addAction('ls foo2%%', dir='/asdf')
        r.addAction('ls tmpwatch.fakebug.patch', dir='/asdf')
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm',
                        dir='/asdf')
        r.addAction('ls tmpwatch-2.9.0', dir='/asdf')
        # XXX I'm not sure what this was intended to show
        #r.addAction('ls tmpwatch-2.9.0', dir='%(destdir)s/asdf')
        r.addPatch('tmpwatch.fakebug.patch', dir='/asdf/tmpwatch-2.9.0')