From: Jonathan Nieder <jrnieder@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [RFC/PATCH] WIP: Report intra-test progress with TAP subtests
Date: Tue, 10 Aug 2010 19:44:25 -0500 [thread overview]
Message-ID: <20100811004425.GI2099@burratino> (raw)
In-Reply-To: <1281473829-2102-1-git-send-email-avarab@gmail.com>
Hi Ævar,
Ævar Arnfjörð Bjarmason wrote:
> ok 1 - A git test
> ok 1 - doing test -f file
> ok 2 - git commit ...
> ok 3 - test_tick...
> 1..3
> ok 2 - A git test
> 1..2
>
> Here's an attempt at that, I've convented test_commit, test_merge and
> test_cmp to report intra-test progress.
What if a test uses none of those commands?
The ultimate conclusion of such an approach would be to use
replacements for common commands like “git” and “cd”, making tests a
lot harder to read and write for the uninitiated.
If we get peeks where the infrastructure has a chance to provide
them, maybe it would be nice to allow explicitly inserting such
checkpoints, too? Like:
mv init init2 &&
checkpoint &&
git config -f .gitmodules submodule.example.url "$(pwd)/init2" &&
checkpoint &&
git config --remove-section submodule.example &&
checkpoint &&
[...]
while debugging.
However, I would rather see those inserted automatically.
Two ideas without code to back them up:
1. Script parsing.
Yes, parsing shell command language is hard, but tests use only
a subset of it. In particular the &&-chaining means it might
be relatively easy to find where each command starts and ends.
The hard bits: “if”, “while”, and “for” flow control constructs.
The payoff of even partial progress in this would be very high,
since it should make static analysis of &&-chaining possible.
2. Letting the shell trace for us.
When tests fail, I generally use
sh -x ./failing-test.sh -v -i
and scroll back through the log to the important part.
Maybe the test harness could automate that a little, by using
set -x at the beginning and set +x at the end of each test.
Hope that helps,
Jonathan
next prev parent reply other threads:[~2010-08-11 0:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-10 20:57 [RFC/PATCH] WIP: Report intra-test progress with TAP subtests Ævar Arnfjörð Bjarmason
2010-08-11 0:44 ` Jonathan Nieder [this message]
2010-08-11 0:55 ` Ævar Arnfjörð Bjarmason
2010-08-11 1:04 ` Jonathan Nieder
2010-08-11 6:44 ` Johannes Sixt
2010-08-11 5:28 ` Jonathan Nieder
2010-08-11 16:41 ` Ævar Arnfjörð Bjarmason
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=20100811004425.GI2099@burratino \
--to=jrnieder@gmail.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
/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.