From: Jonathan Nieder <jrnieder@gmail.com>
To: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: Git List <git@vger.kernel.org>,
David Barr <david.barr@cordelta.com>,
Sverre Rabbelier <srabbelier@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 2/3] t9010-svn-fi: Add tests for svn-fi
Date: Tue, 1 Feb 2011 12:58:17 -0600 [thread overview]
Message-ID: <20110201185817.GG3771@burratino> (raw)
In-Reply-To: <1296570403-9082-3-git-send-email-artagnon@gmail.com>
Ramkumar Ramachandra wrote:
> Create a test-svn-fi in toplevel directory, add rules to build it, and
> add some basic tests.
Thanks. Probably this should be squashed with patch #1?
> --- /dev/null
> +++ b/t/t9010-svn-fi.sh
Test number's already taken. 9012 is free, though.
> @@ -0,0 +1,303 @@
> +#!/bin/sh
> +
> +test_description='check svn dumpfile exporter'
> +
> +. ./test-lib.sh
> +
> +if ! svnadmin -h >/dev/null 2>&1
> +then
> + skip_all='skipping svn-fi tests, svn not available'
> + test_done
> +fi
Is it impossible to test without svn present or otherwise speed
these up? Some random ideas:
- feed svn-fi output into svn-fe and compare git repos
- check if "svn-fi after svn-fe" is idempotent (should it be?)
- check for individual salient features from svn-fi output, using
"grep", "sed", or "awk" to ignore the rest
- use svnrdump in place of "svnadmin load" if available (is it
faster?)
- find the bottleneck in svnadmin and fix it
Of course at least one test of the "svn-fe | svnadmin load"
pipeline seems worthwhile; I'm just thinking we should avoid
habits that slow down the test suite too much.
> +svn_look () {
> + subcommand=$1 &&
> + shift &&
> + svnlook "$subcommand" "$svnrepo" "$@"
> +}
Needed? The svn_cmd function exists to point to a configuration
directory.
> +test_expect_success 'normal empty files' '
> + reinit_svn &&
> + cat >expect.tree <<-\EOF &&
> + /
> + foo
> + bar
> + EOF
> + cat >input <<-\EOF &&
> + reset refs/heads/master
> + commit refs/heads/master
> + mark :1
> + author nobody <nobody@localhost> 1170199019 +0100
> + committer nobody <nobody@localhost> 1170199019 +0100
Where do the dates come from? Why should I (the reader) expect
them?
> +# TODO: How to test date? Need to convert from local timestamp
Ah, you saw. :)
One possibility is to fuzz away whatever is unimportant when
comparing results (and using tools like "awk" to extract the
date to perform whatever tests on it are appropriate where it
matters).
> +test_expect_success 'malformed fast-import stream: author 2' '
> + reinit_svn &&
> + cat >input <<-\EOF &&
> + reset refs/heads/master
> + commit refs/heads/master
> + mark :1
> + author nobody <localhost> 1170199019 +0100
> + committer nobody <nobody@localhost> 1170199019 +0100
> + data 0
> + M 100644 inline foo
> + data 0
> +
> + EOF
> + try_load input must_fail
What's wrong with this stream?
> +test_expect_success 'svn:special and svn:executable' '
> + reinit_svn &&
> + cat >input <<-\EOF &&
> + reset refs/heads/master
> + commit refs/heads/master
> + mark :1
> + author nobody <nobody@localhost> 1170199019 +0100
> + committer nobody <nobody@localhost> 1170199019 +0100
> + data 7
> + nothing
> + M 100755 inline foo
> + data 0
> + M 755 inline moo
> + data 0
> + M 120000 inline bar
> + data 0
> +
> + EOF
> + try_load input &&
> + svn_look propget svn:executable foo &&
> + svn_look propget svn:executable moo &&
> + svn_look propget svn:special bar
Maybe worth checking for the absence of svn:executable +
svn:special from an ordinary file, too?
> +test_expect_success 'replace symlink with normal file' '
Nice. "replace symlink with executable" and "replace symlink
with directory" might also be interesting.
Regards,
Jonathan
next prev parent reply other threads:[~2011-02-01 18:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-01 14:26 [PATCH v3 0/3] Towards a Git-to-SVN bridge Ramkumar Ramachandra
2011-02-01 14:26 ` [PATCH 1/3] vcs-svn: Introduce svnload, a dumpfile producer Ramkumar Ramachandra
2011-02-01 14:46 ` Erik Faye-Lund
2011-02-02 2:53 ` Ramkumar Ramachandra
2011-02-02 12:43 ` Erik Faye-Lund
2011-02-01 14:26 ` [PATCH 2/3] t9010-svn-fi: Add tests for svn-fi Ramkumar Ramachandra
2011-02-01 18:58 ` Jonathan Nieder [this message]
2011-02-02 2:49 ` Ramkumar Ramachandra
2011-02-02 3:18 ` Jonathan Nieder
2011-02-01 14:26 ` [PATCH 3/3] vcs-svn: Refactor dump_export code into dispatch table Ramkumar Ramachandra
2011-02-01 17:42 ` Jonathan Nieder
2011-02-01 21:29 ` Junio C Hamano
2011-02-02 2:56 ` Ramkumar Ramachandra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110201185817.GG3771@burratino \
--to=jrnieder@gmail.com \
--cc=artagnon@gmail.com \
--cc=david.barr@cordelta.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=srabbelier@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).