1. 23 Mar, 2020 1 commit
  2. 26 Feb, 2020 1 commit
  3. 09 Feb, 2020 1 commit
  4. 17 Dec, 2019 1 commit
    • Ben Gamari's avatar
      testsuite: Make ghc_built_by_llvm check more precise · 6ea4eb4b
      Ben Gamari authored
      Previously it would hackily look at the flavour name to determine
      whether LLVM was used to build stage2 ghc. However, this didn't work at
      all with Hadrian and would miss cases like ARM where we use the LLVM
      backend by default.
      
      See #16087 for the motivation for why ghc_built_by_llvm is needed at
      all. This should catch one of the ARMv7 failures described in #17555.
      6ea4eb4b
  5. 11 Nov, 2019 1 commit
  6. 08 Nov, 2019 1 commit
    • Alp Mestanogullari's avatar
      hadrian: fix support for the recording of perf test results · d0ef8312
      Alp Mestanogullari authored
      Before this patch, Hadrian didn't care about the TEST_ENV and
      METRICS_FILE environment variables, that the performance testing
      infrastructure uses to record perf tests results from CI jobs.
      
      It now looks them up right before running the testsuite driver,
      and passes suitable --test-env/--metrics-file arguments when
      these environment variables are set.
      d0ef8312
  7. 01 Nov, 2019 1 commit
  8. 19 Jul, 2019 1 commit
    • Ben Gamari's avatar
      Fix formatting of --info's "Debug on" field · d238d306
      Ben Gamari authored
      As noted in #16914, the value `True` was used instead of `YES` here, in
      contrast to the other boolean fields emitted by `--info`. This confused
      the testsuite driver and broke the `ghc_debugged` testsuite predicate.
      d238d306
  9. 25 Jun, 2019 1 commit
    • Andrey Mokhov's avatar
      Fix cyclic dependencies when using --configure · 15b26223
      Andrey Mokhov authored
      This resolves #16809 (#16809).
      
      This patch removes the unnecessary dependency on configure-generated
      flags `windowsHost`, `osxHost` and `iosHost`, using the information
      provided by the module `System.Info` instead.
      
      We also take care to use the `CrossCompiling` flag generated by the
      configure script only after the latter had a chance to run.
      15b26223
  10. 29 May, 2019 1 commit
    • Alp Mestanogullari's avatar
      testsuite: introduce 'static_stats' tests · 7a75a094
      Alp Mestanogullari authored
      They are a particular type of perf tests. This patch introduces a
      'stats_files_dir' configuration field in the testsuite driver where all
      haddock timing files (and possibly others in the future) are assumed to live.
      We also change both the Make and Hadrian build systems to pass respectively
      $(TOP)/testsuite/tests/perf/haddock/ and
      <build root>/stage1/haddock-timing-files/ as the value of that new
      configuration field, and to generate the timing files in those directories
      in the first place while generating documentation with haddock.
      
      This new test type can be seen as one dedicated to examining stats files that
      are generated while building a GHC distribution. This also lets us get rid of
      the 'extra_files' directives in the all.T entries for haddock.base,
      haddock.Cabal and haddock.compiler.
      7a75a094
  11. 22 May, 2019 1 commit
    • Alp Mestanogullari's avatar
      Hadrian: add --test-root-dirs, to only run specific directories of tests · 2c15b85e
      Alp Mestanogullari authored
      We can specify several of those, by using the flag multiple times or
      just once but combining the directories with ':'.
      
      Along the way, this patch also fixes the testsuite-related --only flag,
      so that we can use it many times instead of being force to specify a
      space-separated list of test in a single --only flag.
      2c15b85e
  12. 22 Apr, 2019 1 commit
    • Alp Mestanogullari's avatar
      Hadrian: use the testsuite driver's config.haddock arg more correctly · 51655fd8
      Alp Mestanogullari authored
      4 haddock tests assume that .haddock files have been produced, by using the
      'req_haddock' modifier. The testsuite driver assumes that this condition is
      satisfied if 'config.haddock' is non-empty, but before this patch Hadrian was
      always passing the path to where the haddock executable should be, regardless
      of whether it is actually there or not.
      
      Instead, we now pass an empty config.haddock when we can't find all of
      <build root>/docs/html/libraries/<pkg>/<pkg>.haddock>, where <pkg> ranges over
      array, base, ghc-prim, process and template-haskell, and pass the path
      to haddock when all those file exists. This has the (desired) effect of skipping
      the 4 tests (marked as 'missing library') when the docs haven't been built,
      and running the haddock tests when they have.
      51655fd8
  13. 19 Apr, 2019 1 commit
  14. 12 Apr, 2019 1 commit
    • Alp Mestanogullari's avatar
      Hadrian: add a --test-accept/-a flag, to mimic 'make accept' · 3c759ced
      Alp Mestanogullari authored
      When -a or --test-accept is passed, and if one runs the 'test' target, then
      any test failing because of mismatching output and which is not expected to
      fail will have its expected output adjusted by the test driver, effectively
      considering the new output correct from now on.
      
      When this flag is passed, hadrian's 'test' target becomes sensitive to the
      PLATFORM and OS environment variable, just like the Make build system:
      - when the PLATFORM env var is set to "YES", when accepting a result, accept it
        for the current platform;
      - when the OS env var is set to "YES", when accepting a result, accept it
        for all wordsizes of the current operating system.
      
      This can all be combined with `--only="..."` and `TEST="..." to only accept
      the new output of a subset of tests.
      3c759ced
  15. 15 Mar, 2019 2 commits
  16. 08 Mar, 2019 1 commit
    • Alp Mestanogullari's avatar
      Hadrian: various improvements around the 'test' rule · 48927a9a
      Alp Mestanogullari authored
      - introduce a -k/--keep-test-files flag to prevent cleanup
      - add -dstg-lint to the options that are always passed to tests
      - infer library ways from the compiler to be tested instead of getting them
        from the flavour (like make)
      - likewise for figuring out whether the compiler to be tested is "debugged"
      - specify config.exeext
      - correctly specify config.in_tree_compiler, instead of always passing True
      - fix formatting of how we pass a few test options
      - add (potential) extensions to check-* program names
      - build check-* programs with the compiler to be tested
      - set TEST_HC_OPTS_INTERACTIVE and PYTHON env vars when running tests
      48927a9a
  17. 15 Feb, 2019 1 commit
  18. 25 Dec, 2018 1 commit
  19. 24 Dec, 2018 1 commit
  20. 15 Dec, 2018 1 commit
  21. 11 Dec, 2018 1 commit
    • Alp Mestanogullari's avatar
      Hadrian: ability to run a subset of the testsuite · a5e76a07
      Alp Mestanogullari authored
      This was supposed to be working already but didn't work when we
      specified several tests with --only. This patch not only fixes this
      but also makes it possible to specify a subset of tests to run with the
      TEST environment variable, like the make build system. Here are some
      examples:
      
          hadrian/build.sh test --only=plugins01
          hadrian/build.sh test --only="plugins01 plugins02"
          TEST="plugins01 plugins02" hadrian/build.sh test
          TEST=plugins03 hadrian/build.sh test --only="plugins01 plugins02"
      
      When both the TEST environment variable and the --only flag are used,
      we simply concatenate the list of tests from both sources and ask the
      testsuite driver to run them all.
      
      This patch addresses #16026.
      
      Test Plan: hadrian/build.sh test --only="plugins01 plugins02"
      
      Reviewers: bgamari, snowleopard
      
      Reviewed By: bgamari, snowleopard
      
      Subscribers: rwbarton, carter
      
      GHC Trac Issues: #16026
      
      Differential Revision: https://phabricator.haskell.org/D5431
      a5e76a07
  22. 23 Oct, 2018 1 commit
  23. 05 Aug, 2018 1 commit
  24. 12 Jun, 2018 1 commit
  25. 07 Jun, 2018 1 commit
  26. 25 Apr, 2018 1 commit
    • Andrey Mokhov's avatar
      Update Hadrian submodule · 625eea93
      Andrey Mokhov authored
        * Link to Quick Start guide
        * Update README.md (hadrian/578)
        * Fix AppVeyor (hadrian/577)
        * Fix CircleCI
        * Generic library rules (hadrian/571)
        * Fix lint error (hadrian/575)
        * Fix missing libHSghc-8.5-0.a (hadrian/574)
        * Fix the path to touchy (hadrian/572)
        * Fix integer-gmp build (hadrian/568)
        * Undo fs*.h workaround
        * Fix copying of fs*.h files during RTS registration (hadrian/566)
        * Fix Windows build, improve error reporting (hadrian/565)
        * Fix Windows build (hadrian/563)
        * Fix boot and configure on AppVeyor (hadrian/561)
        * Preliminary bindist (hadrian/558, hadrian/555)
        * Unregister stage0 package first if it needs to be
          cloned (hadrian/552)
        * Fix Circle CI (hadrian/553)
        * Fix warnings (hadrian/547)
        * Merge pull request hadrian/542 from Mistuke/fix-specific-file
        * Use Cabal directly in place of ghc-cabal + make build root
          configurable (hadrian/531)
        * Add user-defined flavour example for turning off dynamic
          linking (hadrian/535)
        * Add clean routines for fs (hadrian/533)
        * Add 'git' to nativeBuildInputs in shell.nix (hadrian/530)
        * Add extra include paths when invoking ghc-cabal (hadrian/526)
        * Merge pull request hadrian/528 from snowleopard/bump-cabal
        * Merge pull request hadrian/521 from snowleopard/drop-chmod
        * Change permission bits for build.cabal.sh,
          fixes hadrian/517 (hadrian/520)
        * Pin nixpkgs and all-cabal-hashes in shell.nix (hadrian/511)
        * Add troubleshooting section
      625eea93
  27. 24 Feb, 2018 1 commit
    • Andrey Mokhov's avatar
      Update Hadrian submodule · bf3f0a68
      Andrey Mokhov authored
        * Make shell.nix less broken (hadrian/510)
        * Add --configure flag to the script
        * Undo iserv changes (hadrian/507)
        * Fix ghc-cabal: Parsec modules are now found in libraries/parsec/src (hadrian/506)
        * Move a bunch of types into dedicated modules (hadrian/502)
        * Add --quickjump to Haddock (hadrian/505)
        * Add iserv library (hadrian/504)
        * Merge pull request hadrian/503 from snowleopard/angerman-patch-1
        * Merge pull request hadrian/500 from snowleopard/runtime-deps
        * Fix Hadrian after Cabal changes (hadrian/498)
        * Drop custom logic for Scav_thr and Evac_thr (hadrian/497)
        * Fix Haddock (hadrian/496)
      bf3f0a68
  28. 27 Jan, 2018 1 commit
  29. 08 Dec, 2017 1 commit