| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* See `Note [Why is there no stage1 setup function?]`.
* Move T2632 to the tests/stage1 directory (#10382).
Reviewed by: ezyang, nomeata, bgamari
Differential Revision: https://phabricator.haskell.org/D2341
GHC Trac Issues: #12197
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed in Phab:D1187, this approach makes it a bit easier to
inspect the test directory while working on a new test.
The only tests that needed changes are the ones that refer to files in
ancestor directories. Those files are now copied directly into the test
directory.
validate still runs the tests in a temporary directory in /tmp, see
`Note [Running tests in /tmp]` in testsuite/driver/runtests.py.
Update submodule hpc.
Reviewed by: simonmar
Differential Revision: https://phabricator.haskell.org/D2333
GHC Trac Issues: #11980
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: validate, check that gz is used
Reviewers: hvr, austin, thomie
Reviewed By: thomie
Differential Revision: https://phabricator.haskell.org/D1788
GHC Trac Issues: #11434
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows, with msys2, `pwd` works (as can be seen by the use of `pwd`
that slipped into the validate script), so there is really no need for
`ghc-pwd` anymore.
Test Plan: try it
Reviewers: austin, bgamari, Phyx
Reviewed By: Phyx
Subscribers: Phyx, erikd
Differential Revision: https://phabricator.haskell.org/D1731
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should catch duplicate uniques in the future before Bad Things
happen.
Test Plan: Introduce a duplicate unique and validate
Reviewers: austin, hvr, thomie
Reviewed By: hvr, thomie
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1521
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This reverts commit aecf4a5f96d0d3ffcf4cb2c67a20a610d7c64486.
It turns out the Simons are relying on 'mk/are-validating.mk', see
D1307.
The workflow they are using is:
* run ./validate
* find a bug in the compiler
* try to fix the bug, running 'make 1' (or 'make 2') repeatedly. Because
of 'mk/are-validating.mk', this uses the same build settings as validate.
* continue ./validate (--no-clean)
I suggested two alternatives:
A. run 'make 1 Validating=YES' instead of 'make 1'
Problem: when running `./validate --fast` or `./validate --hpc`
instead of a normal `./validate`, validate sets ValidateSpeed and
ValdateHpc in mk/are-validating.mk. You would for example have to run
'make 1 Validating=YES ValidateSpeed=FAST' instead of 'make 1' to get the
same build settings as `./validate --fast`, which is entirely too long and
error prone.
B. uncomment `#BuildFlavour=validate` in mk/build.mk, and include
'mk/validate.mk'.
Problems:
* any other settings you have in build.mk will also get used.
* the distinction between 'mk/validate.mk' and 'mk/build.mk' becomes less
clear.
* it is easy to forget to include 'mk/validate.mk'.
* the build system again doesn't have access to the ValidateSpeed and
ValdateHpc settings set by validate.
Neither of these two options is entirely satisfactory.
Reviewers: austin, bgamari
Differential Revision: https://phabricator.haskell.org/D1383
|
|
|
|
|
|
|
|
|
|
| |
A `make` build after running `./validate` earlier should use the normal
mk/build.mk settings, without having to manually delete the leftover
file mk/are-validating or run `make clean` first.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1307
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just install all packages that are built. Don't make an exception for
the dph and extra packages.
You can control whether the dph and extra packages should be build using
the variables BUILD_DPH and BUILD_EXTRA_PKGS. These variables didn't
exist before. But now that they do, InstallExtraPackages isn't really
needed anymore.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1227
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`make test` now runs all tests for a single way only. Use `make slowtest` to
get the previous behaviour (i.e. run all tests for all ways).
The intention is to use this new `make test` setting for Phabricator, as
a reasonable compromise between `make fasttest` (what it previously
used) and a fullblown `make slowtest` (which runs all tests for all
ways).
See Note [validate and testsuite speed] in toplevel Makefile.
Differential Revision: https://phabricator.haskell.org/D1178
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We only support building GHC on mys2 nowadays, see
https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows.
This (partially) reverts various commits from a few years ago, among which:
* 5775d5142da227d65fb86994d363eb16841ee642
"Add OSTYPE build-system variable, and use it"
* 3fb8c431824aa2f3bd979e35d1a283546fcfbe74
"Fix building libgmp on cygwin"
* cdbb4720c424500adb57cbbef69721d0b039fa46
"Fix cmd invocation by libffi cuild system on Windows 7 cygwin"
* e8121501ee3549a35e954726ccfd871ac9d51f83
"Fix dblatex and xml* tool detection on Windows"
Reviewed by: austin, Phyx
Differential Revision: https://phabricator.haskell.org/D1155
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Show commands being run by default, so you can copy/paste and rerun them
on build failures/warnings.
See Note [Default build system verbosity].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
stm and parallel have an 'extra' tag in the ./packages file, so would get
added to PACKAGES_STAGE2 by default, and subsequently build by the stage2
compiler.
With this patch, this happens only when you set BUILD_EXTRA_PKGS=YES in
build.mk. A normal validate still builds (and tests) the 'extra'
packages, but they are skipped for `validate --fast`. Maybe this brings
us closer to finishing within the 50 minute Travis limit as well.
We can later try to give random, primitive and vector an 'extra' tag as
well (now they have a 'dph' tag), but some tests will probably fail at
first.
Differential Revision: https://phabricator.haskell.org/D1065
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* By default use V=0, and call the testsuite with VERBOSE=2, which we
did before only with validate --quiet. This disables printing the
test commands it runs.
* When --quiet is used, call the testsuite with VERBOSE=1. This
disables printing the '====> Scanning' lines, and doesn't print
which test is being run. So it only prints something when a test
accidentally prints to stdout or when it fails.
Don't set this option on Travis, as Travis will cancel a build if it
doesn't see any output for more than 10 minutes.
* When --quiet is used, set the new test option NO_PRINT_SUMMARY,
which skips printing the test summary. Only the list of unexpected
failures is printed, if there are any. Note that the full summary
can still be found in testsuite_summary.txt
* When --quiet is used, don't pass the `-v` flag to `ghc-pkg check`
* When --quiet is used, don't print the Oops! header. It shoud be
clear from the list of failing tests that something is wrong.
This is all done to get the most out of 30 lines of logfile. These changes can
be disabled later by simply not passing the --quiet flag to validate.
Differential Revision: https://phabricator.haskell.org/D942
|
|
|
|
|
|
|
|
|
| |
And mention more prominently that `-DDEBUG` and tests that call
`compiler_stats_num_fields` don't play well together
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D799
|
|
|
|
|
|
| |
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D783
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Currently, running `make test` in:
/ runs fast testsuite
/testsuite doesn't work
/testsuite/tests runs slow testsuite
This commit:
* changes `make test` in the ghc root directory to run the slow testsuite,
just like it already does in `testsuite/tests`
* adds some simple targets to `/testsuite`, that all delegate to
`/testsuite/tests`
* adds a new target `fasttest` to the toplevel Makefile, with a shorthand
name `fast` (for consistency with /testsuite and /testsuite/tests)
* declares some more targets PHONY for safety
Wiki pages that need updating:
* Building/StandardTargets
* Buliding/RunningTests
Reviewers: austin
Reviewed By: austin
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D685
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This will *not* work on NixOS for example.
Reviewers: austin
Reviewed By: austin
Subscribers: thomie, carter
Differential Revision: https://phabricator.haskell.org/D479
GHC Trac Issues: #9057
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should have gone in with the update in testlib.py to split
off stat test failures into a separate category in the summary.
Reviewers: austin
Reviewed By: austin
Subscribers: thomie, carter
Differential Revision: https://phabricator.haskell.org/D451
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When we run `./validate`, we are typically given an incredibly large
heap of information, a large majority of which isn't really
necessary. In particular, we don't really care about what `make` is
doing, nor `ghc` itself most of the time.
This reduces some of the output by making `./validate` quietier. By
running:
$ ./validate --quiet
you'll enable `V=0` in the build, suppressing compiler messages, and
you will suppress `make` commands by running `make` in 'silent
mode'. It also runs the testsuite with `VERBOSE=2` to avoid extra
lines. This alone makes quite a difference for build log sizes.
Furthermore, by making the build logs less verbose, life is easier for
systems like Harbormaster and Travis-CI, which dislike dealing with
logs that are 10k lines or more.
Signed-off-by: Austin Seipp <austin@well-typed.com>
Test Plan: iiam
Reviewers: hvr, nomeata, ezyang
Reviewed By: ezyang
Subscribers: simonmar, ezyang, carter, thomie
Projects: #ghc
Differential Revision: https://phabricator.haskell.org/D298
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Test Plan: ran ./validate on linux
Reviewers: austin
Reviewed By: austin
Subscribers: phaskell, simonmar, relrod, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D146
|
|
|
|
|
|
| |
This was removed in bb003086599c2ac166cfb3aa710480713adb5a2f
and caused some buildbots to stop working. So this commit just
re-adds it as a no-op (wrt the current default).
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that the `libraries/dph` submodule is checked out always we need
a different way to disable building DPH to save compile-time while
developing GHC.
This commit adds a new YES/NO Make variable `BUILD_DPH` that can be used
inside mk/build.mk to control whether to build libraries/dph or not.
The default setting is `BUILD_DPH=YES` (via `mk/config.mk.in`).
This also changes `validate`'s flag `--no-dph` to explicitly disable DPH
for the current validation run.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Test Plan: successful validates with `--fast --no-dph`
Differential Revision: https://phabricator.haskell.org/D31
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See merge commit 66693401b98cb5aa912948af7bbd2182474f50c4
This commit also adds a check for a left-over testsuite/.git folder to sync-all
This way, the first time sync-all is called after updating to a
post-testsuite-merge (see #8545) state of ghc.git, the sync-all script
aborts with an error message if a `testsuite/.git` folder is detected and
thus forces the user to take action.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Under --slow, the DPH tests can take incredible amounts of time to run.
And on some platforms, we may not have a fully working linker in order
to build DPH etc anyway. So this provides a way to turn it off.
This flag is off by default, but should your specify it, you can skip
the required 'dph' libraries in a build, should you remove them from the
source tree.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
|
|
|
| |
This basically turns the comment at the beginning of the `validate`
shell script into an interactive `--help` output plus some minor additions.
|
|
|
|
| |
Should help to track down cache-out-of-date problems
|
|
|
|
|
| |
This means that we can use the standard MonadIO class, rather than
needing our own copy.
|
|
|
|
|
| |
This makes life easier, as ghc.mk has access to HADDOCK_DOCS
and DYNAMIC_BY_DEFAULT, so knows the right way to build it.
|
| |
|
|
|
|
|
| |
It's less precise now, but still good enough for what we need, and
this way we don't need to have literal tabs in the file.
|
| |
|
|
|
|
|
|
| |
I've also renamed the bindisttest install directory to contain multiple
spaces, so we are also testing that multiple spaces aren't getting
collapsed into a single space.
|
|
|
|
| |
This makes "make" keep working after a "./validate --fast".
|
|
|
|
|
|
|
|
|
|
|
|
| |
The --fast option now disables the following:
- dynamic libs
- bindist and bindisttest
Which knocks several minutes off validate for me, but it's still over
30 minutes using 5 cores on 64-bit Linux.
Usual caveats apply: if you're using --fast, then make sure you aren't
doing anything that might destabilise dynamic libs or binary dists.
|
|
|
|
|
| |
We don't actually enable the test yet, but when we do validate will
check whether it fails.
|
|\ |
|
| | |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
This fixes the ghcpkg05 test failure.
(ghc-pkg check was complaining because the mtl docs didn't exist).
|
|/
|
|
| |
for debugging the build system.
|
|
|
|
|
| |
some more tests to run (those with reqlib('mtl')) and serves as an
extra sanity check on Cabal and the bindist.
|
|
|
|
|
| |
If we aren't validating and mk/build.mk doesn't exist then boot
prints a warning, pointing at instructions for setting up mk/build.mk.
|
| |
|