--- /dev/null
+--- !ditz.rubyforge.org,2008-03-06/issue
+title: Cabalize the test suite
+desc: Cabal now supports integrated unit testing. Make use of it.
+type: :task
+component: time-w3c
+release:
+reporter: PHO <pho@cielonegro.org>
+status: :unstarted
+disposition:
+creation_time: 2011-07-28 13:25:50.614594 Z
+references: []
+
+id: da05285571ae9af254ada3f8465aaab12c134bb0
+log_events:
+- - 2011-07-28 13:25:51.779942 Z
+ - PHO <pho@cielonegro.org>
+ - created
+ - ""
+git_branch:
SUDO ?= sudo
AUTOCONF ?= autoconf
HLINT ?= hlint
+HPC ?= hpc
+DITZ ?= ditz
CONFIGURE_ARGS ?= --disable-optimization
SETUP_FILE := $(wildcard Setup.*hs)
CABAL_FILE := $(wildcard *.cabal)
+PKG_NAME := $(CABAL_FILE:.cabal=)
ifeq ($(shell ls configure.ac 2>/dev/null),configure.ac)
AUTOCONF_AC_FILE := configure.ac
build: setup-config build-hook
./Setup build
+ $(RM_RF) *.tix
build-hook:
$(GHC) --make Setup
clean: clean-hook
- $(RM_RF) dist Setup *.o *.hi .setup-config *.buildinfo
+ $(RM_RF) dist Setup *.o *.hi .setup-config *.buildinfo *.tix .hpc
$(FIND) . -name '*~' -exec rm -f {} \;
clean-hook:
./Setup sdist
test: build
+ $(RM_RF) dist/test
./Setup test
+ if ls *.tix >/dev/null 2>&1; then \
+ $(HPC) sum --output="merged.tix" --union --exclude=Main *.tix; \
+ $(HPC) markup --destdir="dist/hpc" --fun-entry-count "merged.tix"; \
+ fi
+
+ditz:
+ $(DITZ) html dist/ditz
+
+fixme:
+ @$(FIND) . \
+ \( -name 'dist' -or -name '.git' -or -name '_darcs' \) -prune \
+ -or \
+ \( -name '*.c' -or -name '*.h' -or \
+ -name '*.hs' -or -name '*.lhs' -or \
+ -name '*.hsc' -or -name '*.cabal' \) \
+ -exec egrep -i '(fixme|thinkme)' {} \+ \
+ || echo 'No FIXME or THINKME found.'
lint:
- $(HLINT) . --report \
- --ignore="Use string literal" \
- --ignore="Use concatMap"
-
-.PHONY: build build-hook setup-config setup-config-hook run clean clean-hook install doc sdist test lint
+ $(HLINT) . --report
+# $(HLINT) . --report \
+# --ignore="Use string literal" \
+# --ignore="Use concatMap"
+
+push: doc ditz
+ if [ -d "_darcs" ]; then \
+ darcs push; \
+ elif [ -d ".git" ]; then \
+ git push --all && git push --tags; \
+ fi
+ rsync -av --delete \
+ dist/doc/html/$(PKG_NAME)/ \
+ www@nem.cielonegro.org:static.cielonegro.org/htdocs/doc/$(PKG_NAME)
+ rsync -av --delete \
+ dist/ditz/ \
+ www@nem.cielonegro.org:static.cielonegro.org/htdocs/ditz/$(PKG_NAME)
+
+.PHONY: build build-hook setup-config setup-config-hook run clean clean-hook install doc sdist test lint push
Maintainer: PHO <pho AT cielonegro DOT org>
Stability: Experimental
Homepage: http://cielonegro.org/W3CDateTime.html
+Bug-Reports: http://static.cielonegro.org/ditz/time-w3c/
Category: Web
Build-type: Simple
Cabal-version: >= 1.6
Data.Time.W3C.Types
Build-depends:
- base >= 4.2 && < 4.3,
- convertible >= 1.0 && < 1.1,
- parsec >= 3.0 && < 3.1,
- time >= 1.1 && < 1.2
+ base == 4.3.*,
+ convertible == 1.0.*,
+ parsec == 3.1.*,
+ time == 1.2.*
Extensions:
DeriveDataTypeable