summaryrefslogtreecommitdiff
path: root/validate
Commit message (Collapse)AuthorAgeFilesLines
* Rename ghci.sh and build.sh to ghci and build respectivelyXavier Denis2020-02-291-2/+2
| | | | | | Convert hadrian buildscripts to unsuffixed, dashed form final cleanups
* Re-layout validate scriptBen Gamari2019-12-101-144/+142
| | | | This script was previously a whitespace nightmare.
* Use Hadrian by default in validate script (#17527)Sylvain Henry2019-11-301-7/+9
|
* validate: Use Hadrian's validate flavourBen Gamari2019-10-081-3/+9
|
* Allow validation with Hadrian built with Stack [skip ci]Sylvain Henry2019-09-161-3/+18
|
* add an --hadrian mode to ./validateAlp Mestanogullari2019-05-231-57/+144
| | | | | | | | | | | | | | When the '--hadrian' flag is passed to the validate script, we use hadrian to build GHC, package it up in a binary distribution and later on run GHC's testsuite against the said bindist, which gets installed locally in the process. Along the way, this commit fixes a typo, an omission (build iserv binaries before producing the bindist archive) and moves the Makefile that enables 'make install' on those bindists from being a list of strings in the code to an actual file (it was becoming increasingly annoying to work with). Finally, the Settings.Builders.Ghc part of this patch is necessary for being able to use the installed binary distribution, in 'validate'.
* Update Wiki URLs to point to GitLabTakenobu Tani2019-03-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | This moves all URL references to Trac Wiki to their corresponding GitLab counterparts. This substitution is classified as follows: 1. Automated substitution using sed with Ben's mapping rule [1] Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy... New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy... 2. Manual substitution for URLs containing `#` index Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...#Zzz New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...#zzz 3. Manual substitution for strings starting with `Commentary` Old: Commentary/XxxYyy... New: commentary/xxx-yyy... See also !539 [1]: https://gitlab.haskell.org/bgamari/gitlab-migration/blob/master/wiki-mapping.json
* Cleanup boot and validateKrzysztof Gogolewski2018-10-151-13/+1
| | | | | | | | | | | | | | | | | - Remove dph from validate; dph was removed - The required-tag argument to boot was used only for dph, remove - check_boot_packages() was not called at all, and didn't work. I fixed it based on previous Perl version. Test Plan: Harbormaster Reviewers: bgamari, thomie Reviewed By: bgamari Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5129
* circleci: Detect core countBen Gamari2018-07-061-23/+1
| | | | | | | | | | | | | | | Test Plan: Try `./validate`, CircleCI build; make sure core count detection works in both cases. Reviewers: alpmestan Reviewed By: alpmestan Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14470 Differential Revision: https://phabricator.haskell.org/D4897
* vectorise: Put it out of its miseryBen Gamari2018-06-021-6/+0
| | | | | | | | | | | | | | | | | | | | | Poor DPH and its vectoriser have long been languishing; sadly it seems there is little chance that the effort will be rekindled. Every few years we discuss what to do with this mass of code and at least once we have agreed that it should be archived on a branch and removed from `master`. Here we do just that, eliminating heaps of dead code in the process. Here we drop the ParallelArrays extension, the vectoriser, and the `vector` and `primitive` submodules. Test Plan: Validate Reviewers: simonpj, simonmar, hvr, goldfire, alanz Reviewed By: simonmar Subscribers: goldfire, rwbarton, thomie, mpickering, carter Differential Revision: https://phabricator.haskell.org/D4761
* Rewrite boot in PythonBen Gamari2017-10-021-2/+2
| | | | | | | | | | | | | | | | | | One step closer to being able to drop the Windows Perl tarball. We previously attempted to do this in D3567 but were forced to revert due to Windows problems. Acknowledgements: * @Phyx kindly contributed the codepath allowing this to work on Windows. Test Plan: Validate Reviewers: hvr, austin, Phyx Subscribers: erikd, thomie, rwbarton Differential Revision: https://phabricator.haskell.org/D3918
* testsuite: Produce JUnit outputBen Gamari2017-07-281-0/+2
| | | | | | | | | | | | Test Plan: Validate, try ingesting into Jenkins. Reviewers: austin Subscribers: rwbarton, thomie GHC Trac Issues: #13716 Differential Revision: https://phabricator.haskell.org/D3796
* Revert "Rewrite boot in Python"Ben Gamari2017-05-261-2/+2
| | | | | | This reverts commit 0440af6abe592c2366d302d603664fe763ad0828. Unfortunately this breaks on Windows for tiresome reasons. I'll need to reevaluate this.
* Rewrite boot in PythonBen Gamari2017-05-221-2/+2
| | | | | | | | | | Test Plan: Validate Reviewers: hvr, austin Subscribers: rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D3567
* validate: Clean GMP treesBen Gamari2017-04-041-1/+1
| | | | | | | | | | | | | | | For reasons unknown `validate` passed `NO_CLEAN_GMP=YES` to `maintainer-clean`, leaving a stale `gmp.h` which causes the build to fail in the event that the uses a tree for validating for two different target platforms. This is quite unexpected, don't do it. Reviewers: hvr, austin, rwbarton, dfeuer Reviewed By: dfeuer Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D3409
* validate: Allow user to override Python interpreterBen Gamari2016-10-171-2/+8
| | | | | | | | | | | | | | | Due to #12554 and #12661 we must be quite picky about our choice of Python interpreter on Windows. Allow the user to override it. Test Plan: `PYTHON=/usr/bin/python2 ./validate` on Windows Reviewers: austin, Phyx Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2603 GHC Trac Issues: #12554, #12661
* validate: Add --build-onlyBen Gamari2016-10-011-0/+15
| | | | | | | | | | | This will allow us to split up Harbormaster output for the build and test stages of validation. Test Plan: `./validate --build-only && ./validate --testsuite-only` Reviewers: thomie, hvr, austin Differential Revision: https://phabricator.haskell.org/D2553
* Validate: use `rm -f` instead of `rm`Thomas Miedema2016-06-181-1/+1
|
* Testsuite: validate the tests/stage1 directory with the stage1 compilerThomas Miedema2016-06-181-3/+28
| | | | | | | | | | | * 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
* Testsuite: run tests in <testdir>.run instead of /tmpThomas Miedema2016-06-181-1/+2
| | | | | | | | | | | | | | | | | | | | 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
* validate: Note existence of config_args variableBen Gamari2016-04-171-0/+3
|
* validate: Use gz compression during bindist checkBen Gamari2016-01-181-2/+6
| | | | | | | | | | | | 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
* Build system: delete ghc-pwdThomas Miedema2016-01-041-3/+3
| | | | | | | | | | | | | | | | 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
* Rewrite checkUniques and incorporate into validateBen Gamari2015-11-241-0/+2
| | | | | | | | | | | | | | | 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
* Revert "Build system: don't create mk/are-validating.mk"Thomas Miedema2015-10-291-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Build system: don't create mk/are-validating.mkThomas Miedema2015-10-041-11/+7
| | | | | | | | | | 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
* Build system: delete the InstallExtraPackages variableThomas Miedema2015-09-081-5/+0
| | | | | | | | | | | | | | 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
* Testsuite: by default run all tests for a single wayThomas Miedema2015-09-021-5/+5
| | | | | | | | | | | | | | `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
* Build system: delete half-baked Cygwin supportThomas Miedema2015-08-201-4/+0
| | | | | | | | | | | | | | | | | | | 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
* Travis: prevent 10' no output, by setting VERBOSE=2Thomas Miedema2015-08-171-3/+6
|
* Validate: explain THREADS instead of CPUS in --helpThomas Miedema2015-07-221-8/+9
|
* Validate: document --quiet [skip ci]Thomas Miedema2015-07-221-2/+3
|
* Validate: by default do show commandsThomas Miedema2015-07-211-3/+22
| | | | | | | Show commands being run by default, so you can copy/paste and rerun them on build failures/warnings. See Note [Default build system verbosity].
* Build system: do not build stm and parallel by defaultThomas Miedema2015-07-141-0/+5
| | | | | | | | | | | | | | | | | 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
* Make validate more quietThomas Miedema2015-06-041-28/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* testdriver: delete unused waysThomas Miedema2015-04-071-1/+2
| | | | | | | | | 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
* Filter out `-Rghc-timing` for V=0 builds (#10223)Thomas Miedema2015-04-011-1/+0
| | | | | | Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D783
* `make test` in root directory now runs fulltestThomas Miedema2015-03-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Don't use absolute paths for perl in validateMateusz Kowalczyk2014-11-171-3/+2
| | | | | | | | | | | | | | 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
* Have validate take into account stat test failures too.Gintautas Miliauskas2014-11-071-0/+1
| | | | | | | | | | | | | 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
* First stab at making ./validate less verboseAustin Seipp2014-10-011-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* validate: add simple CPU count autodetectionSergei Trofimovich2014-08-191-5/+27
| | | | | | | | | | | | | | 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
* Re-add `--no-dph` option to ./validateHerbert Valerio Riedel2014-08-121-0/+3
| | | | | | 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).
* Don't build or test dph by defaultAustin Seipp2014-08-101-13/+10
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Add BUILD_DPH variable to GHC build-systemHerbert Valerio Riedel2014-06-291-3/+10
| | | | | | | | | | | | | | | | | | | 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
* Update `sync-all` and others files w.r.t. merged testsuite (re #8545)Herbert Valerio Riedel2014-01-121-2/+1
| | | | | | | | | | | | | 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>
* Add a --no-dph flag to ./validateAustin Seipp2013-09-041-1/+12
| | | | | | | | | | | | 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>
* Teach `validate` script how to `--help`Herbert Valerio Riedel2013-08-311-15/+35
| | | | | This basically turns the comment at the beginning of the `validate` shell script into an interactive `--help` output plus some minor additions.
* Run ghc-pkg check during validateIan Lynagh2013-05-301-0/+19
| | | | Should help to track down cache-out-of-date problems
* Ship transformers with GHCIan Lynagh2013-01-021-6/+3
| | | | | This means that we can use the standard MonadIO class, rather than needing our own copy.