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