[GHC] #10441: msys native python testsuite support doesn't work in some situations

GHC ghc-devs at haskell.org
Sat May 23 04:09:43 UTC 2015


#10441: msys native python testsuite support doesn't work in some situations
-------------------------------------+-------------------------------------
              Reporter:  ezyang      |             Owner:
                  Type:  bug         |            Status:  new
              Priority:  high        |         Milestone:  7.12.1
             Component:  Test Suite  |           Version:  7.11
              Keywords:              |  Operating System:  Windows
          Architecture:              |   Type of failure:  None/Unknown
  Unknown/Multiple                   |        Blocked By:
             Test Case:              |   Related Tickets:
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
 On a vanilla Windows 8.1, msys2 GHC installation with only msys python
 installed, the testsuite driver is broken. I know of one other person
 whose testsuite is also not working. The usual error message is:

 {{{
 cd ./typecheck/should_compile &&  "C:/msys64/home/ezy.exe" -c tc055.hs
 -fforce-recomp -dcore-lint -dcmm-lib -rtsopts -fno-warn-tabs -fno-ghci-
 history -fno-warnrr 2>&1
 '..\timeout\install-inplace\bin\timeout.exe" "300" "cexternal command,
 operable program or batch file.
 Compile failed (status 256) errors were:
 }}}

 I have diagnosed the problem to the fact that we are passing a complex
 command string to cmd with adequately quoting it. In particular, when I
 inspect the command line that Python is attempting to invoke, it looks
 something like this:

 {{{
 cmd \c 'timeout.exe 300 "cd . && "inplace/ghc-stage2" -c blah blah"'
 }}}

 Notice, in particular, that the quoted GHC executable was not inside the
 timeout invocation is not double-quoted, so cmd does NOT parse the command
 the way you want it to.

 Curiously enough, when I remove this fix (introduced by commit
 `101c62e26286353dd3fac1ef54323529b64c9902`), the msys Python runner works
 fine. So I don't even know what this commit was intended to fix; it seems
 to have done more harm than good

 Here are some details about my configuration:

 {{{
 ezyang at cutlass MSYS ~/ghc-validate/testsuite
 $ python2 --version
 Python 2.7.9

 ezyang at cutlass MSYS ~/ghc-validate/testsuite
 $ bash --version
 GNU bash, version 4.3.33(3)-release (x86_64-pc-msys)
 Copyright (C) 2013 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 <http://gnu.org/licenses/gpl.html>


 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10441>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list