packages feed

HTF-0.11.3.4: HTF.cabal

Name:             HTF
Version:          0.11.3.4
License:          LGPL
License-File:     LICENSE
Copyright:        (c) 2005-2012 Stefan Wehr
Author:           Stefan Wehr <wehr@factisresearch.com>
Maintainer:       Stefan Wehr <wehr@factisresearch.com>
Stability:        Beta
Category:         Testing
Synopsis:         The Haskell Test Framework
Homepage:         https://github.com/skogsbaer/HTF/
Bug-Reports:      https://github.com/skogsbaer/HTF/issues
Description:

    The Haskell Test Framework (/HTF/ for short) lets you define unit
    tests (<http://hunit.sourceforge.net>), QuickCheck properties
    (<http://www.cs.chalmers.se/~rjmh/QuickCheck/>), and black box
    tests in an easy and convenient way. HTF uses a custom
    preprocessor that collects test definitions automatically.
    Furthermore, the preprocessor allows HTF to report failing
    test cases with exact file name and line number information.
    Additionally, HTF tries to produce highly readable output
    for failing tests: for example, it colors and pretty prints expected and
    actual results and provides a diff between the two values.

    .

    The documentation of the "Test.Framework.Tutorial" module
    provides a tutorial for HTF. There is also a slightly out-dated
    blog article (<http://factisresearch.blogspot.de/2011/10/new-version-of-htf-with-diffs-colors.html>)
    demonstrating HTF's coloring, pretty-printing and diff functionality.

    .

    /HEADS UP, backwards incomatibility with prior versions:/

    .

    In version 0.10.0.0, the following changes could break code compiled against version 0.9.*:

    .

    * "Test.Framework" now longer exports all of "Test.Framework.TestManager" and
      "Test.Framework.BlackBoxTest". For modules that only define tests, no changes
      should be necessary. However, you likely need to adjust your test runner
      module by importing "Test.Framework.TestManager" and possibly "Test.Framework.BlackBoxTest".

    .

    * Some reorganization in "Test.Framework.TestManager" and related modules, introduction
      of "Test.Framework.TestTypes". Usually, your code should not be affected
      by these changes.

    .
    Starting with version 0.9.0.0, HTF uses a new strategy
    for collecting the testcases defined in your project
    (see "Test.Framework.Tutorial" for a description of this strategy).
    If you used version 0.8.* or earlier of HTF, this /will break your build!/
    However, it's rather easy to bring you project in line with the new HTF
    version. Here are the steps that will most likely resolve
    your backwards incompatibility problems:

    .

    * If a module exports the @allHTFTests@ symbol, this export must
      be changed to @htf_thisModulesTests@.

    .

    * If an import declaration of some module hides the @allHTFTests@
      symbol, you can simply remove the hiding clause for @allHTFTests@.

    .

    * If a module collects and executes tests from several other modules,
      the collecting module has to be changed as follows: add
      @&#x7b;-&#x23; OPTIONS_GHC -F -pgmF htfpp &#x23;-&#x7d;@ to the top
      of the collecting module, import
      the other modules with the @&#x7b;-&#x40; HTF_TESTS &#x40;-&#x7d;@
      annotation, use the symbol @htf_importedTests@ for referencing
      the imported tests. See "Test.Framework.Tutorial" for details.

Tested-With:
                  GHC==7.4.2,
                  GHC==7.6.2
Build-Type:       Simple
Cabal-Version:    >= 1.10
Extra-Source-Files:
  README.md
  TODO.org
  ChangeLog
  tests/bbt/should_fail/BBTArgs
  -- tests/bbt/should_fail/*.in
  tests/bbt/should_fail/*.err
  tests/bbt/should_fail/*.out
  tests/bbt/should_fail/*.x
  tests/bbt/should_pass/*.in
  tests/bbt/should_pass/*.err
  tests/bbt/should_pass/*.out
  tests/bbt/should_pass/*.x
  tests/bbt/Skip/BBTArgs
  tests/bbt/Skip/some_unknown_but_skipped_file.x
  tests/bbt/Verbose/BBTArgs
  tests/bbt/Verbose/not_ok_because_stdout1.out
  tests/bbt/Verbose/not_ok_because_stdout1.x
  tests/Foo/test.h
  tests/Tutorial.hs
  tests/run-bbt.sh
  tests/test-HTF.cabal
  tests/run-tests.sh
  tests/compile-errors/Foo.h
  tests/compile-errors/run-tests.sh
  tests/compile-errors/Test1.hs
  tests/compile-errors/Test2.hs
  tests/compile-errors/Test3.hs
  tests/compile-errors/Test4.hs
  sample/LICENSE
  sample/Main.hs
  sample/MyPkg/A.hs
  sample/MyPkg/B.hs
  sample/README
  sample/sample-HTF.cabal
  sample/Setup.hs
  sample/TestMain.hs
  sample/bbt-dir/should-fail/BBTArgs
  sample/bbt-dir/should-fail/z.err
  sample/bbt-dir/should-fail/z.num
  sample/bbt-dir/should-pass/x.num
  sample/bbt-dir/should-pass/x.out
  run-all-tests-for-all-compilers.sh
  run-all-tests.sh
Source-Repository head
  Type:           git
  Location:       http://github.com/skogsbaer/HTF.git

Executable htfpp
  Main-Is:          HTFPP.hs
  Build-Depends:    cpphs >= 1.12,
                    haskell-src-exts >= 1.14,
                    old-time >= 1.0,
                    directory >= 1.0,
                    array,
                    random >= 1.0,
                    base == 4.*,
                    text
  Other-Modules:
    Test.Framework.Preprocessor
    Test.Framework.HaskellParser
  Default-language:  Haskell2010

Library
  Build-Depends:
                    HUnit >= 1.2.5,
                    QuickCheck >= 2.3,
                    base == 4.*,
                    random >= 1.0,
                    containers >= 0.4.2.1,
                    process >= 1.0,
                    directory >= 1.0,
                    mtl >= 1.1,
                    monad-control >= 0.3,
                    lifted-base >= 0.1,
                    pretty >= 1.0,
                    Diff >= 0.3,
                    bytestring >= 0.9,
                    regex-compat >= 0.92,
                    haskell-src-exts >= 1.11,
                    aeson >= 0.6,
                    text >= 0.11,
                    old-time >= 1.0,
                    array,
                    xmlgen >= 0.6
  if !os(windows)
    Build-Depends:   unix >= 2.4
  Exposed-Modules:
    Test.Framework
    Test.Framework.HUnitWrapper
    Test.Framework.TestManager
    Test.Framework.TestTypes
    Test.Framework.TestReporter
    Test.Framework.CmdlineOptions
    Test.Framework.QuickCheckWrapper
    Test.Framework.BlackBoxTest
    Test.Framework.Location
    Test.Framework.Tutorial
    Test.Framework.Pretty
    Test.Framework.JsonOutput
    Test.Framework.XmlOutput
    Test.Framework.ThreadPool
    Test.Framework.AssertM
  Other-Modules:
    Test.Framework.TestManagerInternal
    Test.Framework.Utils
    Test.Framework.Colors
    Test.Framework.Diff
    Test.Framework.Process
  Default-language:  Haskell2010
  Ghc-Options: -W -fwarn-unused-imports -fwarn-unused-binds -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind

Test-Suite TestHTF
  Main-is:           TestHTF.hs
  Hs-Source-Dirs:    tests
  Type:              exitcode-stdio-1.0
  Build-depends:     base == 4.*,
                     bytestring >= 0.9,
                     aeson >= 0.6,
                     unordered-containers >= 0.2,
                     temporary >= 1.1,
                     text >= 0.11,
                     process >= 1.0,
                     filepath >= 1.1,
                     directory >= 1.0,
                     regex-compat >= 0.92,
                     random,
                     HTF
  Default-language:  Haskell2010
  Other-Modules:
    Foo.A, Foo.B, TestHTFHunitBackwardsCompatible

Test-Suite TestThreadPools
  Main-is:           ThreadPoolTest.hs
  Type:              exitcode-stdio-1.0
  Hs-Source-Dirs:    tests
  Build-depends:     base == 4.*,
                     random,
                     mtl,
                     HTF
  Default-language:  Haskell2010

Test-Suite Tutorial
  Type:              exitcode-stdio-1.0
  Main-is:           Tutorial.hs
  Hs-Source-Dirs:    tests
  Build-depends:     base >= 4, HTF
  Default-language:  Haskell2010