summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-03-04 19:45:36 -0500
committerBen Gamari <ben@smart-cactus.org>2019-10-22 12:18:44 -0400
commit5ce853c8e4c104867e02234edddb48ab4d03c1b3 (patch)
treea3d78e7e483b971b7714137c2901566e7c477adb
parent6e97cc47d17e3c52d63d5bc3e34da27712b7ce47 (diff)
downloadhaskell-5ce853c8e4c104867e02234edddb48ab4d03c1b3.tar.gz
ghc-heap: Skip heap_all test with debugged RTS
The debugged RTS initializes the heap with 0xaa, which breaks the (admittedly rather fragile) assumption that uninitialized fields are set to 0x00: ``` Wrong exit code for heap_all(nonmoving)(expected 0 , actual 1 ) Stderr ( heap_all ): heap_all: user error (assertClosuresEq: Closures do not match Expected: FunClosure {info = StgInfoTable {entry = Nothing, ptrs = 0, nptrs = 1, tipe = FUN_0_1, srtlen = 0, code = Nothing}, ptrArgs = [], dataArgs = [0]} Actual: FunClosure {info = StgInfoTable {entry = Nothing, ptrs = 0, nptrs = 1, tipe = FUN_0_1, srtlen = 1032832, code = Nothing}, ptrArgs = [], dataArgs = [12297829382473034410]} CallStack (from HasCallStack): assertClosuresEq, called at heap_all.hs:230:9 in main:Main ) ```
-rw-r--r--libraries/ghc-heap/tests/all.T5
1 files changed, 4 insertions, 1 deletions
diff --git a/libraries/ghc-heap/tests/all.T b/libraries/ghc-heap/tests/all.T
index afa224fde7..e1458f49a4 100644
--- a/libraries/ghc-heap/tests/all.T
+++ b/libraries/ghc-heap/tests/all.T
@@ -2,7 +2,10 @@ test('heap_all',
[when(have_profiling(), extra_ways(['prof'])),
# These ways produce slightly different heap representations.
# Currently we don't test them.
- omit_ways(['ghci', 'hpc'])
+ omit_ways(['ghci', 'hpc']),
+ # The debug RTS initializes some fields with 0xaa and so
+ # this test spuriously fails.
+ when(compiler_debugged(), skip)
],
compile_and_run, [''])