Skip to content
Snippets Groups Projects
Commit fd0bc853 authored by Iustin Pop's avatar Iustin Pop
Browse files

Clarify the need for QuickCheck/Haskell tests


Expands the devnotes.rst doc and adds warnings in the Makefile.

Signed-off-by: default avatarIustin Pop <iustin@google.com>
Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
parent 9a8ae794
No related branches found
No related tags found
No related merge requests found
...@@ -447,6 +447,10 @@ endif ...@@ -447,6 +447,10 @@ endif
$(HS_ALL_PROGS): %: %.hs $(HS_LIB_SRCS) $(HS_BUILT_SRCS) Makefile $(HS_ALL_PROGS): %: %.hs $(HS_LIB_SRCS) $(HS_BUILT_SRCS) Makefile
BINARY=$(@:htools/%=%); \ BINARY=$(@:htools/%=%); \
if [ "$$BINARY" = "test" ] && [ -z "$(GHC_PKG_QUICKCHECK)" ]; then \
echo "Error: cannot run unittests without the QuickCheck library (see devnotes.rst)" 1>&2; \
exit 1; \
fi; \
$(GHC) --make \ $(GHC) --make \
$(HFLAGS) $(HEXTRA) $(HTOOLS_NOCURL) \ $(HFLAGS) $(HEXTRA) $(HTOOLS_NOCURL) \
-osuf $$BINARY.o -hisuf $$BINARY.hi \ -osuf $$BINARY.o -hisuf $$BINARY.hi \
......
...@@ -369,6 +369,9 @@ else ...@@ -369,6 +369,9 @@ else
AC_MSG_CHECKING([network]) AC_MSG_CHECKING([network])
GHC_PKG_NETWORK=$($GHC_PKG latest network) GHC_PKG_NETWORK=$($GHC_PKG latest network)
AC_MSG_RESULT($GHC_PKG_NETWORK) AC_MSG_RESULT($GHC_PKG_NETWORK)
AC_MSG_CHECKING([QuickCheck 1.x])
GHC_PKG_QUICKCHECK=$($GHC_PKG --simple-output list 'QuickCheck-1.*')
AC_MSG_RESULT($GHC_PKG_QUICKCHECK)
if test -z "$GHC_PKG_PARALLEL" || test -z "$GHC_PKG_JSON" || \ if test -z "$GHC_PKG_PARALLEL" || test -z "$GHC_PKG_JSON" || \
test -z "$GHC_PKG_NETWORK"; then test -z "$GHC_PKG_NETWORK"; then
if test "$enable_htools" != "check"; then if test "$enable_htools" != "check"; then
...@@ -379,8 +382,13 @@ else ...@@ -379,8 +382,13 @@ else
# we leave the other modules to be auto-selected # we leave the other modules to be auto-selected
HTOOLS_MODULES="-package $GHC_PKG_PARALLEL" HTOOLS_MODULES="-package $GHC_PKG_PARALLEL"
fi fi
if test -z "$GHC_PKG_QUICKCHECK"; then
AC_MSG_WARN(m4_normalize([The QuickCheck 1.x module was not found,
you won't be able to run Haskell unittests]))
fi
fi fi
AC_SUBST(HTOOLS_MODULES) AC_SUBST(HTOOLS_MODULES)
AC_SUBST(GHC_PKG_QUICKCHECK)
if test "$enable_htools" != "no"; then if test "$enable_htools" != "no"; then
if test -z "$GHC" || test -z "$HTOOLS_MODULES"; then if test -z "$GHC" || test -z "$HTOOLS_MODULES"; then
......
...@@ -38,7 +38,13 @@ document, plus: ...@@ -38,7 +38,13 @@ document, plus:
linter (equivalent to pylint for Python) linter (equivalent to pylint for Python)
- the `QuickCheck <http://hackage.haskell.org/package/QuickCheck>`_ - the `QuickCheck <http://hackage.haskell.org/package/QuickCheck>`_
library, version 1.x library, version 1.x
- ``hpc``, which comes with the compiler, so you should already have it - ``hpc``, which comes with the compiler, so you should already have
it
Under Debian, these can be installed (on top of the required ones from
the quick install document) via::
apt-get install libghc6-quickcheck1-dev hscolour hlint
Configuring for development Configuring for development
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment