summaryrefslogtreecommitdiff
path: root/testsuite/driver/runtests.py
Commit message (Collapse)AuthorAgeFilesLines
* Python 3 support, second attempt (Trac #9184)Krzysztof Gogolewski2014-10-191-28/+39
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This is a fixup of https://phabricator.haskell.org/D233 The only difference is in findTFiles (first commit), which previously broke Windows runner; now I translated literally instead attempting to improve it, and checked it works. Test Plan: I used validate under 2,3 on Linux and under 2 on msys2. On Windows I've seen a large number of failures, but they don't seem to be connected with the patch. Reviewers: hvr, simonmar, thomie, austin Reviewed By: austin Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D310 GHC Trac Issues: #9184
* Extend windows detection in testsuite to recognize MSYS targetGintautas Miliauskas2014-10-111-2/+2
| | | | | | | | | | | | | | Currently, the detection recognizes the following `uname -s` strings: - `CYGWIN_NT-6.3` - `MINGW32_NT-6.3` - `MINGW64_NT_6.3` However, MSYS2 provides an additional target, in which case `uname -s` returns a string such as `MSYS_NT-6.3`. In all these cases, the system ought to be recognized as being a `windows` os by the testsuite runner. See also #9604
* Fallback to `ctypes.cdll` if `ctypes.windll` unavailableGintautas Miliauskas2014-10-111-6/+4
| | | | | | | | | On Windows, we may be using a native build of Python or a mingw/msys build. The former exports `ctypes.windll`, the latter exports `cdll`. Previously the code threw an exception when using the msys Python because it expected `windll` to always be available on Windows. Differential Revision: https://phabricator.haskell.org/D308
* Revert "Basic Python 3 support for testsuite driver (Trac #9184)"Krzysztof Gogolewski2014-10-031-39/+28
| | | | | | This reverts commit 084d241b316bfa12e41fc34cae993ca276bf0730. This is a possible culprit of Windows breakage reported at ghc-devs.
* Basic Python 3 support for testsuite driver (Trac #9184)Krzysztof Gogolewski2014-10-011-28/+39
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Most of the changes is adaptation of old Python 2 only code. My priority was not breaking Python 2, and so I avoided bigger changes to the driver. In particular, under Python 3 the output is a str and buffering cannot be disabled. To test, define PYTHON=python3 in testsuite/mk/boilerplate.mk. Thanks to aspidites <emarshall85@gmail.com> who provided the initial patch. Test Plan: validate under 2 and 3 Reviewers: hvr, simonmar, thomie, austin Reviewed By: thomie, austin Subscribers: aspidites, thomie, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D233 GHC Trac Issues: #9184
* Revert "Fix a couple test failures encountered when building on Windows"Austin Seipp2014-09-011-4/+1
| | | | | This reverts commit 9711f78f790d10d914e08851544c6fc96f9a030a, as it's causing build phailures in phabricator.
* Fix a couple test failures encountered when building on WindowsAustin Seipp2014-09-011-1/+4
| | | | | | | | | | | | | | Summary: * Adjusts performance tests * Change ghcpkg05.stderr-mingw32 to match ghcpkg05.stderr Test Plan: Ran 'sh validate' and observed fewer test failures afterwards Reviewers: austin Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D191
* New testsuite verbosity level 4Joachim Breitner2014-07-141-2/+2
| | | | | which makes it print performance numbers even when the test succeeds (good for historic analysis)
* Detect msys2 via uname (different to msys)Simon Peyton Jones2013-11-121-1/+4
| | | | | | uname -s msys gives "MINGW32" msys2 gives "MINGW_NT-6.2"
* Flag to test suite: SKIP_PERF_TESTSJoachim Breitner2013-10-051-0/+4
| | | | | | More often than not the output of the performance tests is in the way, rather than helping. This allows the use of `make SKIP_PERF_TESTS=YES` to skip these tests. Fixes #8413
* Test driver: Implement different verbositiesJoachim Breitner2013-09-201-1/+9
| | | | | | | | | Select verbosity with "make VERBOSE=n". Options so far: n=0: No per-test output n=1: Only failing test results n=2: As above, plus progress information (names of all tests) n=3: As aobve, plus commands called. Default currently is n=3, although n=2 might be a nicer default.
* Test driver: Print total time spent at the endJoachim Breitner2013-09-201-5/+2
|
* Tweak the brokens list to include the directory the test is inIan Lynagh2013-02-111-1/+1
|
* Print a warning if we get framework failures when listing brokensIan Lynagh2013-02-111-0/+6
|
* Add 'make list_brokens'Ian Lynagh2013-02-111-20/+25
| | | | | | Gives a list of tickets that the testsuite thinks are broken, and what bug it thinks is the reason. This can then be pasted into trac and 'previewed', which will show any closed tickets with strikeout.
* Pass the test name to the test optionsIan Lynagh2013-02-071-3/+0
| | | | | | | | This allows them to give framework failures. I also had to change how setTestOpts works. Now, rather than applying the options to the directory's "default options", it just stores the options to be applied for each test (i.e. once we know the test name).
* When the testsuite is ^Ced, print the summary anywayIan Lynagh2013-02-021-0/+4
|
* Revert "fix runtests to set LD_LIBRARY_PATH environment variable."Ian Lynagh2013-01-251-26/+22
| | | | | | This reverts commit d262089127c54bfe81963628ac70a309f8133492. We shouldn't need to do this on Linux.
* fix runtests to set LD_LIBRARY_PATH environment variable.David Terei2013-01-241-22/+26
| | | | Patch from Karel Gardas <karel.gardas@centrum.cz>.
* Run all the 'alone' tests at the end of the testsuite runIan Lynagh2012-10-111-1/+4
| | | | | This is more efficient than having to wait for all threads to finish before each 'alone' test.
* Fix a testsuite driver failure on cygwinIan Lynagh2012-05-221-0/+11
|
* Change how we detect whether the terminal is cygwin or msysIan Lynagh2012-05-011-9/+9
| | | | sys.platform now always returns 'win32' for me.
* Disable threads with python 2.7.2.Paolo Capriotti2012-03-061-0/+6
|
* cleaning of testsuiteDavid Terei2011-11-151-4/+0
|
* Driver: define config.libdir for tests to useIan Lynagh2011-10-051-1/+1
| | | | | We also use it internally, which saves us running "ghc --print-libdir" on Windows.
* Add support for checking whether files are written by more than one testIan Lynagh2011-08-071-0/+5
| | | | | | | | | | | | | | | | | | | | Work in progress, but largely works. Known issues: * only supported when using the timeout program * 'test.strace' files aren't cleaned, as they end up in the root directory rather than the test's directory * Doesn't yet track what the current directory is, so finds several files like "A.o" being written by multiple tests (and conversely, may be missing writes to the same file from different directories) * Lots of tests write to $HOME/.ghc/ghci_history. We should probably be passing ghci a flag to stop this from happening. * Some .strace lines aren't understood yet, causing framework failures * One .strace file can cause muiltiple framework failures, if it contains lots of lines that aren't understood Performance: Threads fast testsuite time fast testsuite time with checks 1 16:36.14 25:16.07 5 5:33.95 8:04.05
* Expect 4006 to fail on msysIan Lynagh2011-06-231-0/+8
| | | | | | | In the 65001 codepage, we can't even cat the expected output on msys: $ cat 4006.stdout It works here cat: write error: Permission denied
* speedup testsuite driver startup on Windows/OSXSimon Marlow2010-09-151-25/+27
| | | | | | Instead of calling "ghc-pkg list" and "ghc-pkg field" for each package, call "ghc-pkg dump" and grep the output. Saves a few seconds on Windows for 'make TEST=foo'.
* Move the ctypes import in the driverIan Lynagh2010-05-181-1/+1
| | | | | The import is failing on sparky, and we only use it on Windows anyway, so move it inside an "if windows".
* Fix running dyn tests on OS XIan Lynagh2010-05-031-17/+18
|
* Make the dynlib tests work on WindowsIan Lynagh2010-05-031-1/+33
|
* Fix running the testsuite on msysIan Lynagh2010-04-121-2/+10
| | | | | I'm not entirely sure if the cygwin code is actually right (i.e. I'm not sure what calling convention it uses), but it seems to work.
* Use the UTF8 codepage when running on WindowsIan Lynagh2010-03-191-22/+33
| | | | Fixes openTempFile001 for some system codepages, most notably 437 (US).
* Gather all tests at once, rather than doing them directory by directoryIan Lynagh2009-11-281-22/+13
| | | | | This increases the parallelism possible, and allows us to track what progress we are making.
* Fix setting of utf8 locale on Mac OS XManuel M T Chakravarty2009-11-121-1/+1
|
* Don't use threads on WindowsIan Lynagh2009-10-281-17/+22
| | | | It seems to cause some sort of deadlock
* wibbles to setting LC_ALL, trying to fix buildbot test failuresSimon Marlow2009-09-291-2/+3
|
* Fix runtests.py for Python 2.6.1Manuel M T Chakravarty2009-09-171-3/+5
| | | | - This is the version of Python that comes with Snow Leopard
* Look at whether we already have a UTF8 locale, before trying to find oneIan Lynagh2009-06-111-9/+14
| | | | | | This works around a problem on (old?) Fedora systems, where "locale -a" lists every locale that /might/ exist, rather than only those that /do/ exist.
* Try and find a utf8 locale to useIan Lynagh2009-06-101-0/+16
| | | | In other locales we get some test failures for some ghci unicode tests
* Fix trac #3091: the driver was choking on python versions containing lettersIan Lynagh2009-03-201-3/+7
|
* Simplify, and correct, the code for determining whether we should use threadsIan Lynagh2008-06-121-0/+1
|
* Refuse to use threads unless python version >= 2.5.2Ian Lynagh2008-06-111-1/+12
| | | | | According to trac #1558, 2.5.2 should work. It's possible a lower bound, e.g. 2.5, would suffice.
* Be more consistent in printing about framework failuresIan Lynagh2007-11-231-1/+1
|
* Set os.environ['TERM'] = 'vt100' before running testsIan Lynagh2007-09-061-0/+5
| | | | | Readline sometimes spews out ANSI escapes for some values of TERM, which result in test failures.
* count a syntax error in a .T file as a framework failureSimon Marlow2007-08-231-0/+1
|
* clean up the extra_ways machinerySimon Marlow2007-06-271-2/+4
|
* Allow tests to be skipped based on whether or not the compiler has a tagIan Lynagh2007-04-131-0/+3
| | | | | | When working on a new foo extension, you can now put your tests in the testsuite, set ProjectTags=-foo in mk/build.mk and skip_unless_tag('foo') in the tests.
* Calibrate the testsuite timeout if a value of -1 is givenIan Lynagh2007-04-051-0/+6
|
* Time how long is spent on each .T fileIan Lynagh2007-03-311-0/+15
|