[lttng-dev] [PATCH lttng-tools] Tests: Java agent: Add configure switches to enable tests

Jérémie Galarneau jeremie.galarneau at efficios.com
Thu Aug 6 16:36:05 EDT 2015


Merged, thanks!

As discussed with Jonathan and Michael, we'll add a default "auto-detect"
mode to enable those as available on the system if neither enable-test-* or
disable-test-* are provided.

Jérémie

On Thu, Aug 6, 2015 at 12:39 PM, Michael Jeanson <mjeanson at efficios.com>
wrote:

> This patch adds the switches --enable-test-java-agent-(jul|log4j|all) to
> the configure script, the tests now need to be explicitly enabled and
> their dependencies are only checked if so.
>
> Signed-off-by: Michael Jeanson <mjeanson at efficios.com>
> ---
>  configure.ac                                | 94
> ++++++++++++++++++++---------
>  tests/regression/ust/java-jul/Makefile.am   |  4 +-
>  tests/regression/ust/java-log4j/Makefile.am |  4 +-
>  3 files changed, 69 insertions(+), 33 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index bfef178..4e6c06e 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -131,6 +131,25 @@ AC_ARG_WITH([lttng-system-rundir],
>         [LTTNG_SYSTEM_RUNDIR="/var/run/lttng"])
>  AC_SUBST([LTTNG_SYSTEM_RUNDIR])
>
> +AC_ARG_ENABLE([test-java-agent-jul],
> +       [AS_HELP_STRING([--enable-test-java-agent-jul],[enable the LTTng
> UST Java agent JUL tests [default=no]])],
> +       [test_java_agent_jul=$enableval],
> +       [test_java_agent_jul=no]
> +)
> +
> +AC_ARG_ENABLE([test-java-agent-log4j],
> +        [AS_HELP_STRING([--enable-test-java-agent-log4j],[enable the
> LTTng UST Java agent Log4j tests [default=no]])],
> +        [test_java_agent_log4j=$enableval],
> +        [test_java_agent_log4j=no]
> +)
> +
> +AC_ARG_ENABLE([test-java-agent-all],
> +        [AS_HELP_STRING([--enable-test-java-agent-all],[enable all the
> LTTng UST Java agent tests [default=no]])],
> +        [test_java_agent_jul=$enableval
> +         test_java_agent_log4j=$enableval],
> +        [:]
> +)
> +
>  AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD32_BIN], "$CONSUMERD32_BIN",
> [Location of the 32-bit consumerd executable.])
>  AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD64_BIN], "$CONSUMERD64_BIN",
> [Location of the 64-bit consumerd executable])
>  AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD32_LIBDIR], "$CONSUMERD32_LIBDIR",
> [Search for consumerd 32-bit libraries in this location.])
> @@ -355,44 +374,45 @@ AX_CONFIG_FEATURE(
>  )
>  AM_CONDITIONAL([COMPAT_EPOLL], [ test "$enable_epoll" = "yes" ])
>
> -AX_JAVA_OPTIONS
> -AX_PROG_JAVAC
> -AX_PROG_JAVA
> -AX_PROG_JAR
> +AM_CONDITIONAL([TEST_JAVA_JUL_AGENT], [test "x$test_java_agent_jul" =
> "xyes"])
> +AM_CONDITIONAL([TEST_JAVA_LOG4J_AGENT], [test "x$test_java_agent_log4j" =
> "xyes"])
>
> -AX_CHECK_CLASSPATH
> +if test "x$test_java_agent_jul" = "xyes" || test
> "x$test_java_agent_log4j" = "xyes"; then
> +       AX_JAVA_OPTIONS
> +       AX_PROG_JAVAC
> +       AX_PROG_JAVA
> +       AX_PROG_JAR
>
> -# Check for Java UST agent common class first
> -AX_CHECK_CLASS(org.lttng.ust.agent.AbstractLttngAgent)
> -if test "x$ac_cv_class_org_lttng_ust_agent_AbstractLttngAgent" = "xyes";
> then
> -       java_agent_common=yes
> -else
> -       java_agent_common=no
> -fi
> -
> -# If the common class is available, test for each agent
> -if test "x$java_agent_common" = "xyes"; then
> -       # Check for JUL
> -       AX_CHECK_CLASS(org.lttng.ust.agent.jul.LttngLogHandler)
> -       AX_CHECK_CLASS(org.lttng.ust.agent.log4j.LttngLogAppender)
> -       AX_CHECK_CLASS(org.apache.log4j.Logger)
> +       AX_CHECK_CLASSPATH
>
> -       build_java_jul_agent=no
> -       if test "x$ac_cv_class_org_lttng_ust_agent_jul_LttngLogHandler" =
> "xyes"; then
> -               build_java_jul_agent=yes
> +       # Check for Java UST agent common class first
> +       AX_CHECK_CLASS(org.lttng.ust.agent.AbstractLttngAgent)
> +       if test "x$ac_cv_class_org_lttng_ust_agent_AbstractLttngAgent" =
> "xno"; then
> +               AC_MSG_ERROR([The UST Java agent common class was not
> found. Please specify the location of the jar via the Java CLASSPATH e.g:
> export CLASSPATH="/path/to/lttng-ust-agent-common.jar"])
>         fi
>
> -       build_java_log4j_agent=no
> -       if test "x$ac_cv_class_org_lttng_ust_agent_log4j_LttngLogAppender"
> = "xyes"; then
> -               if test "x$ac_cv_class_org_apache_log4j_Logger" = "xyes";
> then
> -                       build_java_log4j_agent=yes
> +       if test "x$test_java_agent_jul" = "xyes"; then
> +               # Check for JUL agent class
> +               AX_CHECK_CLASS(org.lttng.ust.agent.jul.LttngLogHandler)
> +               if test
> "x$ac_cv_class_org_lttng_ust_agent_jul_LttngLogHandler" = "xno"; then
> +                       AC_MSG_ERROR([The UST Java agent JUL class was not
> found. Please specify the location of the jar via the Java CLASSPATH e.g:
> export CLASSPATH="/path/to/lttng-ust-agent-jul.jar"])
>                 fi
>         fi
>
> -fi
> +       if test "x$test_java_agent_log4j" = "xyes"; then
> +               # Check for Log4j agent class
> +               AX_CHECK_CLASS(org.lttng.ust.agent.log4j.LttngLogAppender)
> +               if test
> "x$ac_cv_class_org_lttng_ust_agent_log4j_LttngLogAppender" = "xno"; then
> +                       AC_MSG_ERROR([The UST Java agent Log4j class was
> not found. Please specify the location of the jar via the Java CLASSPATH
> e.g: export CLASSPATH="/path/to/lttng-ust-agent-log4j.jar"])
> +               fi
>
> -AM_CONDITIONAL([BUILD_JAVA_JUL_AGENT], [test "x$build_java_jul_agent" =
> "xyes"])
> -AM_CONDITIONAL([BUILD_JAVA_LOG4J_AGENT], [test "x$build_java_log4j_agent"
> = "xyes"])
> +               # Check for Log4j class
> +               AX_CHECK_CLASS(org.apache.log4j.Logger)
> +               if test "x$ac_cv_class_org_apache_log4j_Logger" = "xno";
> then
> +                       AC_MSG_ERROR([The Log4j class was not found.
> Please specify the location of the jar via the Java CLASSPATH e.g: export
> CLASSPATH="/path/to/log4j.jar"])
> +               fi
> +       fi
> +fi
>
>  AC_SYS_LARGEFILE
>
> @@ -570,6 +590,22 @@ AS_IF([test "x$lttng_ust_support" = "xyes"],[
>         AS_ECHO("Disabled")
>  ])
>
> +# LTTng UST Java agent JUL tests enabled/disabled
> +AS_ECHO_N("LTTng-UST Java agent JUL tests: ")
> +AS_IF([test "x$test_java_agent_jul" = "xyes"],[
> +       AS_ECHO("Enabled")
> +],[
> +       AS_ECHO("Disabled")
> +])
> +
> +# LTTng UST Java agent Log4j tests enabled/disabled
> +AS_ECHO_N("LTTng-UST Java agent Log4j tests: ")
> +AS_IF([test "x$test_java_agent_log4j" = "xyes"],[
> +       AS_ECHO("Enabled")
> +],[
> +       AS_ECHO("Disabled")
> +])
> +
>  #Python binding enabled/disabled
>  AS_ECHO_N("Python binding: ")
>  AS_IF([test "x${enable_python:-yes}" = xyes], [
> diff --git a/tests/regression/ust/java-jul/Makefile.am
> b/tests/regression/ust/java-jul/Makefile.am
> index 877237f..b0a04f3 100644
> --- a/tests/regression/ust/java-jul/Makefile.am
> +++ b/tests/regression/ust/java-jul/Makefile.am
> @@ -3,9 +3,9 @@ JAVAROOT = .
>  noinst_SCRIPTS = test_java_jul JTestLTTng.java
>  EXTRA_DIST = test_java_jul JTestLTTng.java
>
> -if BUILD_JAVA_JUL_AGENT
> +if TEST_JAVA_JUL_AGENT
>  dist_noinst_JAVA = JTestLTTng.java
> -endif # BUILD_JAVA_JUL_AGENT
> +endif # TEST_JAVA_JUL_AGENT
>
>  all-local: static_file
>
> diff --git a/tests/regression/ust/java-log4j/Makefile.am
> b/tests/regression/ust/java-log4j/Makefile.am
> index 42daab8..60d5c37 100644
> --- a/tests/regression/ust/java-log4j/Makefile.am
> +++ b/tests/regression/ust/java-log4j/Makefile.am
> @@ -3,9 +3,9 @@ JAVAROOT = .
>  noinst_SCRIPTS = test_java_log4j JTestLTTng.java
>  EXTRA_DIST = test_java_log4j JTestLTTng.java
>
> -if BUILD_JAVA_LOG4J_AGENT
> +if TEST_JAVA_LOG4J_AGENT
>  dist_noinst_JAVA = JTestLTTng.java
> -endif # BUILD_JAVA_LOG4J_AGENT
> +endif # TEST_JAVA_LOG4J_AGENT
>
>  all-local: static_file
>
> --
> 1.9.1
>
>


-- 
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20150806/d9444066/attachment-0001.html>


More information about the lttng-dev mailing list