Patchwork [2,of,2,vfat-fix] test-subrepo-recursion: attempt to fix output for non-hardlink systems

login
register
mail settings
Submitter Augie Fackler
Date April 3, 2015, 10:22 p.m.
Message ID <681860a35e9a25650c4e.1428099726@imladris.local>
Download mbox | patch
Permalink /patch/8484/
State Rejected
Headers show

Comments

Augie Fackler - April 3, 2015, 10:22 p.m.
# HG changeset patch
# User Augie Fackler <augie@google.com>
# Date 1428099564 14400
#      Fri Apr 03 18:19:24 2015 -0400
# Node ID 681860a35e9a25650c4ec727434b95fc5dd52e98
# Parent  9a32491562cd45acfc376b57023dfeb7125ce6ea
test-subrepo-recursion: attempt to fix output for non-hardlink systems

I'm seeing slight instability in output, but I have to be done tinkering with
this now. This also exposes abug, which I've noted inline in the test file.
Augie Fackler - April 4, 2015, 1:40 a.m.
On Apr 3, 2015, at 6:22 PM, Augie Fackler <raf@durin42.com> wrote:

> # HG changeset patch
> # User Augie Fackler <augie@google.com>
> # Date 1428099564 14400
> #      Fri Apr 03 18:19:24 2015 -0400
> # Node ID 681860a35e9a25650c4ec727434b95fc5dd52e98
> # Parent  9a32491562cd45acfc376b57023dfeb7125ce6ea
> test-subrepo-recursion: attempt to fix output for non-hardlink systems
> 
> I'm seeing slight instability in output, but I have to be done tinkering with
> this now. This also exposes abug, which I've noted inline in the test file.

I figured out the instability here: the test was configuring enough of progress to have stable output *except* when nested progress topics were in play. I’ve set progress.changedelay to a huge value (larger than any reasonable run-tests timeout) and now the instability is gone. I’m going to push the (now 3) patches to crew.

> 
> diff --git a/tests/test-subrepo-recursion.t b/tests/test-subrepo-recursion.t
> --- a/tests/test-subrepo-recursion.t
> +++ b/tests/test-subrepo-recursion.t
> @@ -341,6 +341,7 @@ Test archiving to zip file (unzip output
> Test archiving a revision that references a subrepo that is not yet
> cloned:
> 
> +#if hardlink
>   $ hg clone -U . ../empty
>   \r (no-eol) (esc)
>   linking [ <=>                                           ] 1\r (no-eol) (esc)
> @@ -352,7 +353,14 @@ cloned:
>   linking [       <=>                                     ] 7\r (no-eol) (esc)
>   linking [        <=>                                    ] 8\r (no-eol) (esc)
>                                                               \r (no-eol) (esc)
> +#else
> +  $ hg clone -U . ../empty
> +  \r (no-eol) (esc)
> +  linking [ <=>                                           ] 1 (no-eol)
> +#endif
> +
>   $ cd ../empty
> +#if hardlink
>   $ hg archive --subrepos -r tip ../archive.tar.gz
>   \r (no-eol) (esc)
>   archiving [                                           ] 0/3\r (no-eol) (esc)
> @@ -400,6 +408,29 @@ cloned:
>                                                               \r (no-eol) (esc)
>   cloning subrepo foo from $TESTTMP/repo/foo
>   cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
> +#else
> +Note there's a slight output glitch on non-hardlink systems: the last
> +"linking" progress topic never gets closed, leading to slight output corruption on that platform.
> +  $ hg archive --subrepos -r tip ../archive.tar.gz
> +  \r (no-eol) (esc)
> +  archiving [                                           ] 0/3\r (no-eol) (esc)
> +  archiving [                                           ] 0/3\r (no-eol) (esc)
> +  archiving [=============>                             ] 1/3\r (no-eol) (esc)
> +  archiving [=============>                             ] 1/3\r (no-eol) (esc)
> +  archiving [===========================>               ] 2/3\r (no-eol) (esc)
> +  archiving [===========================>               ] 2/3\r (no-eol) (esc)
> +  archiving [==========================================>] 3/3\r (no-eol) (esc)
> +  archiving [==========================================>] 3/3\r (no-eol) (esc)
> +                                                              \r (no-eol) (esc)
> +  \r (no-eol) (esc)
> +  linking [ <=>                                           ] 1\r (no-eol) (esc)
> +                                                              \r (no-eol) (esc)
> +  \r (no-eol) (esc)
> +                                                              \r (no-eol) (esc)
> +  \r (no-eol) (esc)
> +  linking [  <=>                                          ] 1cloning subrepo foo from $TESTTMP/repo/foo
> +  cloning subrepo foo/bar from $TESTTMP/repo/foo/bar
> +#endif
> 
> The newly cloned subrepos contain no working copy:
> 
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
Pierre-Yves David - April 4, 2015, 9:45 p.m.
On 04/03/2015 06:40 PM, Augie Fackler wrote:
>
> On Apr 3, 2015, at 6:22 PM, Augie Fackler <raf@durin42.com> wrote:
>
>> # HG changeset patch
>> # User Augie Fackler <augie@google.com>
>> # Date 1428099564 14400
>> #      Fri Apr 03 18:19:24 2015 -0400
>> # Node ID 681860a35e9a25650c4ec727434b95fc5dd52e98
>> # Parent  9a32491562cd45acfc376b57023dfeb7125ce6ea
>> test-subrepo-recursion: attempt to fix output for non-hardlink systems
>>
>> I'm seeing slight instability in output, but I have to be done tinkering with
>> this now. This also exposes abug, which I've noted inline in the test file.
>
> I figured out the instability here: the test was configuring enough of progress to have stable output *except* when nested progress topics were in play. I’ve set progress.changedelay to a huge value (larger than any reasonable run-tests timeout) and now the instability is gone. I’m going to push the (now 3) patches to crew.

The series looks good to me, And you explanation of the test too.

Feel free to resend or push to crew.
Augie Fackler - April 4, 2015, 10:20 p.m.
Already pushed to crew.
On Apr 4, 2015 5:45 PM, "Pierre-Yves David" <pierre-yves.david@ens-lyon.org>
wrote:

>
>
> On 04/03/2015 06:40 PM, Augie Fackler wrote:
>
>>
>> On Apr 3, 2015, at 6:22 PM, Augie Fackler <raf@durin42.com> wrote:
>>
>>  # HG changeset patch
>>> # User Augie Fackler <augie@google.com>
>>> # Date 1428099564 14400
>>> #      Fri Apr 03 18:19:24 2015 -0400
>>> # Node ID 681860a35e9a25650c4ec727434b95fc5dd52e98
>>> # Parent  9a32491562cd45acfc376b57023dfeb7125ce6ea
>>> test-subrepo-recursion: attempt to fix output for non-hardlink systems
>>>
>>> I'm seeing slight instability in output, but I have to be done tinkering
>>> with
>>> this now. This also exposes abug, which I've noted inline in the test
>>> file.
>>>
>>
>> I figured out the instability here: the test was configuring enough of
>> progress to have stable output *except* when nested progress topics were in
>> play. I’ve set progress.changedelay to a huge value (larger than any
>> reasonable run-tests timeout) and now the instability is gone. I’m going to
>> push the (now 3) patches to crew.
>>
>
> The series looks good to me, And you explanation of the test too.
>
> Feel free to resend or push to crew.
>
> --
> Pierre-Yves David
>

Patch

diff --git a/tests/test-subrepo-recursion.t b/tests/test-subrepo-recursion.t
--- a/tests/test-subrepo-recursion.t
+++ b/tests/test-subrepo-recursion.t
@@ -341,6 +341,7 @@  Test archiving to zip file (unzip output
 Test archiving a revision that references a subrepo that is not yet
 cloned:
 
+#if hardlink
   $ hg clone -U . ../empty
   \r (no-eol) (esc)
   linking [ <=>                                           ] 1\r (no-eol) (esc)
@@ -352,7 +353,14 @@  cloned:
   linking [       <=>                                     ] 7\r (no-eol) (esc)
   linking [        <=>                                    ] 8\r (no-eol) (esc)
                                                               \r (no-eol) (esc)
+#else
+  $ hg clone -U . ../empty
+  \r (no-eol) (esc)
+  linking [ <=>                                           ] 1 (no-eol)
+#endif
+
   $ cd ../empty
+#if hardlink
   $ hg archive --subrepos -r tip ../archive.tar.gz
   \r (no-eol) (esc)
   archiving [                                           ] 0/3\r (no-eol) (esc)
@@ -400,6 +408,29 @@  cloned:
                                                               \r (no-eol) (esc)
   cloning subrepo foo from $TESTTMP/repo/foo
   cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
+#else
+Note there's a slight output glitch on non-hardlink systems: the last
+"linking" progress topic never gets closed, leading to slight output corruption on that platform.
+  $ hg archive --subrepos -r tip ../archive.tar.gz
+  \r (no-eol) (esc)
+  archiving [                                           ] 0/3\r (no-eol) (esc)
+  archiving [                                           ] 0/3\r (no-eol) (esc)
+  archiving [=============>                             ] 1/3\r (no-eol) (esc)
+  archiving [=============>                             ] 1/3\r (no-eol) (esc)
+  archiving [===========================>               ] 2/3\r (no-eol) (esc)
+  archiving [===========================>               ] 2/3\r (no-eol) (esc)
+  archiving [==========================================>] 3/3\r (no-eol) (esc)
+  archiving [==========================================>] 3/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  linking [ <=>                                           ] 1\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  linking [  <=>                                          ] 1cloning subrepo foo from $TESTTMP/repo/foo
+  cloning subrepo foo/bar from $TESTTMP/repo/foo/bar
+#endif
 
 The newly cloned subrepos contain no working copy: