On Mon, Aug 02 2021, David Bremner wrote: > This will allow adding "hook code" to be run for a particular > configuration, in particular marking all tests in a given > configuration as broken. uh, see below > --- > test/T055-path-config.sh | 48 ++++++++++++++++++++++++---------------- > 1 file changed, 29 insertions(+), 19 deletions(-) > > diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh > index bb3bf665..2061b116 100755 > --- a/test/T055-path-config.sh > +++ b/test/T055-path-config.sh > @@ -79,6 +79,13 @@ xdg_config () { > notmuch --config=${CONFIG_PATH} config set database.path > } > > +config_subtest () { > + local title=$1 > + local config=$2 > + > + test_begin_subtest "$title ($config)" > +} here w/o commit message one cannot see the point ;/ Then I looked, in one commit there were this added if [[ "$config" == "maildir_env" ]]; then test_subtest_known_broken fi after test_begin_subtest "$title ($config)", and one config_subtest call was restored to call to test_begin_subtest finally the above code was removed (but that one test_begin_subtest was not re-restored to use config_subtest) i am not too happy about this acrobacy... btw; that one change there (later in series): - config_subtest "notmuch +config -database suggests notmuch new" "$config" + test_begin_subtest "notmuch +config -database suggests notmuch new" "$config" ... and another... - config_subtest "Set config value" "$config" + test_begin_subtest "Set config value" "$config" are these correct, the latter was changed originally (in this patch): - test_begin_subtest "Set config value ($config)" + config_subtest "Set config value" "$config" --- After thinking a while I see the point, I am not sure if this is better, but I'd do this the following way: begin_config_subtest () { test_begin_subtest "$@" } then it is easy to flip between begin_config_subtest and test_begin_subtest whenever needed -- and in final commit to fix all broken patches remove all extra code from begin_config_subtest and ensure that no calls to test_begin_subtest are made in that particular file Tomi > + > for config in traditional split XDG XDG+profile symlink home_mail; do > #start each set of tests with an known set of messages > add_email_corpus > @@ -106,20 +113,23 @@ for config in traditional split XDG XDG+profile symlink home_mail; do > home_mail) > home_mail_config > ;; > + maildir_env) > + maildir_env_config > + ;; > esac > > - test_begin_subtest "count ($config)" > + config_subtest "count" "$config" > output=$(notmuch count '*') > test_expect_equal "$output" '52' > > - test_begin_subtest "count+tag ($config)" > + config_subtest "count+tag" "$config" > tag="tag${RANDOM}" > notmuch tag +$tag '*' > output=$(notmuch count tag:$tag) > notmuch tag -$tag '*' > test_expect_equal "$output" '52' > > - test_begin_subtest "address ($config)" > + config_subtest "address" "$config" > notmuch address --deduplicate=no --sort=newest-first --output=sender --output=recipients path:foo >OUTPUT > cat <<EOF >EXPECTED > Carl Worth <cworth@cworth.org> > @@ -127,7 +137,7 @@ notmuch@notmuchmail.org > EOF > test_expect_equal_file EXPECTED OUTPUT > > - test_begin_subtest "dump ($config)" > + config_subtest "dump" "$config" > notmuch dump is:attachment and is:signed | sort > OUTPUT > cat <<EOF > EXPECTED > #notmuch-dump batch-tag:3 config,properties,tags > @@ -136,43 +146,43 @@ EOF > EOF > test_expect_equal_file EXPECTED OUTPUT > > - test_begin_subtest "dump + tag + restore ($config)" > + config_subtest "dump + tag + restore" "$config" > notmuch dump '*' > EXPECTED > notmuch tag -inbox '*' > notmuch restore < EXPECTED > notmuch dump > OUTPUT > test_expect_equal_file EXPECTED OUTPUT > > - test_begin_subtest "reindex ($config)" > + config_subtest "reindex" "$config" > notmuch search --output=messages '*' > EXPECTED > notmuch reindex '*' > notmuch search --output=messages '*' > OUTPUT > test_expect_equal_file EXPECTED OUTPUT > > - test_begin_subtest "use existing database ($config)" > + config_subtest "use existing database" "$config" > output=$(notmuch new) > test_expect_equal "$output" 'No new mail.' > > - test_begin_subtest "create database ($config)" > + config_subtest "create database" "$config" > rm -rf $DATABASE_PATH/{.notmuch,}/xapian > notmuch new > output=$(notmuch count '*') > test_expect_equal "$output" '52' > > - test_begin_subtest "detect new files ($config)" > + config_subtest "detect new files" "$config" > generate_message > generate_message > notmuch new > output=$(notmuch count '*') > test_expect_equal "$output" '54' > > - test_begin_subtest "Show a raw message ($config)" > + config_subtest "Show a raw message" "$config" > add_message > notmuch show --format=raw id:$gen_msg_id > OUTPUT > test_expect_equal_file $gen_msg_filename OUTPUT > rm -f $gen_msg_filename > > - test_begin_subtest "reply ($config)" > + config_subtest "reply" "$config" > add_message '[from]="Sender <sender@example.com>"' \ > [to]=test_suite@notmuchmail.org \ > [subject]=notmuch-reply-test \ > @@ -190,7 +200,7 @@ On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote: > > basic reply test > EOF > test_expect_equal_file EXPECTED OUTPUT > - test_begin_subtest "insert+search ($config)" > + config_subtest "insert+search" "$config" > generate_message \ > "[subject]=\"insert-subject\"" \ > "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ > @@ -201,13 +211,13 @@ EOF > test_expect_equal_file "$cur_msg_filename" "$gen_msg_filename" > > > - test_begin_subtest "compact+search ($config)" > + config_subtest "compact+search" "$config" > notmuch search --output=messages '*' | sort > EXPECTED > notmuch compact > notmuch search --output=messages '*' | sort > OUTPUT > test_expect_equal_file EXPECTED OUTPUT > > - test_begin_subtest "upgrade backup ($config)" > + config_subtest "upgrade backup" "$config" > features=$(xapian-metadata get $XAPIAN_PATH features | grep -v "^relative directory paths") > xapian-metadata set $XAPIAN_PATH features "$features" > output=$(notmuch new | grep Welcome) > @@ -215,7 +225,7 @@ EOF > "$output" \ > "Welcome to a new version of notmuch! Your database will now be upgraded." > > - test_begin_subtest "notmuch +config -database suggests notmuch new ($config)" > + config_subtest "notmuch +config -database suggests notmuch new" "$config" > mv "$XAPIAN_PATH" "${XAPIAN_PATH}.bak" > notmuch > OUTPUT > cat <<EOF > EXPECTED > @@ -231,7 +241,7 @@ EOF > > test_expect_equal_file EXPECTED OUTPUT > > - test_begin_subtest "Set config value ($config)" > + config_subtest "Set config value" "$config" > name=${RANDOM} > value=${RANDOM} > notmuch config set test${test_count}.${name} ${value} > @@ -240,7 +250,7 @@ EOF > output2=$(notmuch config get test${test_count}.${name}) > test_expect_equal "${output}+${output2}" "${value}+" > > - test_begin_subtest "Set config value in database ($config)" > + config_subtest "Set config value in database" "$config" > name=${RANDOM} > value=${RANDOM} > notmuch config set --database test${test_count}.${name} ${value} > @@ -249,7 +259,7 @@ EOF > output2=$(notmuch config get test${test_count}.${name}) > test_expect_equal "${output}+${output2}" "${value}+" > > - test_begin_subtest "Config list ($config)" > + config_subtest "Config list" "$config" > notmuch config list | notmuch_dir_sanitize | sed -e "s/^database.backup_dir=.*$/database.backup_dir/" \ > -e "s/^database.hook_dir=.*$/database.hook_dir/" \ > -e "s/^database.path=.*$/database.path/" \ > @@ -276,7 +286,7 @@ EOF > > case $config in > XDG*) > - test_begin_subtest "Set shadowed config value in database ($config)" > + config_subtest "Set shadowed config value in database" "$config" > name=${RANDOM} > value=${RANDOM} > key=test${test_count}.${name} > -- > 2.30.2 > _______________________________________________ > notmuch mailing list -- notmuch@notmuchmail.org > To unsubscribe send an email to notmuch-leave@notmuchmail.org _______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-leave@notmuchmail.org