git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Problems with Windows, Was: What's cooking in git.git (May 2013, #01; Fri, 3)

From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Date
May 9, 2013, 17:18 UTC
Message-ID
<518BDA49.400@ramsay1.demon.co.uk>
In-Reply-To
<51890F48.3090409@web.de>
Torsten Bögershausen wrote:
Show 41 quoted lines
> On 2013-05-04 01.14, Junio C Hamano wrote:
>>
>>  Cygwin portability; both were reviewed by Jonathan, and the tip one
>>  seems to want a bit further explanation.  Needs positive report
>>  from Cygwin 1.7 users who have been on 1.7 to make sure it does not
>>  regress for them.
> 
> I was trying to verify that cygwin 1.7 is still Ok, but got puzzled.
> 
> Running the test suite under cygwin doesn't seem to work any more (?):
> 
> Scenario 1:
> The PC is running alone, and goes into the screen saver.
> Pressing CTRL-ALT-DEL didn't get any effect.
> 
> Scenario 2:
> The PC didn't react any more, when the test suite was run in background.
> In 3 or 4 cases the PC needed to be reboot hardly.
> 
> Using the commits before and after this change makes the test suite hang 
> as well at some point, then it hangs somewhere at TC 3000--4000.
> 
> Scenario 4:
> The I disabled the screensaver, upgdated cygwin,
>  and went back to an older commit:
> The latest run from commit 52d63e70, April 28,
> hangs in TC 5500, ok 26 clone shallow object count.
> 
> I can see 2 times 
> git.exe pull --depth 4 ..A 
> 
> Scenario 5:
> The run of today 1.8.3-rc1, hangs in t5510,
> some git.exe are running fetch. (or pull)
> 
> 
> It seems as if some process/exes are not terminated
> in the way it should be.
> 
> I will try on a different machine,
> comments are wellcome
Hmm, I'm a little puzzled, but not shocked. ;-)

Somebody, I forget who, had already tested Jonathan's patch on cygwin 1.7 successfully and my follow up patch should be a no-op on cygwin 1.7; so I'm puzzled! (The high risk should have been on cygwin 1.5).

I'm not shocked because running the test-suite on cygwin has been a bit of a magical mystery tour for quite some time.

In about 2007, I could not run the test-suite for about six to nine months; it would randomly wedge my laptop solid - I had to pull the power-cord out in order to re-boot. (I suspect that commit 9cb18f56fde may have cured that particular problem, but don't quote me on that - I didn't investigate at the time.)

I have noticed that running the tests with 'prove' is more likely to prove successful, so my config.mak looks like:

    $ cat config.mak
    NO_SVN_TESTS=1
    GIT_TEST_OPTS=--no-color
    NO_GETTEXT=1
    DEFAULT_TEST_TARGET=prove
    GIT_PROVE_OPTS='--timer'
    $
I currently run the tests like so:
    $ time $(GIT_SKIP_TESTS='t0061.3 t0070.3 t4130 t9010 t9300' make test \
    >test-outp13 2>&1)
    real    172m25.311s
    user    132m15.133s
    sys     66m43.122s
    $

The t0061.3 and t0070.3 failures don't require much discussion. The t4130 failure is an intermittent "racy git" issue that has been on my TODO list for several years. t9300 also fails intermittently. However, t9010 fails every time for me, hanging the test suite (although ^C interrupts it just fine).

I have a "fix" for t9010 that looks like:
    diff --git a/t/t9010-svn-fe.sh b/t/t9010-svn-fe.sh
    index b7eed24..4d01e3b 100755
    --- a/t/t9010-svn-fe.sh
    +++ b/t/t9010-svn-fe.sh
    @@ -22,10 +22,9 @@ try_dump () {
            maybe_fail_fi=${3:+test_$3} &&
    
            {
    -               $maybe_fail_svnfe test-svn-fe "$input" >stream 3<backflow &
    -       } &&
    -       $maybe_fail_fi git fast-import --cat-blob-fd=3 <stream 3>backflow &&
    -       wait $!
    +               $maybe_fail_svnfe test-svn-fe "$input" 3<backflow
    +       } |
    +       $maybe_fail_fi git fast-import --cat-blob-fd=3 3>backflow
     }
    
     properties () {

but I have not tested this patch enough to be happy to submit it (I have some suspicions that it would still fail intermittently, just like t9300).

Also, commit 7bc0911d ("test-lib: Fix say_color () not to interpret \a\b\c in the message", 11-10-2012) caused several random test failures. (don't ask me why). So, before each test run, I have to apply the following:

    diff --git a/t/test-lib.sh b/t/test-lib.sh
    index f50f834..ed32b7f 100644
    --- a/t/test-lib.sh
    +++ b/t/test-lib.sh
    @@ -230,7 +230,7 @@ else
            say_color() {
                    test -z "$1" && test -n "$quiet" && return
                    shift
    -               printf "%s\n" "$*"
    +               echo -E "$*"
            }
     fi
which effectively reverts that commit.
So, as I said, a "magical mystery tour". :-D

ATB, Ramsay Jones

Previous: Torsten BögershausenNext: Torsten Bögershausen
Message 5 of 8 in “What's cooking in git.git (May 2013, #01; Fri, 3)”
  1. Junio C HamanoMay 3, 2013
  2. Problems with Windows, Was: What's cooking in git.git (May 2013, #01; Fri, 3)Torsten Bögershausen, May 7, 2013
  3. Mark LevedahlMay 8, 2013
  4. Torsten BögershausenMay 8, 2013
  5. Ramsay JonesMay 9, 2013
  6. Torsten BögershausenMay 14, 2013
  7. Philip OakleyMay 14, 2013
  8. Tay Ray ChuanMay 15, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.