[Macro Index Page] [Download M4 Source]

ac_check_junit

Synopsis

AC_CHECK_JUNIT

Description

AC_CHECK_JUNIT tests the availability of the Junit testing framework, and set some variables for conditional compilation of the test suite by automake.

If available, JUNIT is set to a command launching the text based user interface of Junit, @JAVA_JUNIT@ is set to $JAVA_JUNIT and @TESTS_JUNIT@ is set to $TESTS_JUNIT, otherwise they are set to empty values.

You can use these variables in your Makefile.am file like this :

 # Some of the following classes are built only if junit is available
 JAVA_JUNIT  = Class1Test.java Class2Test.java AllJunitTests.java
 noinst_JAVA = Example1.java Example2.java @JAVA_JUNIT@
 EXTRA_JAVA  = $(JAVA_JUNIT)
 TESTS_JUNIT = AllJunitTests
 TESTS       = StandaloneTest1 StandaloneTest2 @TESTS_JUNIT@
 EXTRA_TESTS = $(TESTS_JUNIT)
 AllJunitTests :
    echo "#! /bin/sh" > $@
    echo "exec @JUNIT@ my.package.name.AllJunitTests" >> $@
    chmod +x $@

Version

1.3 (last modified: 2001-03-02)

Author

Luc Maisonobe

M4 Source Code

AC_DEFUN([AC_CHECK_JUNIT],[
AC_CACHE_VAL(ac_cv_prog_JUNIT,[
AC_CHECK_CLASS(junit.textui.TestRunner)
if test x"`eval 'echo $ac_cv_class_junit_textui_TestRunner'`" != xno ; then
  ac_cv_prog_JUNIT='$(CLASSPATH_ENV) $(JAVA) $(JAVAFLAGS) junit.textui.TestRunner'
fi])
AC_MSG_CHECKING([for junit])
if test x"`eval 'echo $ac_cv_prog_JUNIT'`" != x ; then
  JUNIT="$ac_cv_prog_JUNIT"
  JAVA_JUNIT='$(JAVA_JUNIT)'
  TESTS_JUNIT='$(TESTS_JUNIT)'
else
  JUNIT=
  JAVA_JUNIT=
  TESTS_JUNIT=
fi
AC_MSG_RESULT($JAVA_JUNIT)
AC_SUBST(JUNIT)
AC_SUBST(JAVA_JUNIT)
AC_SUBST(TESTS_JUNIT)])

Copyright

GNU General Public License with this special exception.