tasty-hspec 1.1.3.2 → 1.1.3.3
raw patch · 7 files changed
+253/−38 lines, 7 filesdep −randomdep ~basedep ~taggedPVP ok
version bump matches the API change (PVP)
Dependencies removed: random
Dependency ranges changed: base, tagged
API changes (from Hackage documentation)
Files
- .gitignore +3/−0
- .travis.yml +161/−0
- CHANGELOG.md +22/−0
- README.md +5/−0
- cabal.project +1/−0
- src/Test/Tasty/Hspec.hs +31/−32
- tasty-hspec.cabal +30/−6
+ .gitignore view
@@ -0,0 +1,3 @@+dist/+dist-newstyle/+.stack-work/
+ .travis.yml view
@@ -0,0 +1,161 @@+# This Travis job script has been generated by a script via+#+# runghc make_travis_yml_2.hs 'tasty-hspec.cabal'+#+# For more information, see https://github.com/hvr/multi-ghc-travis+#+language: c+sudo: false++git:+ submodules: false # whether to recursively clone submodules++cache:+ directories:+ - $HOME/.cabal/packages+ - $HOME/.cabal/store++before_cache:+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log+ # remove files that are regenerated by 'cabal update'+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.*+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/*.json+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.cache+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx++ - rm -rfv $HOME/.cabal/packages/head.hackage++matrix:+ include:+ - compiler: "ghc-7.4.1"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.4.1], sources: [hvr-ghc]}}+ - compiler: "ghc-7.4.2"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.4.2], sources: [hvr-ghc]}}+ - compiler: "ghc-7.6.1"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.6.1], sources: [hvr-ghc]}}+ - compiler: "ghc-7.6.2"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.6.2], sources: [hvr-ghc]}}+ - compiler: "ghc-7.6.3"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.6.3], sources: [hvr-ghc]}}+ - compiler: "ghc-7.8.1"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.8.1], sources: [hvr-ghc]}}+ - compiler: "ghc-7.8.2"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.8.2], sources: [hvr-ghc]}}+ - compiler: "ghc-7.8.3"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.8.3], sources: [hvr-ghc]}}+ - compiler: "ghc-7.8.4"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.8.4], sources: [hvr-ghc]}}+ - compiler: "ghc-7.10.1"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.1], sources: [hvr-ghc]}}+ - compiler: "ghc-7.10.2"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.2], sources: [hvr-ghc]}}+ - compiler: "ghc-7.10.3"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.3], sources: [hvr-ghc]}}+ - compiler: "ghc-8.0.1"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.1], sources: [hvr-ghc]}}+ - compiler: "ghc-8.0.2"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.2], sources: [hvr-ghc]}}+ - compiler: "ghc-8.2.1"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.1], sources: [hvr-ghc]}}+ - compiler: "ghc-8.2.2"+ # env: TEST=--disable-tests BENCH=--disable-benchmarks+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.2], sources: [hvr-ghc]}}+ - compiler: "ghc-8.4.1"+ env: GHCHEAD=true+ addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.4.1], sources: [hvr-ghc]}}++ allow_failures:+ - compiler: "ghc-8.4.1"++before_install:+ - HC=${CC}+ - HCPKG=${HC/ghc/ghc-pkg}+ - unset CC+ - ROOTDIR=$(pwd)+ - mkdir -p $HOME/.local/bin+ - "PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$HOME/local/bin:$PATH"+ - HCNUMVER=$(( $(${HC} --numeric-version|sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))+ - echo $HCNUMVER++install:+ - cabal --version+ - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"+ - BENCH=${BENCH---enable-benchmarks}+ - TEST=${TEST---enable-tests}+ - HADDOCK=${HADDOCK-true}+ - INSTALLED=${INSTALLED-true}+ - GHCHEAD=${GHCHEAD-false}+ - travis_retry cabal update -v+ - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"+ - rm -fv cabal.project cabal.project.local+ # Overlay Hackage Package Index for GHC HEAD: https://github.com/hvr/head.hackage+ - |+ if $GHCHEAD; then+ sed -i.bak 's/-- allow-newer:.*/allow-newer: *:base, *:template-haskell, *:ghc, *:Cabal/' ${HOME}/.cabal/config++ echo 'repository head.hackage' >> ${HOME}/.cabal/config+ echo ' url: http://head.hackage.haskell.org/' >> ${HOME}/.cabal/config+ echo ' secure: True' >> ${HOME}/.cabal/config+ echo ' root-keys: 07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740' >> ${HOME}/.cabal/config+ echo ' 2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb' >> ${HOME}/.cabal/config+ echo ' 8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e' >> ${HOME}/.cabal/config+ echo ' key-threshold: 3' >> ${HOME}/.cabal.config++ cabal new-update head.hackage -v+ fi+ - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'+ - "printf 'packages: \".\"\\n' > cabal.project"+ - cat cabal.project+ - if [ -f "./configure.ac" ]; then+ (cd "." && autoreconf -i);+ fi+ - rm -f cabal.project.freeze+ - cabal new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" --dep -j2 all+ - cabal new-build -w ${HC} --disable-tests --disable-benchmarks --project-file="cabal.project" --dep -j2 all+ - rm -rf "."/.ghc.environment.* "."/dist+ - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)++# Here starts the actual work to be performed for the package under test;+# any command which exits with a non-zero exit code causes the build to fail.+script:+ # test that source-distributions can be generated+ - (cd "." && cabal sdist)+ - mv "."/dist/tasty-hspec-*.tar.gz ${DISTDIR}/+ - cd ${DISTDIR} || false+ - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;+ - "printf 'packages: tasty-hspec-*/*.cabal\\n' > cabal.project"+ - cat cabal.project+ # this builds all libraries and executables (without tests/benchmarks)+ - cabal new-build -w ${HC} --disable-tests --disable-benchmarks all++ # Build with installed constraints for packages in global-db+ - if $INSTALLED; then echo cabal new-build -w ${HC} --disable-tests --disable-benchmarks $(${HCPKG} list --global --simple-output --names-only | sed 's/\([a-zA-Z0-9-]\{1,\}\) */--constraint="\1 installed" /g') all | sh; else echo "Not building with installed constraints"; fi++ # build & run tests, build benchmarks+ - cabal new-build -w ${HC} ${TEST} ${BENCH} all++ # cabal check+ - (cd tasty-hspec-* && cabal check)++ # haddock+ - rm -rf ./dist-newstyle+ - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi++# REGENDATA ["tasty-hspec.cabal"]+# EOF
+ CHANGELOG.md view
@@ -0,0 +1,22 @@+# Changelog++All notable changes to this project will be documented in this file.++The format is based on [Keep a Changelog](http://keepachangelog.com/)+and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/).++## [1.1.3.3] - 2018-1-26++### Removed+- Redundant `random` dependency++## [1.1.3.2] - 2017-6-20++### Changed+- Support tasty-0.9.1+- More accurate dependency version bounds++## [1.1.3.1] - 2017-1-25++### Changed+- Support hspec-2.4.0
+ README.md view
@@ -0,0 +1,5 @@+# tasty-hspec++Hspec provider for tasty++[](https://travis-ci.org/mitchellwrosen/tasty-hspec)
+ cabal.project view
@@ -0,0 +1,1 @@+packages: .
src/Test/Tasty/Hspec.hs view
@@ -1,7 +1,5 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE InstanceSigs #-}-{-# LANGUAGE LambdaCase #-} module Test.Tasty.Hspec ( -- * Test@@ -22,7 +20,6 @@ import Control.Applicative ((<$>)) import Data.Monoid (mconcat) import Data.Proxy-import Data.Tagged (Tagged) import Data.Typeable (Typeable) import qualified Test.Hspec as H@@ -56,22 +53,23 @@ testSpecs spec = map specTreeToTestTree <$> H.runSpecM spec specTreeToTestTree :: H.SpecTree () -> T.TestTree-specTreeToTestTree = \case- H.Node name spec_trees ->- T.testGroup name (map specTreeToTestTree spec_trees)- H.NodeWithCleanup cleanup spec_trees ->- T.WithResource (T.ResourceSpec (return ()) cleanup) (const test_tree)- where- test_tree :: T.TestTree- test_tree = specTreeToTestTree (H.Node "(unnamed)" spec_trees)- H.Leaf item ->- T.singleTest (H.itemRequirement item) (Item item)+specTreeToTestTree spec_tree =+ case spec_tree of+ H.Node name spec_trees ->+ T.testGroup name (map specTreeToTestTree spec_trees)+ H.NodeWithCleanup cleanup spec_trees ->+ T.WithResource (T.ResourceSpec (return ()) cleanup) (const test_tree)+ where+ test_tree :: T.TestTree+ test_tree = specTreeToTestTree (H.Node "(unnamed)" spec_trees)+ H.Leaf item ->+ T.singleTest (H.itemRequirement item) (Item item) newtype Item = Item (H.Item ()) deriving Typeable instance T.IsTest Item where- run :: T.OptionSet -> Item -> (T.Progress -> IO ()) -> IO T.Result+ -- run :: T.OptionSet -> Item -> (T.Progress -> IO ()) -> IO T.Result run opts (Item (H.Item _ _ _ ex)) progress = do qc_args <- tastyOptionSetToQuickCheckArgs opts @@ -94,12 +92,12 @@ TSC.SmallCheckDepth depth = T.lookupOption opts hprogress :: H.Progress -> IO ()- hprogress (x,y) = progress (T.Progress+ hprogress (x,y) = progress T.Progress { T.progressText = "" , T.progressPercent = fromIntegral x / fromIntegral y- })+ } - testOptions :: Tagged Item [T.OptionDescription]+ -- testOptions :: Tagged Item [T.OptionDescription] testOptions = return [ T.Option (Proxy :: Proxy TQC.QuickCheckTests) , T.Option (Proxy :: Proxy TQC.QuickCheckReplay)@@ -128,22 +126,23 @@ #endif hspecResultToTastyResult :: H.Result -> T.Result-hspecResultToTastyResult = \case- H.Success -> T.testPassed ""- H.Pending mstr -> T.testFailed ("Test pending" ++ maybe "" (": " ++) mstr)+hspecResultToTastyResult result =+ case result of+ H.Success -> T.testPassed ""+ H.Pending mstr -> T.testFailed ("Test pending" ++ maybe "" (": " ++) mstr) #if MIN_VERSION_hspec(2,4,0)- H.Failure _ reason ->- case reason of- H.NoReason -> T.testFailed ""- H.Reason str -> T.testFailed str- H.ExpectedButGot preface expected actual ->- T.testFailed $ mconcat- [ maybe "" (++ ": ") preface- , "expected " ++ expected- , ", but got " ++ actual- ]+ H.Failure _ reason ->+ case reason of+ H.NoReason -> T.testFailed ""+ H.Reason str -> T.testFailed str+ H.ExpectedButGot preface expected actual ->+ T.testFailed $ mconcat+ [ maybe "" (++ ": ") preface+ , "expected " ++ expected+ , ", but got " ++ actual+ ] #elif MIN_VERSION_hspec(2,2,0)- H.Fail _ str -> T.testFailed str+ H.Fail _ str -> T.testFailed str #else- H.Fail str -> T.testFailed str+ H.Fail str -> T.testFailed str #endif
tasty-hspec.cabal view
@@ -1,5 +1,5 @@ name: tasty-hspec-version: 1.1.3.2+version: 1.1.3.3 synopsis: Hspec support for the Tasty test framework. description: This package provides a Tasty provider for Hspec test suites.@@ -12,7 +12,31 @@ category: Testing build-type: Simple cabal-version: >=1.10+tested-with: GHC == 7.4.1,+ GHC == 7.4.2,+ GHC == 7.6.1,+ GHC == 7.6.2,+ GHC == 7.6.3,+ GHC == 7.8.1,+ GHC == 7.8.2,+ GHC == 7.8.3,+ GHC == 7.8.4,+ GHC == 7.10.1,+ GHC == 7.10.2,+ GHC == 7.10.3,+ GHC == 8.0.1,+ GHC == 8.0.2,+ GHC == 8.2.1,+ GHC == 8.2.2,+ GHC == 8.4.1 +extra-source-files:+ .gitignore+ .travis.yml+ cabal.project+ CHANGELOG.md+ README.md+ source-repository head type: git location: https://github.com/mitchellwrosen/tasty-hspec.git@@ -20,16 +44,16 @@ library exposed-modules: Test.Tasty.Hspec hs-source-dirs: src- build-depends: base >=4.6 && <5+ build-depends: base >=4.5 && <5 , hspec >=2 && <2.5 , hspec-core >=2 && <2.5- , QuickCheck >=2.7 && <2.11- , tagged >=0.7 && <0.9- , tasty >=0.8 && <0.12+ , QuickCheck >=2.7 && <2.12+ , tasty >=0.8 && <1.1 , tasty-smallcheck >=0.1 && <0.9 -- 0.9 is missing 'optionSetToArgs' , tasty-quickcheck >=0.3 && <0.9 || >=0.9.1 && <0.10- , random+ if impl(ghc < 7.8)+ build-depends: tagged >= 0.2 default-language: Haskell2010 ghc-options: -Wall