HTF-0.12.2.0: HTF.cabal
Name: HTF
Version: 0.12.2.0
License: LGPL
License-File: LICENSE
Copyright: (c) 2005-2014 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
@{-# 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.6.2,
GHC==7.8.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/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: HUnit,
array,
base == 4.*,
cpphs >= 1.12,
directory >= 1.0,
haskell-lexer,
mtl >= 1.1,
old-time >= 1.0,
random >= 1.0,
text
Other-Modules:
Test.Framework.Preprocessor
Test.Framework.HaskellParser
Default-language: Haskell2010
Library
Build-Depends: Diff >= 0.3,
HUnit >= 1.2.5,
QuickCheck >= 2.3,
aeson >= 0.6,
array,
base == 4.*,
base64-bytestring,
bytestring >= 0.9,
containers >= 0.5,
cpphs >= 1.12,
directory >= 1.0,
haskell-lexer,
haskell-src,
lifted-base >= 0.1,
monad-control >= 0.3,
mtl >= 1.1,
old-time >= 1.0,
pretty >= 1.0,
process >= 1.0,
random >= 1.0,
regex-compat >= 0.92,
text >= 0.11,
time,
vector,
xmlgen >= 0.6
if !os(windows)
Build-Depends: unix >= 2.4
Exposed-Modules:
Test.Framework
Test.Framework.HUnitWrapper
Test.Framework.TestManager
Test.Framework.TestInterface
Test.Framework.TestTypes
Test.Framework.TestReporter
Test.Framework.History
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
Test.Framework.Colors
Test.Framework.PrettyHaskell
Test.Framework.Preprocessor
Other-Modules:
Test.Framework.Utils
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 MiscTests
Main-is: MiscTest.hs
Type: exitcode-stdio-1.0
Hs-Source-Dirs: tests
Build-depends: HTF,
HUnit,
base == 4.*,
mtl,
random
Default-language: Haskell2010
Test-Suite TestHTF
Main-is: TestHTF.hs
Hs-Source-Dirs: tests, tests/real-bbt
Type: exitcode-stdio-1.0
Build-depends: HTF,
aeson >= 0.6,
aeson-pretty,
base == 4.*,
bytestring >= 0.9,
directory >= 1.0,
filepath >= 1.1,
process >= 1.0,
random,
regex-compat >= 0.92,
temporary >= 1.1,
text >= 0.11,
unordered-containers >= 0.2
Default-language: Haskell2010
Ghc-Options: -keep-tmp-files -tmpdir ./tmp
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: HTF,
base == 4.*,
mtl,
random
Default-language: Haskell2010