testCom: Write your tests in comments

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

With some TemplateHaskell magic, you can write your tests in your comments directly above a function declaration with a minimalistic syntax.


[Skip to Readme]

Properties

Versions 0.1.0, 0.1.0, 0.1.1, 0.2.0, 0.3.0
Change log ChangeLog.md
Dependencies base (>=4.9 && <4.11), haskell-src-meta (>=0.8.0.1), template-haskell (>=2.11.1.0) [details]
License LicenseRef-GPL
Author Alexandre Moine
Maintainer nobrakal@cthugha.org
Category Test
Bug tracker https://github.com/nobrakal/testCom/issues
Source repo head: git clone git://github.com/nobrakal/testCom.git
Uploaded by nobrakal at 2017-09-24T12:42:53Z

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for testCom-0.1.0

[back to package description]

testCom

How to use it

Write your tests

Above a function to test, write your test like this:

--[1 2 3]
add :: Int -> Int -> Int
add x y = x+y

Run them

For example

{-# LANGUAGE TemplateHaskell #-}

import Language.Haskell.TH
import Language.Haskell.TH.Syntax
import System.Exit

$(makeAllTestsHere)
$(makeAllTests "some/Path/File.hs")

-- Tests
main :: IO ()
main = do
  let (str,res) = _TEST_path -- Here, path=directory_actualfile. If your file is put in tests/Main.hs, then path=tests_Main (without the ".hs")
  let (str',res') = _TEST_some_Path_File
  putStrLn str
  putStrLn str'
  if res && res' then exitSuccess else exitFailure