[PATCH STABLE] tests-subrepo-git: make the "pwned" message output in a stable order

timeless timeless at gmail.com
Fri May 27 04:02:57 EDT 2016


the theory sounds right, but i think the expected results need to be
generated from a system where git isn't broken.
i.e. `pwned` is not the proper expected output.

On Thu, May 26, 2016 at 8:47 PM,  <danek.duvall at oracle.com> wrote:
> # HG changeset patch
> # User Danek Duvall <danek.duvall at oracle.com>
> # Date 1464309643 25200
> #      Thu May 26 17:40:43 2016 -0700
> # Branch stable
> # Node ID 821cafd65aac2b2199764acba0b1ede8d6e62b6e
> # Parent  89bba2beb03ea62e7fc8bcf3272e3cda1065ad89
> tests-subrepo-git: make the "pwned" message output in a stable order
>
> The "pwned" message from this test gets gets sent to stderr, and so gets
> emitted in different places from run to run in the rest of mercurial's
> output.  This patch forces the message to go to a specific file instead,
> whose contents we can examine in a stable point in the test's execution.
>
> diff --git a/tests/test-subrepo-git.t b/tests/test-subrepo-git.t
> --- a/tests/test-subrepo-git.t
> +++ b/tests/test-subrepo-git.t
> @@ -1135,7 +1135,7 @@ make sure we show changed files, rather
>  test for Git CVE-2016-3068
>    $ hg init malicious-subrepository
>    $ cd malicious-subrepository
> -  $ echo "s = [git]ext::sh -c echo% pwned% >&2" > .hgsub
> +  $ echo "s = [git]ext::sh -c echo% pwned% >pwned.txt" > .hgsub
>    $ git init s
>    Initialized empty Git repository in $TESTTMP/tc/malicious-subrepository/s/.git/
>    $ cd s
> @@ -1149,19 +1149,20 @@ test for Git CVE-2016-3068
>    Cloning into '$TESTTMP/tc/malicious-subrepository-protected/s'... (glob)
>    fatal: transport 'ext' not allowed
>    updating to branch default
> -  cloning subrepo s from ext::sh -c echo% pwned% >&2
> +  cloning subrepo s from ext::sh -c echo% pwned% >pwned.txt
>    abort: git clone error 128 in s (in subrepo s)
>    [255]
>
>  whitelisting of ext should be respected (that's the git submodule behaviour)
>    $ env GIT_ALLOW_PROTOCOL=ext hg clone malicious-subrepository malicious-subrepository-clone-allowed
>    Cloning into '$TESTTMP/tc/malicious-subrepository-clone-allowed/s'... (glob)
> -  pwned
>    fatal: Could not read from remote repository.
>
>    Please make sure you have the correct access rights
>    and the repository exists.
>    updating to branch default
> -  cloning subrepo s from ext::sh -c echo% pwned% >&2
> +  cloning subrepo s from ext::sh -c echo% pwned% >pwned.txt
>    abort: git clone error 128 in s (in subrepo s)
>    [255]
> +  $ cat pwned.txt
> +  pwned
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list