[PATCH] test-phase-exchange: stabilize for Windows

Matt Harbison mharbison72 at gmail.com
Mon Jul 17 23:18:53 EDT 2017


On Mon, 17 Jul 2017 11:05:27 -0400, FUJIWARA Katsunori  
<foozy at lares.dti.ne.jp> wrote:

> At Sat, 15 Jul 2017 23:49:54 -0400,
> Matt Harbison wrote:
>>
>> # HG changeset patch
>> # User Matt Harbison <matt_harbison at yahoo.com>
>> # Date 1500176793 14400
>> #      Sat Jul 15 23:46:33 2017 -0400
>> # Node ID 21904723f1ce9ea0fc6541ee48611ba3ef7128fb
>> # Parent  389536aff376d32d38f13305021c127245d4126a
>> test-phase-exchange: stabilize for Windows
>>
>> diff --git a/tests/test-phases-exchange.t b/tests/test-phases-exchange.t
>> --- a/tests/test-phases-exchange.t
>> +++ b/tests/test-phases-exchange.t
>> @@ -1298,11 +1298,17 @@
>>
>>  #endif
>>
>> -Test that clone behaves like pull and doesn't
>> -publish changesets as plain push does
>> +Test that clone behaves like pull and doesn't publish changesets as  
>> plain push
>> +does.  The conditional output accounts for changes in the conditional  
>> block
>> +above.
>>
>>    $ hg -R Upsilon phase -q --force --draft 2
>>    test-debug-phase: move rev 2: 0 -> 1
>> +  test-debug-phase: move rev 3: 0 -> 1 (unix-permissions no-root !)
>> +  test-debug-phase: move rev 7: 0 -> 1 (unix-permissions no-root !)
>> +  test-debug-phase: move rev 8: 0 -> 1 (unix-permissions no-root !)
>> +  test-debug-phase: move rev 9: 0 -> 1 (unix-permissions no-root !)
>> +
>
> According to commit log of 4eec2f04a672, "(unix-permissions no-root !)"
> marking means:
>
>   - this line is required, if "unix-permissions no-root" is satisfied
>   - this line is optional, otherwise
>
> AFAIK, additional lines above appear:
>
>   - not on POSIX, on which "unix-permissions no-root" is satisfied
>   - but on windows, on which it isn't
>
> Therefore, I expect this change to cause:
>
>   - failure on POSIX, because all required lines disappear
>   - success on Windows, because all optional lines appear
>
> But in practice, this change doesn't cause failure on POSIX.
>
> For more simple example, I expect that test script below fails,
> because "true" command generate no output, even though "foobar" output
> is always expected ("true" feature is always available). But it
> doesn't fail in practice.
>
>   ====================
>     $ true
>     foobar (true !)
>   ====================
>
> What do I misunderstand about "(feature !)" ?

Nice catch.  I think I see what's going on here, and another bug around  
(?).  I should have a fix tonight or tomorrow.

>
> BTW, it seems bug of run-tests.py that "(unknown-feature !)" doesn't
> cause failure.

Agreed.  I thought I remembered there being a test for a missing feature,  
and it complaining in that case, so I thought this was covered.  How  
should it fail?  Dropping the line seems too subtle.

>
>>    $ hg clone -q Upsilon Pi -r 7
>>    test-debug-phase: new rev 0:  x -> 0
>>    test-debug-phase: new rev 1:  x -> 0
>> _______________________________________________
>> 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