Re: [Patch v3 08/11] test: define GMime version dependant breakage

Subject: Re: [Patch v3 08/11] test: define GMime version dependant breakage

Date: Tue, 30 May 2017 00:14:12 +0300

To: David Bremner, notmuch@freelists.org, notmuch@notmuchmail.org

Cc:

From: Tomi Ollila


On Sat, May 27 2017, David Bremner wrote:

> We have some tests where the gmime 3 behaviour seems like a bug fix,
> others where it's less clear, so we allow both possibilities.
> ---
>  configure        |  5 +++++
>  test/test-lib.sh | 16 ++++++++++++++++
>  2 files changed, 21 insertions(+)
>
> diff --git a/configure b/configure
> index 91aeba51..c5e2ffed 100755
> --- a/configure
> +++ b/configure
> @@ -489,11 +489,13 @@ if pkg-config --exists "gmime-3.0"; then
>      have_gmime=1
>      gmime_cflags=$(pkg-config --cflags gmime-3.0)
>      gmime_ldflags=$(pkg-config --libs gmime-3.0)
> +    gmime_major=3
>  elif pkg-config --exists "gmime-2.6 >= $GMIME_MINVER"; then
>      printf "Yes (2.6).\n"
>      have_gmime=1
>      gmime_cflags=$(pkg-config --cflags gmime-2.6)
>      gmime_ldflags=$(pkg-config --libs gmime-2.6)
> +    gmime_major=2
>  else
>      have_gmime=0
>      printf "No.\n"
> @@ -1212,6 +1214,9 @@ NOTMUCH_PYTHON=${python}
>  # building/testing ruby bindings.
>  NOTMUCH_HAVE_RUBY_DEV=${have_ruby_dev}
>  
> +# Major version of gmime
> +NOTMUCH_GMIME_MAJOR=${gmime_major}
> +
>  # Platform we are run on
>  PLATFORM=${platform}
>  EOF
> diff --git a/test/test-lib.sh b/test/test-lib.sh
> index 37f8ddfa..093481c3 100644
> --- a/test/test-lib.sh
> +++ b/test/test-lib.sh
> @@ -1202,6 +1202,22 @@ test_init_ () {
>  
>  . ./test-lib-common.sh || exit 1

series lgtm so far (afaiu)

>  
> +if [ "${NOTMUCH_GMIME_MAJOR}" = 3 ]; then
> +    function test_subtest_broken_gmime_3 () {
> +	
> +    }

s/function // i.e. no `function` keyword (unnecessary and we don't use
those elsewhere)

Too bad bash(1) is picky enough not supporting 
test_subtest_broken_gmime_3 () test_subtest_known_broken
(i.e. w/o {}s like other shells do)

> +    function test_subtest_broken_gmime_2 () {
> +	/bin/true

/bin/true runs external command unnecessarily, plain `true` would
execute internal shell command.

> +    }
> +else
> +    function test_subtest_broken_gmime_3 () {

> +	/bin/true
> +    }
> +    function test_subtest_broken_gmime_2 () {
> +	test_subtest_known_broken
> +    }
> +fi
> +
>  emacs_generate_script
>  
>  
> -- 
> 2.11.0

Thread: