[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svnadmin dump/load, svndumpfilter regression tests

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2003-07-17 16:21:45 CEST

Alexander Sabourenkov <screwdriver@lxnt.info> writes:

> Hello.
>
> I thought on how to check and be exactly sure that the svndumpfilter (
> and svnadmin dump too) work as expected and came up with the following:

This is issue #810: "dumper/loader regression tests sorely needed"

It would be great if you want to tackle this!

Start off by absorbing subversion/tests/clients/cmdline/README; it
will give you an overview of how our python tests work.

>
> 1. Create a test repository. Stuff there several revisions, with
> modifications, copies and deletes.

Our test framework already does this for every test.

>
> 2. Do a dump/load into another repository.

Easily doable; our test framework already uses dump/load to create a
new repository for each test.

>
> 3. Check out every revision out of both repositories and compare
> resulting working copies. Or maybe export instead of checkout.

Multiple checkouts will work fine. And our test framework is already
built around the idea of comparing trees: disk trees, 'svn status'
trees, and trees that result from parsing 'svn co/up' output.

>
> 4. Repeat step 2 using svndumpfilter. For example:
> - filter out a node that has only been modified.
> - filter out a node that has been copied
> - filter out a node that has been moved
> - filter out a node that has been moved and another node was created
> with the same name in later revision
> - etc

Sounds good.

>
> 5. Repeat step 3.
>
> This tests both dump and load operations simultaneously. If there is a
> bug in one of them, somebody will have a harder than possible time
> hunting it down.
>
> One way to test them separately is to
> for load - generate dumpstream, load, query the repo via cmdline client, compare.
>
> for dump - create repo, do some commits with cmdline client, dump, compare.
>
> But this requres dumpstream generator and parser in python. Which will
> have their own bugs.

No, no need to write a dumpstream generator/parser in python. The
whole point of our python tests is that the use the binary tools as
"black boxes", just like a user would. They're already invoking {svn,
svnadmin, svnlook}. You would just be adding 'svndumpfilter' to the
list.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jul 17 16:24:01 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.