#5338: Race hazard in Random library test suite
---------------------------------+------------------------------------------
    Reporter:  simonpj           |        Owner:  rrnewton@…        
        Type:  bug               |       Status:  new               
    Priority:  normal            |    Milestone:                    
   Component:  Compiler          |      Version:  7.0.3             
    Keywords:                    |     Testcase:                    
   Blockedby:                    |   Difficulty:                    
          Os:  Unknown/Multiple  |     Blocking:                    
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown      
---------------------------------+------------------------------------------
 In a validate run, `rangeTest` fails thus
 {{{
 =====> rangeTest(normal) 2838 of 2886 [0, 4, 0]
 cd ../../../libraries/random/tests &&
 '/64playpen/simonpj/builds/HEAD-1/bindisttest/install dir/bin/ghc'
 -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-
 conf -rtsopts  -o rangeTest rangeTest.hs  -i.. -XCPP
 >rangeTest.comp.stderr 2>&1
 =====> random1283(normal) 2839 of 2886 [0, 4, 0]
 cd ../../../libraries/random/tests &&
 '/64playpen/simonpj/builds/HEAD-1/bindisttest/install dir/bin/ghc'
 -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-
 conf -rtsopts  -o random1283 random1283.hs  -i.. -XCPP  -package
 containers  >random1283.comp.stderr 2>&1
 Compile failed (status 256) errors were:
 [1 of 2] Compiling System.Random    ( ../System/Random.hs,
 ../System/Random.o )
 [2 of 2] Compiling Main             ( rangeTest.hs, rangeTest.o )
 Linking rangeTest ...
 ../System/Random.o: file not recognized: File truncated
 collect2: ld returned 1 exit status

 *** unexpected failure for rangeTest(normal)
 }}}
 Ian writes:
 The problem is this, in libraries/random/tests/all.T:
 {{{
     # This lets me run tests from the test directory during development:
     opts = '-i.. -XCPP '
 }}}
 This is causing all the tests to compile the source, rather than using
 the package. If two of the tests get run in parallel then there is a
 race condition.

 Ryan, could you handle this differently, so those flags don't get passed
 by default, please? Perhaps have them conditionally set, based on
 whether a file has been 'touch'ed or whether a make variable has been
 set, or maybe make a testsuite wrapper for yourself which builds the
 package so that they aren't necessary?

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

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to