Patchwork [windows] tests: add and remove some (glob) markers

login
register
mail settings
Submitter Augie Fackler
Date Sept. 16, 2017, 2:08 a.m.
Message ID <0da0e691552a428641c7.1505527725@augie-macbookpro2.roam.corp.google.com>
Download mbox | patch
Permalink /patch/23935/
State Accepted
Headers show

Comments

Augie Fackler - Sept. 16, 2017, 2:08 a.m.
# HG changeset patch
# User Augie Fackler <augie@google.com>
# Date 1505527705 14400
#      Fri Sep 15 22:08:25 2017 -0400
# Node ID 0da0e691552a428641c75e1633e5f1d0fbf3483e
# Parent  209120041d12b524648fa856732aa404dfedd91d
tests: add and remove some (glob) markers

I have no idea if these changes are reasonable, but they look like
they'd help on the Windows buildbot.
Augie Fackler - Sept. 16, 2017, 2:14 a.m.
> On Sep 15, 2017, at 22:08, Augie Fackler <raf@durin42.com> wrote:
> 
> # HG changeset patch
> # User Augie Fackler <augie@google.com>
> # Date 1505527705 14400
> #      Fri Sep 15 22:08:25 2017 -0400
> # Node ID 0da0e691552a428641c75e1633e5f1d0fbf3483e
> # Parent  209120041d12b524648fa856732aa404dfedd91d
> tests: add and remove some (glob) markers

These are the sane-looking failures on the Windows buildbot. The run-tests failure looks like some sort of environment variable setting dance is failing on Windows (huh?), and I'm singularly baffled by the test-patchbomb-tls.t failure. But we're close to getting that builder to pass.

> 
> I have no idea if these changes are reasonable, but they look like
> they'd help on the Windows buildbot.
> 
> diff --git a/tests/test-drawdag.t b/tests/test-drawdag.t
> --- a/tests/test-drawdag.t
> +++ b/tests/test-drawdag.t
> @@ -261,12 +261,12 @@ Change file contents via comments
>   a
>   FILE B
>   b
> -  FILE dir1/a
> +  FILE dir1/a (glob)
>   1
>   2
> -  FILE dir1/c
> +  FILE dir1/c (glob)
>   5
> -  FILE dir2/b
> +  FILE dir2/b (glob)
>   34
> -  FILE dir2/c
> +  FILE dir2/c (glob)
>   6
> diff --git a/tests/test-lfconvert.t b/tests/test-lfconvert.t
> --- a/tests/test-lfconvert.t
> +++ b/tests/test-lfconvert.t
> @@ -128,7 +128,7 @@ add some changesets to rename/remove/mer
>   $ hg merge
>   merging sub/maybelarge.dat and stuff/maybelarge.dat to stuff/maybelarge.dat
>   merging sub/normal2 and stuff/normal2 to stuff/normal2
> -  warning: stuff/maybelarge.dat looks like a binary file. (glob)
> +  warning: stuff/maybelarge.dat looks like a binary file.
>   warning: conflicts while merging stuff/maybelarge.dat! (edit, then use 'hg resolve --mark')
>   0 files updated, 1 files merged, 0 files removed, 1 files unresolved
>   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
> diff --git a/tests/test-shelve.t b/tests/test-shelve.t
> --- a/tests/test-shelve.t
> +++ b/tests/test-shelve.t
> @@ -352,7 +352,7 @@ force a conflicted merge to occur
> 
>   # Unresolved merge conflicts:
>   # 
> -  #     a/a
> +  #     a/a (glob)
>   # 
>   # To mark files as resolved:  hg resolve --mark FILE
> 
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
Matt Harbison - Sept. 16, 2017, 4:48 a.m.
On Fri, 15 Sep 2017 22:08:45 -0400, Augie Fackler <raf@durin42.com> wrote:

> # HG changeset patch
> # User Augie Fackler <augie@google.com>
> # Date 1505527705 14400
> #      Fri Sep 15 22:08:25 2017 -0400
> # Node ID 0da0e691552a428641c75e1633e5f1d0fbf3483e
> # Parent  209120041d12b524648fa856732aa404dfedd91d
> tests: add and remove some (glob) markers

I got a clean run with this here, thanks.
Matt Harbison - Sept. 16, 2017, 5:14 a.m.
On Fri, 15 Sep 2017 22:14:31 -0400, Augie Fackler <raf@durin42.com> wrote:

>
>> On Sep 15, 2017, at 22:08, Augie Fackler <raf@durin42.com> wrote:
>>
>> # HG changeset patch
>> # User Augie Fackler <augie@google.com>
>> # Date 1505527705 14400
>> #      Fri Sep 15 22:08:25 2017 -0400
>> # Node ID 0da0e691552a428641c75e1633e5f1d0fbf3483e
>> # Parent  209120041d12b524648fa856732aa404dfedd91d
>> tests: add and remove some (glob) markers
>
> These are the sane-looking failures on the Windows buildbot. The  
> run-tests failure looks like some sort of environment variable setting  
> dance is failing on Windows (huh?), and I'm singularly baffled by the  
> test-patchbomb-tls.t failure. But we're close to getting that builder to  
> pass.

I'm baffled by the run-tests failure too.  The test runs fine outside of  
buildbot on that system.  Any chance you can force a debug run of this  
test, to see what is lurking behind $RUNTESTDIR?

The patchbomb test failure is transient.  I've seen cases where `hg serve`  
daemons from the previous run aren't killed for some reason.  Aside from  
subsequent serve errors, a telltale sign is the warnings in the build  
phase dropping from 7 to 1, as the C code isn't rebuilt.  (Compare  
before[1] and after[2] the Patch Tuesday reboot.)  When I notice that, I  
have to manually kill off the stuck python process.  But sometimes there  
is no stuck process, and these *.t errors clear on their own.  I wonder if  
the serve process looks like it is running to the parent process, which  
stops waiting, but it hasn't opened the listening port yet when a test  
process tries to connect.

I'll check Monday to see if python processes are stuck.


[1]  
https://buildbot.mercurial-scm.org/builders/Win7%20x86_64%20hg%20tests/builds/181/steps/make%20local/logs/stdio
[2]  
https://buildbot.mercurial-scm.org/builders/Win7%20x86_64%20hg%20tests/builds/183/steps/make%20local/logs/stdio
Yuya Nishihara - Sept. 16, 2017, 11:47 a.m.
On Fri, 15 Sep 2017 22:08:45 -0400, Augie Fackler wrote:
> # HG changeset patch
> # User Augie Fackler <augie@google.com>
> # Date 1505527705 14400
> #      Fri Sep 15 22:08:25 2017 -0400
> # Node ID 0da0e691552a428641c75e1633e5f1d0fbf3483e
> # Parent  209120041d12b524648fa856732aa404dfedd91d
> tests: add and remove some (glob) markers

Queued, thanks.
Matt Harbison - Sept. 19, 2017, 2:46 a.m.
On Sat, 16 Sep 2017 01:14:10 -0400, Matt Harbison <mharbison72@gmail.com>  
wrote:

> On Fri, 15 Sep 2017 22:14:31 -0400, Augie Fackler <raf@durin42.com>  
> wrote:
>
>>
>>> On Sep 15, 2017, at 22:08, Augie Fackler <raf@durin42.com> wrote:
>>>
>>> # HG changeset patch
>>> # User Augie Fackler <augie@google.com>
>>> # Date 1505527705 14400
>>> #      Fri Sep 15 22:08:25 2017 -0400
>>> # Node ID 0da0e691552a428641c75e1633e5f1d0fbf3483e
>>> # Parent  209120041d12b524648fa856732aa404dfedd91d
>>> tests: add and remove some (glob) markers
>>
>> These are the sane-looking failures on the Windows buildbot. The  
>> run-tests failure looks like some sort of environment variable setting  
>> dance is failing on Windows (huh?), and I'm singularly baffled by the  
>> test-patchbomb-tls.t failure. But we're close to getting that builder  
>> to pass.
>
> I'm baffled by the run-tests failure too.  The test runs fine outside of  
> buildbot on that system.  Any chance you can force a debug run of this  
> test, to see what is lurking behind $RUNTESTDIR?
>
> The patchbomb test failure is transient.  I've seen cases where `hg  
> serve` daemons from the previous run aren't killed for some reason.   
> Aside from subsequent serve errors, a telltale sign is the warnings in  
> the build phase dropping from 7 to 1, as the C code isn't rebuilt.   
> (Compare before[1] and after[2] the Patch Tuesday reboot.)  When I  
> notice that, I have to manually kill off the stuck python process.  But  
> sometimes there is no stuck process, and these *.t errors clear on their  
> own.  I wonder if the serve process looks like it is running to the  
> parent process, which stops waiting, but it hasn't opened the listening  
> port yet when a test process tries to connect.
>
> I'll check Monday to see if python processes are stuck.

Yep, two stale processes needed to be killed.

The interesting thing is I used ProcessExplorer to track them down, and  
CWD for them was a *.t directory with nothing in it other than an empty  
'error.log'.  (Both processes were using this file, apparently.)  So I  
hacked killdaemons.py to accept a pid on the command line instead of  
reading the file, and both terminated successfully.  It's like the pid  
file was never processed (or empty) before deletion.  A few months ago, I  
was able to consistently reproduce a case where a test ran, the serve  
process didn't exit, but I could kill it with the pid file left by the  
test.  It stopped happening the next day, but there's definitely flakiness  
in this area.

Also, $RUNTESTDIR for these was the literal expected in the run-test  
failure.

>
> [1]  
> https://buildbot.mercurial-scm.org/builders/Win7%20x86_64%20hg%20tests/builds/181/steps/make%20local/logs/stdio
> [2]  
> https://buildbot.mercurial-scm.org/builders/Win7%20x86_64%20hg%20tests/builds/183/steps/make%20local/logs/stdio

Patch

diff --git a/tests/test-drawdag.t b/tests/test-drawdag.t
--- a/tests/test-drawdag.t
+++ b/tests/test-drawdag.t
@@ -261,12 +261,12 @@  Change file contents via comments
   a
   FILE B
   b
-  FILE dir1/a
+  FILE dir1/a (glob)
   1
   2
-  FILE dir1/c
+  FILE dir1/c (glob)
   5
-  FILE dir2/b
+  FILE dir2/b (glob)
   34
-  FILE dir2/c
+  FILE dir2/c (glob)
   6
diff --git a/tests/test-lfconvert.t b/tests/test-lfconvert.t
--- a/tests/test-lfconvert.t
+++ b/tests/test-lfconvert.t
@@ -128,7 +128,7 @@  add some changesets to rename/remove/mer
   $ hg merge
   merging sub/maybelarge.dat and stuff/maybelarge.dat to stuff/maybelarge.dat
   merging sub/normal2 and stuff/normal2 to stuff/normal2
-  warning: stuff/maybelarge.dat looks like a binary file. (glob)
+  warning: stuff/maybelarge.dat looks like a binary file.
   warning: conflicts while merging stuff/maybelarge.dat! (edit, then use 'hg resolve --mark')
   0 files updated, 1 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
diff --git a/tests/test-shelve.t b/tests/test-shelve.t
--- a/tests/test-shelve.t
+++ b/tests/test-shelve.t
@@ -352,7 +352,7 @@  force a conflicted merge to occur
   
   # Unresolved merge conflicts:
   # 
-  #     a/a
+  #     a/a (glob)
   # 
   # To mark files as resolved:  hg resolve --mark FILE