Name: HTF Version: 0.10.0.2 x-revision: 1 License: LGPL License-File: LICENSE Copyright: (c) 2005-2012 Stefan Wehr Author: Stefan Wehr Maintainer: Stefan Wehr 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 (), QuickCheck properties (), 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 () 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 @{-# OPTIONS_GHC -F -pgmF htfpp #-}@ to the top of the collecting module, import the other modules with the @{-@ HTF_TESTS @-}@ annotation, use the symbol @htf_importedTests@ for referencing the imported tests. See "Test.Framework.Tutorial" for details. Tested-With: GHC==7.0.4, GHC==7.2.1, GHC==7.4.2, GHC==7.6.1 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 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.11 && < 1.14, old-time >= 1.0, directory >= 1.0, base == 4.* Other-Modules: Test.Framework.Preprocessor Test.Framework.HaskellParser Default-language: Haskell2010 Library Build-Tools: cpphs >= 1.12 Build-Depends: HUnit >= 1.2.5 && < 1.3, QuickCheck >= 2.3, base == 4.*, random >= 1.0, containers >= 0.3, process >= 1.0, directory >= 1.0, mtl >= 1.1 && < 2.2, monad-control >= 0.3, lifted-base >= 0.1, pretty >= 1.0, Diff >= 0.1.3 && < 0.2, bytestring >= 0.9, regex-compat >= 0.92, haskell-src-exts >= 1.11, aeson >= 0.6, text >= 0.11, old-time >= 1.0 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 Other-Modules: Test.Framework.TestManagerInternal Test.Framework.Utils Test.Framework.Colors Test.Framework.Diff Test.Framework.Process Default-language: Haskell2010 -- Ghc-Options: -fwarn-unused-imports -fwarn-unused-binds 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, HTF Default-language: Haskell2010 Other-Modules: Foo.A, Foo.B, TestHTFHunitBackwardsCompatible