1. 25 Oct, 2015 1 commit
    • Alan Zimmerman's avatar
      Provide a utility to check API Annotations · 43751b24
      Alan Zimmerman authored
      It is difficult for GHC developers to know if they have broken the API
      Annotations.
      
      This patch provides a utility that can be used as a test to show up
      errors in the API Annotations.
      
      It is based on the current tests for ghc-api/annotations which can parse
      a file using the just-built GHC API, and check that no annotations are
      disconnected from the ParsedSource in the output.
      
      In addition, it should be able to dump the annotations to a file, so a
      new feature developer can check that all changes to the parser do
      provide annotations.
      
      Trac ticket: #10917
      
      Test Plan: ./validate
      
      Reviewers: hvr, thomie, austin, bgamari
      
      Reviewed By: bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1368
      
      GHC Trac Issues: #10917
      43751b24
  2. 04 Oct, 2015 1 commit
  3. 02 Sep, 2015 2 commits
  4. 17 Aug, 2015 1 commit
  5. 20 Jun, 2015 1 commit
    • thomie's avatar
      Build system: unset HADDOCK when haddock is not found · 13ba87f8
      thomie authored
      This prevents the following test errors on Windows:
      
         perf/haddock haddock.Cabal [[Errno 2] No such file or directory: ...
         perf/haddock haddock.base [[Errno 2] No such file or directory: ...
         perf/haddock haddock.compiler [[Errno 2] No such file or directory: ...
      
      The tests will now be reported as having missing libraries.
      13ba87f8
  6. 09 Jun, 2015 1 commit
    • thomie's avatar
      Revert "The test runner now also works under the msys-native Python." · bb996712
      thomie authored
      To make the test runner work under msys-native Python...
      
      Commit 5258566e broke the msys testsuite
      driver (#10441). It changed the quoting of `config.compiler` from single
      quotes to double quote, which turns out to not be compatible with what
      the function `passThroughCmd` expected.
      
      We could fix `passThroughCmd` to handle the case where `config.compiler`
      is double quoted, and scatter some notes around to make sure the quoting
      done in various places of the testsuite driver stay compatible.
      
      Instead, this commit reverts 101c62e2,
      which introdced the function `passThroughCmd` in the first place
      (#9626). ezyang reports that doing this revert fixes the testsuite
      driver for him using the the following version of msys2:
      
        msys2-keyring r8.3864337-1
        msys2-runtime 2.1.0.16351.cd3184b-1
        msys2-runtime-devel 2.1.0.16351.cd3184b-1
        msys2-w32api-headers 5.0.0.4456.c8b6742-1
        msys2-w32api-runtime 5.0.0.4455.32db221-1
      
      Ideally we'd know what minimum version of msys2 we require, but for now
      this fix is better than nothing.
      
      Only gintas ever reported the original problem, and he actually
      mentioned shortly afterwards: "This may have been fixed by a recent
      release of msys2, but I am not sure."
      
      Differential Revision: https://phabricator.haskell.org/D952
      bb996712
  7. 04 Jun, 2015 1 commit
    • thomie's avatar
      Make validate more quiet · d0063e89
      thomie authored
        * 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
      d0063e89
  8. 30 May, 2015 2 commits
    • thomie's avatar
      Build system: always use `make -r` · 577d3158
      thomie authored
      Do what this comment was suggesting:
      
          "Ideally we'd like to have 'make -r' turned on by default, because
          that disables all the implicit rules, but there doesn't seem to be a
          good way to do that."
      
      This change doesn't seem to have much effect on the time it takes to run
      make. Apparently clearing .SUFFIXES was enough for that. But it does
      make the output of `make -d` quite a bit shorter, which is nice.
      
      Note: ghc.mk is always called indirectly, so no need to set .SUFFIXES or
      MAKEFLAGS there again.
      
      Differential Revision: https://phabricator.haskell.org/D915
      577d3158
    • thomie's avatar
      Build system: check $CLEANING instead of $MAKECMDGOALS · 4de8028d
      thomie authored
      To check if we're cleaning, always check the $CLEANING variable, instead
      of sometimes $CLEANING, sometimes $MAKECMDGOALS.
      
      [skip ci]
      4de8028d
  9. 28 May, 2015 1 commit
    • thomie's avatar
      Testdriver: do not interfer with MinGW path magic (#10449) · ce166a3a
      thomie authored
      This should fix the testsuite driver on Windows using the MinGW tools
      with a native build of Python.
      
      MinGW automagically converts MinGW-style paths (e.g.
      '/c/programs/ghc/bin/ghc') into ordinary Windows paths (e.g.
      'C:/programs/ghc/bin/ghc') when a native Windows program is invoked. But
      it doesn't do so when those paths are wrapped with a pair of escaped
      double quotes.
      
      The fix is to not call `eval` on the paths in Python, which let's us use
      one less pair of quotes, and makes MinGW happy.
      
      Reviewers: Rufflewind, austin
      
      Differential Revision: https://phabricator.haskell.org/D911
      ce166a3a
  10. 23 May, 2015 1 commit
  11. 11 Mar, 2015 1 commit
  12. 07 Mar, 2015 1 commit
  13. 02 Mar, 2015 1 commit
    • thomie's avatar
      `make test` in root directory now runs fulltest · 31d4f2e9
      thomie authored
      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
      31d4f2e9
  14. 21 Oct, 2014 1 commit
    • mlen's avatar
      Enabled warn on tabs by default (fixes #9230) · 972ba121
      mlen authored
      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
      972ba121
  15. 23 Aug, 2014 1 commit
    • Sergei Trofimovich's avatar
      testsuite: disable gcc's warnings about casts of incompatible prototypes in UNREG · fcdd58d2
      Sergei Trofimovich authored
      Haskell's 'foreign import' declaraion does not have a way
      to extress exact C prototypes (it ignores 'const' modifiers, exact pointer
      types, etc.) which leads to warnings when C backend generates calls to such
      functions:
      
          /tmp/ghc32698_0/ghc32698_10.hc:52:5:
               warning: conflicting types for built-in function ‘strlen’ [enabled by default]
               EF_(strlen);
                   ^
      
      Patch disables builtin functions for UNREG build
      to workaround test failures due to stderr mismatch.
      
      Fixes the following test failures:
          TEST="safePkg01 T5423 T7574 T3736"
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      fcdd58d2
  16. 23 May, 2014 1 commit
    • Joachim Breitner's avatar
      test.mk: Be liberal in accepting GHC_PKG output · 864759cb
      Joachim Breitner authored
      When the tree is not built, GHC_PKG refers to ghc-pkg in the patth,
      which may not yet support --simple-output to suppress the field name. So
      we strip the fieldname when parsing the output, to avoid annoying
      warnings.
      864759cb
  17. 05 Oct, 2013 1 commit
    • Joachim Breitner's avatar
      Flag to test suite: SKIP_PERF_TESTS · 718e86b4
      Joachim Breitner authored
      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
      718e86b4
  18. 20 Sep, 2013 1 commit
    • Joachim Breitner's avatar
      Test driver: Implement different verbosities · 1e246965
      Joachim Breitner authored
      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.
      1e246965
  19. 17 Sep, 2013 1 commit
  20. 20 Jun, 2013 1 commit
  21. 04 Jun, 2013 1 commit
  22. 12 May, 2013 1 commit
    • ian@well-typed.com's avatar
      Change how we detect what library ways are available · 962fd59e
      ian@well-typed.com authored
      We used to use the base package to do the detection. However, base has
          extra-lib-dirs: @ICONV_LIB_DIRS@
      in base.buildinfo.in, which means that if ICONV_LIB_DIRS is set then
      the package config will have
          library-dirs: [...]base/dist-install/build /path/for/iconv
      and, as paths may be double quoted and contains spaces, this makes it
      a little tricky to extra the path that we want to look in (the first
      path).
      
      We therefore now use the ghc-prim package, which has no such complication.
      962fd59e
  23. 10 May, 2013 2 commits
  24. 21 Apr, 2013 2 commits
  25. 15 Mar, 2013 1 commit
  26. 11 Feb, 2013 1 commit
    • ian@well-typed.com's avatar
      Add 'make list_brokens' · 3d94d01a
      ian@well-typed.com authored
      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.
      3d94d01a
  27. 26 Jan, 2013 1 commit
  28. 14 Dec, 2012 1 commit
  29. 30 Nov, 2012 1 commit
  30. 10 Nov, 2012 1 commit
  31. 30 Oct, 2012 3 commits
  32. 25 Oct, 2012 1 commit
  33. 12 Oct, 2012 1 commit
  34. 03 Oct, 2012 1 commit