summaryrefslogtreecommitdiff
path: root/testsuite/tests/rts/all.T
Commit message (Collapse)AuthorAgeFilesLines
* testsuite: Disable derefnull when built with LLVMwip/derefnull-llvmBen Gamari2019-12-261-4/+4
| | | | | | LLVM does not guarantee any particular semantics when dereferencing null pointers. Consequently, this test actually passes when built with the LLVM backend.
* testsuite: Disable divByZero on non-NCG targetsBen Gamari2019-12-051-0/+4
| | | | | The LLVM backend does not guarantee any particular semantics for division by zero, making this test unreliable across platforms.
* rts: Expose interface for configuring EventLogWritersBen Gamari2019-11-231-0/+3
| | | | | | This exposes a set of interfaces from the GHC API for configuring EventLogWriters. These can be used by consumers like [ghc-eventlog-socket](https://github.com/bgamari/ghc-eventlog-socket).
* testsuite: Mark T13676 as broken on Darwin and WindowsBen Gamari2019-11-091-2/+3
| | | | Due to #17447.
* Testsuite: Introduce req_rts_linkerStefan Schulze Frielinghaus2019-11-081-0/+1
| | | | | Some tests depend on the RTS linker. Introduce a modifier to skip such tests, in case the RTS linker is not available.
* testsuite: Don't run T7160 in nonmoving_thr waysBen Gamari2019-10-221-1/+1
| | | | The nonmoving way finalizes things in a different order.
* testsuite: bug1010 requires -c, which isn't supported by nonmovingBen Gamari2019-10-221-1/+4
|
* testsuite: Ensure that threaded tests are run in nonmoving_thrBen Gamari2019-10-221-2/+6
|
* Skip T13767 on DarwinVladislav Zavialov2019-10-121-1/+3
| | | | | | | | | | | | | The CI job fails with: +++ rts/T13676.run/T13676.run.stderr.normalised 2019-10-09 12:27:56.000000000 -0700 @@ -0,0 +1,4 @@ +dyld: Library not loaded: @rpath/libHShaskeline-0.7.5.0-ghc8.9.0.20191009.dylib + Referenced from: /Users/builder/builds/ewzE5N2p/0/ghc/ghc/inplace/lib/bin/ghc + Reason: image not found +*** Exception: readCreateProcess: '/Users/builder/builds/ewzE5N2p/0/ghc/ghc/inplace/lib/bin/ghc' '-B/Users/builder/builds/ewzE5N2p/0/ghc/ghc/inplace/lib' '-e' ''/''$'/'' == '/''/x0024'/''' +RTS '-tT13676.t' (exit -6): failed Unable to reproduce locally.
* Escape stats file command (#13676)Vladislav Zavialov2019-10-121-0/+2
|
* Add new debug flag -DZTobias Guggenmos2019-10-031-0/+1
| | | | Zeros heap memory after gc freed it.
* testsuite: Add assertions that way lists are in fact listsBen Gamari2019-06-151-1/+1
| | | | | | Previously there were a few cases where operations like `omit_ways` were incorrectly passed a single way (e.g. `omit_ways('threaded2')`). This won't work as the author expected.
* testsuite: Fix omit_ways usageBen Gamari2019-06-121-1/+1
| | | | omit_ways expects a list but this was broken in several cases.
* testsuite: Skip T7919 in ghci wayBen Gamari2019-06-121-1/+2
| | | | | It times out pretty reliably. It's not clear that much is gained by running this test in the ghci way anyways.
* testsuite: Mark T2783 as fragile in threaded1Ben Gamari2019-06-121-1/+1
| | | | | It was previously marked as broken but it passes non-deterministically. See #2783.
* testsuite: Add test for #16514Ben Gamari2019-06-091-0/+1
|
* testsuite: move tests related to linker under tests/rts/linkerArtem Pyanykh2019-04-211-79/+0
|
* Testsuite: use 'fragile' instead of 'skip' for T3424, T14697Vladislav Zavialov2019-03-081-9/+7
| | | | | Also, replace some tabs with spaces to avoid a "mixed indent" warning that vim gives me.
* Skip T3424 when fast()wip/test-t3424Vladislav Zavialov2019-02-261-0/+1
| | | | 14586f5d removed this by accident.
* Disable fragile test cases: T14697 T5559 T3424Vladislav Zavialov2019-02-241-3/+7
| | | | See Trac #15072, Trac #16349, Trac #16350
* testsuite: Use makefile_testBen Gamari2019-01-301-35/+26
| | | | | This eliminates most uses of run_command in the testsuite in favor of the more structured makefile_test.
* Revert "Batch merge"Ben Gamari2019-01-301-26/+35
| | | | This reverts commit 76c8fd674435a652c75a96c85abbf26f1f221876.
* Batch mergeBen Gamari2019-01-301-35/+26
|
* PPC NCG: Remove Darwin supportPeter Trommler2019-01-011-2/+0
| | | | | | | Support for Mac OS X on PowerPC has been dropped by Apple years ago. We follow suit and remove PowerPC support for Darwin. Fixes #16106.
* testsuite: Disable more tests in unregisterised buildwip/disable-fragile-unreg-testsBen Gamari2018-12-281-0/+2
| | | | | | This disables `ghcilink005`, `foreignInterruptable`, and `T7040_ghci` in the unregisterised build as they tend to fail non-deterministically. See ticket #16085.
* testsuite: Mark keep-cafs and keep-cafs-fail as broken on FreeBSDBen Gamari2018-12-111-1/+3
| | | | See #16035.
* testsuite: Ensure that unregisterised function is calledBen Gamari2018-12-111-3/+3
| | | | | Strangely the previous formulation works locally and under CircleCI but fails on another machine. Odd.
* testsuite: Mark tickets identified in #15467 as brokenBen Gamari2018-12-111-1/+3
|
* Mark broken tests on powerpc64le and skip ghci-extPeter Trommler2018-12-071-0/+2
| | | | | | | | | | | | | | | Mark tests with DWARF as broken Test way `ghci-ext` only where available Test Plan: validate Reviewers: bgamari, hvr, simonmar, erikd, Phyx Reviewed By: bgamari, Phyx Subscribers: Phyx, rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5297
* testuite: update more windows tests outputsTamar Christina2018-11-221-1/+3
| | | | | | | | | | Test Plan: ./validate Reviewers: bgamari, simonmar Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5362
* rts: Allow output filename of eventlog to be given by command-lineBen Gamari2018-11-021-0/+12
| | | | | | | | | | | | | | | This introduces the `+RTS -ol` flag, which allows user to specify the destination file for eventlog output. Test Plan: Validate with included test Reviewers: simonmar, erikd Reviewed By: simonmar Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5293
* testsuite: disable nursery-chunks1 on non-smp targetsSergei Trofimovich2018-10-071-0/+1
| | | | | | | "ghc: setNumCapabilities: not supported on this platform" is caused by use of 'setNumCapabilities' in test itself. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* testsuite: disable T10017 on non-smp targetsSergei Trofimovich2018-10-071-0/+1
| | | | | | | T10017 needs multicore support from RTS: T10017: unknown RTS option: -N2 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Add -fkeep-cafsSimon Marlow2018-09-281-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | Summary: I noticed while playing around with https://github.com/fbsamples/ghc-hotswap/ that the main binary needs to have a custom main function to set `config.keep_cafs = true` when initialising the runtime. This is pretty annoying, it means an extra C file with some cryptic incantations in it, and a `-no-hs-main` flag. So I've replaced this with a link-time flag to GHC, `-fkeep-cafs` that does the same thing. Test Plan: New unit test that tests for the RTS's GC'd CAFs assertion, and also the -keep-cafs flag. Reviewers: bgamari, osa1, erikd, noamz Reviewed By: osa1 Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5183
* Updated PE linker, section alignment and cleanup.Tamar Christina2018-09-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch is to address a couple of short comings of the PE linker. The first thing it does is properly honor section alignments, so SSE code will work reliably. While doing this I've also changed how it reads and stores ObjectFile information. Previously the entire object file was read in and treated as one blob, including headers, symbol tables etc. Now the ObjectFile is read in but stored in chunks, tables go into a temporary info struct and code/data into a new private heap. This allows me to free all meta data once we're done relocating. Which means we can reclaim this memory. As I've mentioned above I've also moved from using VirtualAlloc to HeapAlloc. The reason is VirtualAlloc is meant to be used for more low level memory allocation, it's very fast because it can only allocate whole blocks, (64k) by default, and the memory must be paged (4k) aligned. So when you ask for e.g. 30k of memory, you're given a whole block where 34k will be wasted memory. Nothing else can ever access that untill you free the 30k. One downside of HeapAlloc is that you're not in control of how the heap grows, and heap memory is always committed. So it's harder to tell how much we're actually using now. Another big upside of splitting off the ObjectCode tables to info structs is that I can adjust them, so that later addressings can just use array subscripts to index into them. This simplifies the code a lot and a lot of complicated casts and indexing can be removed. Leaving less and more simple code. This patch doesn't fix the memprotection but it doesn't regress it either. It does however make the next changes smaller and fixes the alignments. Test Plan: ./validate , new test T13617 Reviewers: bgamari, erikd, simonmar, hvr, angerman Reviewed By: angerman Subscribers: nickkuk, carter, RyanGlScott, rwbarton, thomie GHC Trac Issues: #13617 Differential Revision: https://phabricator.haskell.org/D3915
* Skip eventlog tests in GHCi wayÖmer Sinan Ağacan2018-09-051-2/+2
| | | | | | | | | | | | | | | | | | Summary: (GHCi doesn't generate event logs) Test Plan: These tests were failing in GHCi way, they're now skipped in GHCi way as GHCi doesn't generate eventlogs Reviewers: bgamari, simonmar, maoe, alpmestan Reviewed By: alpmestan Subscribers: rwbarton, carter GHC Trac Issues: #15587 Differential Revision: https://phabricator.haskell.org/D5119
* Add traceBinaryEvent# primopMitsutoshi Aoe2018-08-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new primop called traceBinaryEvent# that takes the length of binary data and a pointer to the data, then emits it to the eventlog. There is some example code that uses this primop and the new event: * [traceBinaryEventIO][1] that calls `traceBinaryEvent#` * [A patch to ghc-events][2] that parses the new `EVENT_USER_BINARY_MSG` There's no corresponding issue on Trac but it was discussed at ghc-devs [3]. [1] https://github.com/maoe/ghc-trace-events/blob /fb226011ef1f85a97b4da7cc9d5f98f9fe6316ae/src/Debug/Trace/Binary.hs#L29) [2] https://github.com/maoe/ghc-events/commit /239ca77c24d18cdd10d6d85a0aef98e4a7c56ae6) [3] https://mail.haskell.org/pipermail/ghc-devs/2018-May/015791.html Reviewers: bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D5007
* Simplify testsuite driver, part 2Krzysztof Gogolewski2018-08-121-4/+4
| | | | | | | | | | | | | | | | | | Summary: - Avoid import *; this helps tools such as pyflakes. The last occurrence in runtests.py is not easy to remove as it's used by .T files. - Use False/True instead of 0/1. Test Plan: validate Reviewers: bgamari, thomie, simonmar Reviewed By: thomie Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5062
* testsuite: Mark overflow1 as broken on 32-bit platforms due to #15255Ben Gamari2018-06-161-1/+2
| | | | | | | | | | | | Test Plan: Validate on i386 Reviewers: simonmar Subscribers: rwbarton, thomie, carter GHC Trac Issues: #15255 Differential Revision: https://phabricator.haskell.org/D4855
* Mark test broken on powerpc64[le]Peter Trommler2018-06-141-0/+2
| | | | | | | | | | | | | | | | | | | Test num009 fails different results. #15062 lists more issues on other platforms. Test T14894 fails because DWARF support is not implemented in the PowerPC native code backend. T5435_v_asm_b fails because the runtime linker is not implemented for PowerPC 64-bit systems. Test Plan: validate Reviewers: bgamari, hvr, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #13634, #11261, #11259, #15062 Differential Revision: https://phabricator.haskell.org/D4825
* Disable T12903 on Darwin due to flakinessTamar Christina2018-06-141-2/+4
| | | | | | | | | | | | | | | Test seems to randomly fail on harbormaster and CircleCI. Disabling it until it can be fixed. Test Plan: make test TEST=T12903 Reviewers: austin, bgamari, simonmar, mpickering Reviewed By: mpickering Subscribers: mpickering, thomie, qnikst GHC Trac Issues: #12903
* Clean up Windows testsuite failuresTamar Christina2018-05-281-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Another round and attempt at getting these down to 0. We really should re-enable the CI and not wait for those cloud based ones. I've disabled the backpack tests on windows as they are too broad, they test as much the shell as they do the compiler. The perf tests have been too long to track down. but the numbers are horrible but I don't see them getting fixed so just have to accept them. T9293 has new windows specific output because a Dyn way only flag was added. This will of course not work on non-Dyn way builds. Test Plan: ./validate Reviewers: bgamari, hvr, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #15107 Differential Revision: https://phabricator.haskell.org/D4668
* Another batch of './validation --slow' tweaksAlp Mestanogullari2018-05-201-4/+6
| | | | | | | | | | | | | | | | | | | | | | This finally gets us to a green ./validate --slow on linux for a ghc checkout from the beginning of this week, see https://circleci.com/gh/ghc/ghc/4739 This is hopefully the final (or second to final) patch to address #14890. Test Plan: ./validate --slow Reviewers: bgamari, hvr, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14890 Differential Revision: https://phabricator.haskell.org/D4712
* Fix another batch of `./validate --slow` failuresAlp Mestanogullari2018-05-131-12/+19
| | | | | | | | | | | | | | | | | | | | | | A rather detailed summary can be found at: https://gist.github.com/alpmestan/be82b47bb88b7dc9ff84105af9b1bb82 This doesn't fix all expectation mismatches yet, but we're down to about 20 mismatches with my previous patch and this one, as opposed to ~150 when I got started. Test Plan: ./validate --slow Reviewers: bgamari, erikd, simonmar Reviewed By: simonmar Subscribers: thomie, carter GHC Trac Issues: #14890 Differential Revision: https://phabricator.haskell.org/D4636
* storageAddCapabilities: fix bug in updating nursery pointersSimon Marlow2018-05-021-0/+7
| | | | | | | | | | | | | | | Summary: We were unconditionally updating the nursery pointers to be `nurseries[cap->no]`, but when using nursery chunks this might be wrong. This manifested as a later assertion failure in allocate(). Test Plan: new test case Reviewers: bgamari, niteria, erikd Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D4649
* testsuite: Fix `./validate --slow`Alp Mestanogullari2018-04-191-2/+6
| | | | | | | | | | | | | | | | | | | | | This fixes all unexpected passes and unexpected failures from a `./validate --slow` run I did last week. I commented on many tickets and created a few more as I was going through the failing tests. A summary of the entire process is available at: https://gist.github.com/alpmestan/c371840968f086c8dc5b56af8325f0a9 This is part of an attempt to have `./validate --slow` pass, tracked in #14890. Another patch will be necessary for the unexpected stats failures. Test Plan: ./validate --slow (not green yet) Reviewers: bgamari, simonmar Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D4546
* Improve accuracy of get/setAllocationCounterBen Gamari2018-03-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: get/setAllocationCounter didn't take into account allocations in the current block. This was known at the time, but it turns out to be important to have more accuracy when using these in a fine-grained way. Test Plan: New unit test to test incrementally larger allocaitons. Before I got results like this: ``` +0 +0 +0 +0 +0 +4096 +0 +0 +0 +0 +0 +4064 +0 +0 +4088 +4056 +0 +0 +0 +4088 +4096 +4056 +4096 ``` Notice how the results aren't always monotonically increasing. After this patch: ``` +344 +416 +488 +560 +632 +704 +776 +848 +920 +992 +1064 +1136 +1208 +1280 +1352 +1424 +1496 +1568 +1640 +1712 +1784 +1856 +1928 +2000 +2072 +2144 ``` Reviewers: hvr, erikd, simonmar, jrtc27, trommler Reviewed By: simonmar Subscribers: trommler, jrtc27, rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4363
* rts: Add --internal-counters RTS flag and several countersDouglas Wilson2018-03-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing internal counters: * gc_alloc_block_sync * whitehole_spin * gen[g].sync * gen[1].sync are now not shown in the -s report unless --internal-counters is also passed. If --internal-counters is passed we now show the counters above, reformatted, as well as several other counters. In particular, we now count the yieldThread() calls that SpinLocks do as well as their spins. The added counters are: * gc_spin (spin and yield) * mut_spin (spin and yield) * whitehole_threadPaused (spin only) * whitehole_executeMessage (spin only) * whitehole_lockClosure (spin only) * waitForGcThreadsd (spin and yield) As well as the following, which are not SpinLock-like things: * any_work * do_work * scav_find_work See the Note for descriptions of what these counters are. We add busy_wait_nops in these loops along with the counter increment where it was absent. Old internal counters output: ``` gc_alloc_block_sync: 0 whitehole_gc_spin: 0 gen[0].sync: 0 gen[1].sync: 0 ``` New internal counters output: ``` Internal Counters: Spins Yields gc_alloc_block_sync 323 0 gc_spin 9016713 752 mut_spin 57360944 47716 whitehole_gc 0 n/a whitehole_threadPaused 0 n/a whitehole_executeMessage 0 n/a whitehole_lockClosure 0 0 waitForGcThreads 2 415 gen[0].sync 6 0 gen[1].sync 1 0 any_work 2017 no_work 2014 scav_find_work 1004 ``` Test Plan: ./validate Check it builds with #define PROF_SPIN removed from includes/rts/Config.h Reviewers: bgamari, erikd, simonmar, hvr Reviewed By: simonmar Subscribers: rwbarton, thomie, carter GHC Trac Issues: #3553, #9221 Differential Revision: https://phabricator.haskell.org/D4302
* Compacted arrays are pinned for isByteArrayPinned#Simon Marlow2018-03-091-0/+2
| | | | | | | | | | | | Test Plan: New unit test Reviewers: andrewthad, niteria, bgamari, erikd Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14900 Differential Revision: https://phabricator.haskell.org/D4485
* Make RTS keep less memory (fixes #14702)Andrey Sverdlichenko2018-01-311-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Currently runtime keeps hold to 4*used_memory. This includes, in particular, nursery, which can be quite large on multiprocessor machines: 16 CPUs x 64Mb each is 1GB. Multiplying it by 4 means whatever actual memory usage is, runtime will never release memory under 4GB, and this is quite excessive for processes which only need a lot of memory shortly (think building data structures from large files). This diff makes multiplier to apply only to GC-managed memory, leaving all "static" allocations alone. Test Plan: make test TEST="T14702" Reviewers: bgamari, erikd, simonmar Reviewed By: simonmar Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14702 Differential Revision: https://phabricator.haskell.org/D4338