Re: [PATCH] test: Quote $output in calls to test_expect_equal

Subject: Re: [PATCH] test: Quote $output in calls to test_expect_equal

Date: Tue, 27 Nov 2012 12:04:18 +0200

To: Austin Clements, notmuch@notmuchmail.org

Cc:

From: Tomi Ollila


On Tue, Nov 27 2012, Austin Clements <amdragon@MIT.EDU> wrote:

> Previously, many tests in emacs-subject-to-filename didn't quote the
> $output argument to test_expect_equal.  As a result, if $output was
> empty, test_expect_equal would be passed only one argument and would
> abort the entire test script.  By quoting the argument, we ensure
> test_expect_equal will always receive two arguments.
> ---

Looks SO good to me. +1 !

Tomi

PS: we should do something to detect aborting scripts
    some options: 1) trap, 2) detect test_done not run, 3) return value
            4) at the beginning of script state count of expexted tests

>  test/emacs-subject-to-filename |   18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/test/emacs-subject-to-filename b/test/emacs-subject-to-filename
> index a0ffdfe..1e94a98 100755
> --- a/test/emacs-subject-to-filename
> +++ b/test/emacs-subject-to-filename
> @@ -60,55 +60,55 @@ test_begin_subtest "filename #1"
>  output=$(test_emacs '(notmuch-wash-subject-to-filename
>        "just a subject line")'
>  )
> -test_expect_equal $output '"just-a-subject-line"'
> +test_expect_equal "$output" '"just-a-subject-line"'
>  
>  test_begin_subtest "filename #2"
>  output=$(test_emacs '(notmuch-wash-subject-to-filename
>        " [any]  [prefixes are ] [removed!] from the subject")'
>  )
> -test_expect_equal $output '"from-the-subject"'
> +test_expect_equal "$output" '"from-the-subject"'
>  
>  test_begin_subtest "filename #3"
>  output=$(test_emacs '(notmuch-wash-subject-to-filename
>        "  leading and trailing space  ")'
>  )
> -test_expect_equal $output '"leading-and-trailing-space"'
> +test_expect_equal "$output" '"leading-and-trailing-space"'
>  
>  test_begin_subtest "filename #4"
>  output=$(test_emacs '(notmuch-wash-subject-to-filename
>        "!#  leading ()// &%, and in between_and_trailing garbage ()(&%%")'
>  )
> -test_expect_equal $output '"-leading-and-in-between_and_trailing-garbage"'
> +test_expect_equal "$output" '"-leading-and-in-between_and_trailing-garbage"'
>  
>  test_begin_subtest "filename #5"
>  output=$(test_emacs '(notmuch-wash-subject-to-filename
>        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_01234567890")'
>  )
> -test_expect_equal $output '"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_01234567890"'
> +test_expect_equal "$output" '"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_01234567890"'
>  
>  test_begin_subtest "filename #6"
>  output=$(test_emacs '(notmuch-wash-subject-to-filename
>        "sequences of ... are squashed and trailing are removed ...")'
>  )
> -test_expect_equal $output '"sequences-of-.-are-squashed-and-trailing-are-removed"'
> +test_expect_equal "$output" '"sequences-of-.-are-squashed-and-trailing-are-removed"'
>  
>  test_begin_subtest "filename #7"
>  output=$(test_emacs '(notmuch-wash-subject-to-filename
>        "max length test" 1)'
>  )
> -test_expect_equal $output '"m"'
> +test_expect_equal "$output" '"m"'
>  
>  test_begin_subtest "filename #8"
>  output=$(test_emacs '(notmuch-wash-subject-to-filename
>        "max length test /&(/%&/%%&¤%¤" 20)'
>  )
> -test_expect_equal $output '"max-length-test"'
> +test_expect_equal "$output" '"max-length-test"'
>  
>  test_begin_subtest "filename #9"
>  output=$(test_emacs '(notmuch-wash-subject-to-filename
>        "[a prefix] [is only separated] by [spaces], so \"by\" is not okay!")'
>  )
> -test_expect_equal $output '"by-spaces-so-by-is-not-okay"'
> +test_expect_equal "$output" '"by-spaces-so-by-is-not-okay"'
>  
>  # test notmuch-wash-subject-to-patch-filename (subject)
>  test_begin_subtest "patch filename #1"
> -- 
> 1.7.10.4
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch

Thread: