On Sun, Nov 1, 2015 at 2:34 PM, Lukas Fleischer <lfleisc...@lfos.de> wrote:
> Test whether regular and full hideRefs patterns work as expected when
> namespaces are used.
>
> Signed-off-by: Lukas Fleischer <lfleisc...@lfos.de>
> ---
> diff --git a/t/t5509-fetch-push-namespaces.sh 
> b/t/t5509-fetch-push-namespaces.sh
> @@ -82,4 +82,33 @@ test_expect_success 'mirroring a repository using a ref 
> namespace' '
>         )
>  '
>
> +test_expect_success "Hide namespaced refs with transfer.hideRefs" '

None of the other tests in this file capitalize the test description.
These new test descriptions should probably follow suit by beginning
with lowercase. It is also typical to use single quotes for the
description rather than double.

> +       cd pushee &&
> +       test_config transfer.hideRefs refs/tags &&
> +       GIT_NAMESPACE=namespace git ls-remote "ext::git %s ." >actual &&
> +       printf "$commit1\trefs/heads/master\n" >expected &&
> +       test_cmp expected actual &&
> +       cd ..

If any of the commands above "cd .." fail, then "cd .." will never be
invoked, thus subsequent tests will fail since they won't be executed
in the expected directory. The typical way to handle this is to place
the "cd foo" and remaining test body in a subshell, and drop "cd .."
altogether. When the subshell exits (via success or failure), the
working directory will be restored automatically.

    test_expect_success '...' '
        (
            cd pushee &&
            test_config ... &&
            ...
        )
    '

> +'
> +
> +test_expect_success "Check that transfer.hideRefs does not match unstripped 
> refs" '
> +       cd pushee &&
> +       test_config transfer.hideRefs "refs/namespaces/namespace/refs/tags" &&
> +       GIT_NAMESPACE=namespace git ls-remote "ext::git %s ." >actual &&
> +       printf "$commit1\trefs/heads/master\n" >expected &&
> +       printf "$commit0\trefs/tags/0\n" >>expected &&
> +       printf "$commit1\trefs/tags/1\n" >>expected &&
> +       test_cmp expected actual &&
> +       cd ..
> +'
> +
> +test_expect_success "Hide full refs with transfer.hideRefs" '
> +       cd pushee &&
> +       test_config transfer.hideRefs "^refs/namespaces/namespace/refs/tags" 
> &&
> +       GIT_NAMESPACE=namespace git ls-remote "ext::git %s ." >actual &&
> +       printf "$commit1\trefs/heads/master\n" >expected &&
> +       test_cmp expected actual &&
> +       cd ..
> +'
> +
>  test_done
> --
> 2.6.2
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to