| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Fixes Trac #7573.
Signed-off-by: Austin Seipp <mad.one@gmail.com>
|
| |
|
| |
|
|
|
|
|
| |
This makes it possible to share source files between tests, without
having the .o/.hi files overlap
|
|
|
|
|
|
| |
tighten up #367 test.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
|
|
|
|
|
|
|
|
| |
Added an option to combine stdout and stderr into a single file. This is
useful for ghci scripts that produce interleaved errors and normal
output.
Also modified check_stderr_ok so that it normalizes stderr in the same
way as compile tests.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it much easier to update the bounds. Instead of coming up
with a suitable (min,max) pair, you just give e.g. (base, 10) to allow
10% deviation from the base figure, which can be pasted from the
error.
e.g. previously:
- # expected value: 458700632 (amd64/Linux):
- if_wordsize(64,
- compiler_stats_num_field('bytes allocated', 440000000,
- 480000000)),
now:
+ if_wordsize(64, # sample from amd64/Linux 15/2/2012
+ compiler_stats_range_field('bytes allocated', 360243576, 10)),
Note: use stats_range_field rather than stats_num_field. I left
support for the old way for now so that we can do a gradual migration.
(next I suppose we should make it so that 'make accept' works for perf
tests, but that's for another day)
|
|
|
|
| |
Motivation: we wanted to disable -dcore-lint for the perf tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OVERALL SUMMARY for test run started at Fri Jan 6 09:46:46 GMT 2012
82 total tests, which gave rise to
820 test cases, of which
0 caused framework failures
818 were skipped
0 expected passes
2 had missing libraries <---
0 expected failures
0 unexpected passes
0 unexpected failures
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default setting for only_ways was [], which meant "all ways".
However, it's really useful to have [] mean "no ways".
In cgrun057 I used only_ways(prof_ways) to mean "only run this in the
profiling ways", but if profiling is disabled then prof_ways = [] and
this doesn't do what we want. Profiling is normally disabled in
validate, but I had it enabled because I was testing profiling.
So now only_ways defaults to None, which means "all ways", and [] now
means "no ways".
|
| |
|
| |
|
|
|
|
|
|
| |
In particular, this allows more specific results to be specified, e.g.
if_wordsize(64, stats_num_field('foo', 50, 54)),
if_platform('x86_64-apple-darwin', stats_num_field('foo', 62, 66)),
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
Tests can now specify that they require the interpreter (i.e. that
they use one of ghci, annotations, TH, etc).
|
|
|
|
|
| |
Also teach the testsuite how to compile objective-c code with .m as
a suffix.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
And skip testwsdeque if it is not in-tree, as we rely on some headers
from the build tree.
|
|
|
|
|
| |
This increases the parallelism possible, and allows us to track what
progress we are making.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I think different Linux setups generate different output for these tests,
so we just ignore the output on Linux now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also, clean up the way we find the output file. From the comment:
# Finding the sample output. The filename is of the form
#
# <test>.stdout[-<compiler>][-<version>][-<wordsize>][-<platform>]
#
# and we pick the most specific version available. The <version> is
# the major version of the compiler (e.g. 6.8.2 would be "6.8"). For
# more fine-grained control use if_compiler_lt().
I'll update the wiki too.
|
| |
|
|
|
|
|
|
|
| |
Now instead of saying, e.g.
namebase_if_compiler_lt('ghc','6.9', 'foo-6.8')
you say
if_compiler_lt('ghc','6.9', namebase('foo-6.8'))
|
|
|
|
| |
instead
|
|
|
|
|
|
|
|
| |
Allows us to use a different name base for foo.stderr for old compilers, e.g.
test('tc141',
namebase_if_compiler_lt('ghc', '6.9', 'tc141-6.8'),
compile_fail,
[''])
|
|
|
|
| |
This is better than a top-level clean() when using threads
|
| |
|
|
|
|
|
| |
The user001 test in the unix package can fail when stdin comes from a
file.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|