On Wed, Aug 11, 2010 at 05:28, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > Ævar Arnfjörð Bjarmason wrote: > >> Here's an attempt at that, I've convented test_commit, test_merge and >> test_cmp to report intra-test progress. The only problem is that it >> doesn't quite work. > > I forgot to say: thanks for the demonstration. This is neat stuff. > >> eval >&3 2>&4 "$1" >> >> So when you run it you'll just get: >> >> $ ./t0100-previous.sh >> 1..1 >> ok 1 - branch -d @{-1} >> ok 2 - branch -d @{-12} when there is not enough switches yet >> 1..2 >> ok 3 - merge @{-1} >> ok 4 - merge @{-1} when there is not enough switches yet >> # passed all 4 test(s) >> 1..4 >> >> Is there some filedescriptor saving/redirection magic I can do within >> the subtest code to print things to the *real* stdout and stderr > > Descriptor 5 is a pass-through for stdout: see v0.99.5~24^2~4 > (Trapping exit in tests, 2005-08-10). > > Do you need a pass-through for stderr, too, or was that theoretical? Nope, thanks. Using >&5 works. >> @@ -290,20 +295,38 @@ test_tick () { >> >> test_commit () { >> file=${2:-"$1.t"} >> - echo "${3-$1}" > "$file" && >> - git add "$file" && >> - test_tick && >> - git commit -m "$1" && >> - git tag "$1" >> + subtest_count=$(($subtest_count + 1)) >> + >> + if echo "${3-$1}" > "$file" && >> + git add "$file" && >> + test_tick && >> + git commit -m "$1" && >> + git tag "$1" >> + then >> + test_ok_ "test_commit file:<$file> message:<$1> contents<${3-$1}>" >> + true >> + else >> + test_failure_ "test_commit file:<$file> message:<$1> contents<${3-$1}>" >> + true >> + fi > > This would make the test continue after the subtest, right? Is that > intended? No, should be return 0/1. Changed that in my working branch. I'm going to drop this for a while until my pending patches to test stuff get into pu. But initial experiments with using >&5 everywhere for test progress are promising: http://github.com/avar/git/tree/test-intra-progress-using-tap-subtests-v2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html