Macro: ac_check_junit

Back to the Main Page. | Download the M4 Source.

# ac_check_junit

## Synopsis

`AC_CHECK_JUNIT`

## Version

1.1.1.1 (2001/07/26) Java_Support @ ac-archive-0.5.32

## Author

Luc Maisonobe

## 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 $@`

## 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)])