[commit: testsuite] master: Add if_compiler_debugged to testsuite driver (888daa5)

Ian Lynagh <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/testsuite

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/888daa51a7d656bba5f39e16e6396ba9d4d29f4c

>---------------------------------------------------------------

commit 888daa51a7d656bba5f39e16e6396ba9d4d29f4c
Author: Ian Lynagh <[email protected]>
Date:   Sat Nov 10 14:37:16 2012 +0000

    Add if_compiler_debugged to testsuite driver
    
    arrowfail001 currently fails only when DEBUG is defined.

>---------------------------------------------------------------

 config/ghc                     |    2 ++
 driver/testlib.py              |    6 ++++++
 mk/ghc-config.hs               |    1 +
 mk/test.mk                     |    2 ++
 tests/arrows/should_fail/all.T |    5 ++++-
 5 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/config/ghc b/config/ghc
index 98a7c33..6803248 100644
--- a/config/ghc
+++ b/config/ghc
@@ -35,6 +35,8 @@ if (ghc_with_native_codegen == 1):
     config.compile_ways.append('optasm')
     config.run_ways.append('optasm')
 
+config.compiler_debugged = ghc_debugged
+
 if (ghc_with_vanilla == 1):
     config.have_vanilla = True
 
diff --git a/driver/testlib.py b/driver/testlib.py
index 70ed040..1e86db4 100644
--- a/driver/testlib.py
+++ b/driver/testlib.py
@@ -420,6 +420,12 @@ def if_compiler_ge( compiler, version, f ):
     else:
         return normal
 
+def if_compiler_debugged( f ):
+    if config.compiler_debugged:
+        return f
+    else:
+        return normal
+
 def namebase( nb ):
    return lambda opts, nb=nb: _namebase(opts, nb)
 
diff --git a/mk/ghc-config.hs b/mk/ghc-config.hs
index b667b84..3145488 100644
--- a/mk/ghc-config.hs
+++ b/mk/ghc-config.hs
@@ -17,6 +17,7 @@ main = do
   let fields = read info :: [(String,String)]
 
   getGhcFieldOrFail fields "GhcStage" "Stage"
+  getGhcFieldOrFail fields "GhcDebugged" "Debug on"
   getGhcFieldOrFail fields "GhcWithNativeCodeGen" "Have native code generator"
   getGhcFieldOrFail fields "GhcWithInterpreter" "Have interpreter"
   getGhcFieldOrFail fields "GhcUnregisterised" "Unregisterised"
diff --git a/mk/test.mk b/mk/test.mk
index 8b28944..942271c 100644
--- a/mk/test.mk
+++ b/mk/test.mk
@@ -39,6 +39,8 @@ endif
 
 RUNTEST_OPTS += -e ghc_compiler_always_flags="'$(TEST_HC_OPTS)'"
 
+RUNTEST_OPTS += -e ghc_debugged=$(GhcDebugged)
+
 ifeq "$(GhcWithNativeCodeGen)" "YES"
 RUNTEST_OPTS += -e ghc_with_native_codegen=1
 else
diff --git a/tests/arrows/should_fail/all.T b/tests/arrows/should_fail/all.T
index ef7aac6..5579294 100644
--- a/tests/arrows/should_fail/all.T
+++ b/tests/arrows/should_fail/all.T
@@ -1,6 +1,9 @@
 setTestOpts(only_compiler_types(['ghc']))
 
-test('arrowfail001', expect_broken(5267), compile_fail, [''])
+test('arrowfail001',
+     if_compiler_debugged(expect_broken(5267)),
+     compile_fail,
+     [''])
  # arrowfail001 gets an ASSERT error in the stage1 compiler
  # because we simply are not typechecking arrow commands
  # correcly.  See Trac #5267, #5609, #5605
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.