[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Testing the new VC code
From: |
Eric S. Raymond |
Subject: |
Re: Testing the new VC code |
Date: |
Tue, 25 Nov 2014 16:17:37 -0500 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Michael Albinus <address@hidden>:
> > Instead of doing one-off tests, please take the amount of time you
> > would have allocated for those and write a Lisp exerciser for the
> > whole edit cycle - registration, checkout, modification, checkin,
> > diff, etc. The more cases in vc-action you can visit, the better.
>
> I could do this, using ert. The question is which repositories to use
> for tests. Something to be created on the fly, via `vc-create-repo' and
> friends?
Yes, that way we can do content checks knowing exactly what should be in
the repository after each operation.
> That might work pretty well for the backends with a local repository
> (git, bzr, hg and alike), but what to do with the other ones?
Looking...for the following ones, create-repo should just work: git,
bzr, hg, RCS, SCCS, SRC, and (somewhat to my surprise) SVN.
We're missing create-repo methods for arch, mtn, and CVS. These are a
little tricky and need some context other than just a directory to
work in.
What we need to do for CVS is:
1. Create a scratch CVS remote root directory, probably in /tmp; mkdir
/tmp/cvsroot
2. Create an empty module directory with a fixed name (say, 'module') inside
that: mkdir /tmp/cvsroot/module
3. Give it a peer empty directory named CVSROOT: mkdir /tmp/cvsroot/CVSROOT
4. Now, where we actually want to create the dummy local repository, we do this:
cvs -Q -d:local:/tmp/cvsroot co module
mv module/CVS .
rmdir module
After these operations, the CVS subdirectory should have three files in it:
::::::::::::::
module/CVS/Entries
::::::::::::::
D
::::::::::::::
module/CVS/Repository
::::::::::::::
module
::::::::::::::
module/CVS/Root
::::::::::::::
:local:/tmp/cvsroot
A CVS operation in the current directory will then look at the CVS subdirectory,
see the contents of these files, and do the right thing.
Arch is much easier:
1. Create a test repository with a dummy name: tla make-archive foo .
2. Make that our default for future arch operations: tla my-default-archive foo
Mtn is a different kind of tricky. You need to say
1. mtn db init --db=~/dummy.mtn
2. mtn --db=dummy.mtn --branch=foo setup .
being aware that this will create an SQL database dummy.mtn under
~/.monotone/databases that will need to be cleaned up on test exit.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
- Re: Testing the new VC code, (continued)
- Re: Testing the new VC code, Steinar Bang, 2014/11/25
- Re: Testing the new VC code, Steinar Bang, 2014/11/25
- Re: Testing the new VC code, David Kastrup, 2014/11/25
- Re: Testing the new VC code, Steinar Bang, 2014/11/25
- Re: Testing the new VC code, Andreas Schwab, 2014/11/25
- Re: Testing the new VC code, Michael Albinus, 2014/11/24
- Re: Testing the new VC code, Eric S. Raymond, 2014/11/24
- Re: Testing the new VC code, Michael Albinus, 2014/11/25
- Re: Testing the new VC code, Eric S. Raymond, 2014/11/25
- Re: Testing the new VC code, Michael Albinus, 2014/11/25
- Re: Testing the new VC code,
Eric S. Raymond <=
- Re: Testing the new VC code, Michael Albinus, 2014/11/26
- Re: Testing the new VC code, Eric S. Raymond, 2014/11/26
- Re: Testing the new VC code, Stefan Monnier, 2014/11/25
- Re: Testing the new VC code, Eric S. Raymond, 2014/11/25
- Re: Testing the new VC code, David Kastrup, 2014/11/25
- Ergonomics and neurology for interface designers, Eric S. Raymond, 2014/11/25
- Re: Ergonomics and neurology for interface designers, David Kastrup, 2014/11/25
- Re: Ergonomics and neurology for interface designers, Eric S. Raymond, 2014/11/25
- Re: Testing the new VC code, Stephen J. Turnbull, 2014/11/25
- Re: vc-state-heuristic is gone, Stefan Monnier, 2014/11/24