From: Jonathan Nieder <jrnieder@gmail.com>
To: Jeff King <peff@peff.net>
Cc: Ramkumar Ramachandra <artagnon@gmail.com>,
Git List <git@vger.kernel.org>,
Junio C Hamano <gitster@pobox.com>,
Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [PATCH 3/6] t5516 (fetch-push): introduce mk_test_with_name()
Date: Wed, 20 Mar 2013 13:00:11 -0700 [thread overview]
Message-ID: <20130320200010.GR3655@google.com> (raw)
In-Reply-To: <20130320185844.GB30165@sigill.intra.peff.net>
Jeff King wrote:
> I
> tend to read the tests in a top-down manner: a test is interesting
> (usually because it fails), and then I want to see what it is doing, so
> I look at any functions it calls, and so forth.
>
> What I usually find _much_ harder to debug is when there is hidden state
> leftover from other tests.
Thanks for articulating this. I agree that keeping track of state is
the hardest part of working with git's tests.
To clarify my earlier comment, I was reading the test script from the
point of view of someone who wants to add an additional test, rather
than someone debugging an existing one. That person has a difficult
task: she needs to understand
* What do the existing tests in the script do? This information
is important in deciding whether the new test will be redundant.
* How do I work with the particular dialect used in the script,
including helpers? A new test should fit in with the style of its
surroundings to avoid contributing to an unmaintainable mess.
* What is the intended scope of the test script? Does my new test
belong in this script?
* What is the logical progression of the script? What story does this
script tell? Where should I insert my test to maintain a logical
ordering?
* What state that later tests rely on do I need to avoid clobbering?
Generally the best way to help such a person is to make the script
very simple. In particular, using standard helpers instead of custom
functions when appropriate and documenting helpers used to give new
readers a quick introduction to the dialect can help a lot.
next prev parent reply other threads:[~2013-03-20 20:00 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-20 12:44 [PATCH v2 0/6] Support triangular workflows Ramkumar Ramachandra
2013-03-20 12:44 ` [PATCH 1/6] remote.c: simplify a bit of code using git_config_string() Ramkumar Ramachandra
2013-03-20 18:07 ` Jonathan Nieder
2013-03-20 18:12 ` Ramkumar Ramachandra
2013-03-20 12:44 ` [PATCH 2/6] t5516 (fetch-push): update test description Ramkumar Ramachandra
2013-03-20 18:22 ` Jonathan Nieder
2013-03-20 18:33 ` Ramkumar Ramachandra
2013-03-20 18:35 ` Jonathan Nieder
2013-03-20 12:44 ` [PATCH 3/6] t5516 (fetch-push): introduce mk_test_with_name() Ramkumar Ramachandra
2013-03-20 18:28 ` Jonathan Nieder
2013-03-20 18:38 ` Ramkumar Ramachandra
2013-03-20 18:41 ` Jonathan Nieder
2013-03-20 18:58 ` Jeff King
2013-03-20 19:52 ` Junio C Hamano
2013-03-20 20:00 ` Jonathan Nieder [this message]
2013-03-20 12:44 ` [PATCH 4/6] remote.c: introduce a way to have different remotes for fetch/push Ramkumar Ramachandra
2013-03-20 18:30 ` Jonathan Nieder
2013-03-20 19:03 ` Junio C Hamano
2013-03-20 19:43 ` Ramkumar Ramachandra
2013-03-20 19:48 ` Junio C Hamano
2013-03-20 12:45 ` [PATCH 5/6] remote.c: introduce remote.pushdefault Ramkumar Ramachandra
2013-03-20 18:32 ` Jonathan Nieder
2013-03-20 18:53 ` Junio C Hamano
2013-03-20 19:46 ` Ramkumar Ramachandra
2013-03-20 12:45 ` [PATCH 6/6] remote.c: introduce branch.<name>.pushremote Ramkumar Ramachandra
2013-03-20 13:03 ` Tay Ray Chuan
2013-03-20 13:35 ` Ramkumar Ramachandra
2013-03-20 13:06 ` [PATCH v2 0/6] Support triangular workflows Tay Ray Chuan
2013-03-22 7:44 ` Ramkumar Ramachandra
2013-03-20 23:04 ` Philip Oakley
2013-03-22 7:41 ` Ramkumar Ramachandra
2013-03-22 15:16 ` Junio C Hamano
2013-03-23 12:42 ` Ramkumar Ramachandra
-- strict thread matches above, loose matches on Subject: below --
2013-03-22 7:52 [PATCH v3 " Ramkumar Ramachandra
2013-03-22 7:52 ` [PATCH 3/6] t5516 (fetch-push): introduce mk_test_with_name() Ramkumar Ramachandra
2013-03-22 14:44 ` Jeff King
2013-03-22 14:52 ` Junio C Hamano
2013-03-22 14:59 ` Jeff King
2013-03-22 21:14 ` Jonathan Nieder
2013-03-28 13:03 ` Ramkumar Ramachandra
2013-03-22 14:54 ` Junio C Hamano
2013-03-22 14:58 ` Jeff King
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=20130320200010.GR3655@google.com \
--to=jrnieder@gmail.com \
--cc=artagnon@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=sunshine@sunshineco.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.