| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This function generalizes the normaliseBytestringPackage and other similar
one-off functions into normalise_version() with takes a package name to
normalize against. This JUST manages package versions; we also could use
a normalize for keys.
In the process, I modified all the normalization functions to be accumulative;
I don't think this makes a difference for current test cases but I think it
makes things nicer.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Reviewers: austin
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D725
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Allow `cmd_wrapper` to return a format string that can refer to config values.
Very useful! This allows for many tests to be defined in pure Python, instead
of in an additional script or Makefile.
Example:
def Thpc(cmd):
return(cmd + ' && {hpc} report Thpc.tix')
test('Thpc', [cmd_wrapper(Thpc), only_ways['hpc']), compile_and_run, [''])
The `{hpc}` is replaced by the value of `config.hpc`. The result is that the
module `Thpc` first gets compiled, then the binary `Thpc` is run, and then the
`hpc report` command is run. The output of all of this is redirected
(and later appended) to Thpc.run.stdout/stderr as normally.
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D706
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The user package database was already ignored for systems that
`have_subprocess`.
To [wiki:Debugging/InstallingPackagesInplace install] a package inplace:
`cabal install
--with-compiler=<inplace-ghc>
--with-package-db=<inplace-package-db>`
<package>
Reviewers: austin
Reviewed By: austin
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D668
|
|
|
|
|
|
|
| |
Msys binaries apply heuristics to escape paths in arguments intended for
non-msys binaries, which breaks timeout invocations, see #9626.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runner summary.
Stat tests are generally less reliable than other types of tests, so it's nice to have
them in a separate section rather than interspersed with potential...
Summary: ...correctness issues.
Reviewers: austin
Reviewed By: austin
Subscribers: thomie, carter, simonmar
Differential Revision: https://phabricator.haskell.org/D406
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Fixes python3 compatibility issues by replacing filter with a list
comperhension and a potential issue with python2 when override_flags
would be an empty list.
Reviewers: austin, thomie
Reviewed By: austin, thomie
Subscribers: thomie, carter, simonmar, mlen
Differential Revision: https://phabricator.haskell.org/D399
GHC Trac Issues: #9230
|
|
|
|
|
| |
And make normalise_fun polyvariadic. After all, this is untyped code, so
lets make use of it :-)
|
|
|
|
| |
This is more readable than nesting `two_normalisers()`-invocations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This revision enables -fwarn-tabs by default and add a suppression
flag, so that GHC compilation won't fail when some files contain tab
characters.
Test Plan: Additional test case, T9230, was added to cover that change.
Reviewers: austin
Reviewed By: austin
Subscribers: simonmar, ezyang, carter, thomie, mlen
Differential Revision: https://phabricator.haskell.org/D255
GHC Trac Issues: #9230
Conflicts:
testsuite/driver/testlib.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This reverts commit 084d241b316bfa12e41fc34cae993ca276bf0730.
This is a possible culprit of Windows breakage reported at ghc-devs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
New function signal_exit_code hides differences between target platforms
handling of fatal error signals and the applications' exit codes. E.g.
on Linux the application exit code which receives fatal error signal
is encoded as 128 + signal value. On the other hand on Solaris
the application exit code is signal value alone.
Test Plan: validated on Linux and tested on Solaris
Reviewers: austin, simonmar
Reviewed By: simonmar
Subscribers: phaskell, simonmar, relrod, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D122
|
| |
|
|
|
|
|
|
|
| |
With THREADS=n, for n > 1, it becomes impossible to match the
performance numbers to the test case name. Hence include it in the
output. This also makes grepping through a bunch of logs for a specific
test case much easier, and outweighs the extra verbosity.
|
|
|
|
|
| |
this makes it easier to spot a “just over the mark” change (e.g. +5.1%),
compared to a more radical jump (e.g. +15%).
|
|
|
|
|
| |
which makes it print performance numbers even when the test succeeds
(good for historic analysis)
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
|
|
| |
check_stdout(f) allows you to override the test framework's
diff based output checking with another mechanism. f is
a function which takes two arguments: the first is the
filename containing the observed stdout, the second is the
normaliser that would have been applied (in case you want
to read, normalise, and then do something.)
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| |
|
|
|
|
| |
by ensuring this in the test runner.
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
This makes the test run alone, to increase the chance of a
multi-CPU race happening.
|
| |
|
| |
|
|
|
|
| |
The driver now also supports nested lists of setup functions
|
|
|
|
| |
Predicates now match the order they are documented on the wiki
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The name 'os' clashes with a python library
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
In particular, the 3 values you most need to care about (framework
failures, unexpected passes, unexpected failures) are now together
in a block.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Uses look like
stats_num_field('bytes allocated',
[(wordsize(32), 45648, 5),
(wordsize(64), 49400, 5)])
where the first matching triple will be used. e.g. we could override
the Win32 expected values with:
[(platform('i386-unknown-mingw32'), 41000, 5),
(wordsize(32), 45648, 5),
(wordsize(64), 49400, 5)])
with other 32-bit platforms falling through to the wordsize(32) case.
This makes it easier to give different values for different platforms,
while being sure that all platforms are covered.
|