Tests babeltrace: adapt python tests to use unittest
[babeltrace.git] / configure.ac
index ac8b54248daec13f29617944e17fffafb72f1311..6bfbd69f4ae40c20c6097bb3eaf7580878167479 100644 (file)
@@ -262,7 +262,6 @@ AC_CHECK_FUNCS([ \
        dup2 \
        ftruncate \
        gethostbyname \
-       gethostname \
        gettimeofday \
        localtime_r \
        memchr \
@@ -283,7 +282,6 @@ AC_CHECK_FUNCS([ \
        strtoul \
        strtoull \
        tzset \
-       uname \
 ])
 
 # AC_FUNC_MALLOC causes problems when cross-compiling.
@@ -417,14 +415,6 @@ AC_ARG_ENABLE([python-bindings-doc],
   [enable_python_bindings_doc=no]
 )
 
-# Python bindings tests
-# Disabled by default
-AC_ARG_ENABLE([python-bindings-tests],
-  [AC_HELP_STRING([--enable-python-bindings-tests], [run the Python bindings tests])],
-  [], dnl AC_ARG_ENABLE will fill enable_python_bindings_tests with the user choice
-  [enable_python_bindings_tests=no]
-)
-
 # Python plugins
 # Disabled by default
 AC_ARG_ENABLE([python-plugins],
@@ -469,7 +459,6 @@ AC_ARG_ENABLE([built-in-python-plugin-support],
 # Set automake variables for optionnal feature conditionnals in Makefile.am
 AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS], [test "x$enable_python_bindings" = xyes])
 AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS_DOC], [test "x$enable_python_bindings_doc" = xyes])
-AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS_TESTS], [test "x$enable_python_bindings_tests" = xyes])
 AM_CONDITIONAL([ENABLE_PYTHON_PLUGINS], [test "x$enable_python_plugins" = xyes])
 AM_CONDITIONAL([ENABLE_DEBUG_INFO], [test "x$enable_debug_info" = xyes])
 AM_CONDITIONAL([ENABLE_API_DOC], [test "x$enable_api_doc" = xyes])
@@ -497,12 +486,11 @@ AS_IF([test "x$enable_built_in_python_plugin_support" = xyes],
 )
 
 
-# Check for conflicting optionnal features user choices
+# Check for conflicting optional features user choices
 
 AS_IF([test "x$enable_python_bindings" = xno],
   [
     AS_IF([test "x$enable_python_bindings_doc" = xyes], [AC_MSG_ERROR([--enable-python-bindings-doc was specified without --enable-python-bindings])])
-    AS_IF([test "x$enable_python_bindings_tests" = xyes], AC_MSG_ERROR([--enable-python-bindings-tests was specified without --enable-python-bindings]))
   ]
 )
 
@@ -575,23 +563,16 @@ AS_IF([test "x$enable_python_bindings_doc" = xyes],
   ]
 )
 
-AS_IF([test "x$enable_python_bindings_tests" = xyes],
-  [
-    AM_CHECK_PYTHON_TAPPY([PYTHON])
-    AS_IF([test "x$PYTHON_TAPPY_EXISTS" = xno],
-      [AC_MSG_ERROR([You need the tappy Python project to test the Python bindings (see <https://github.com/python-tap/tappy>)])]
-    )
-  ]
-)
-
 AS_IF([test "x$enable_debug_info" = xyes],
   [
     # Check if libelf and libdw are present
-    AC_CHECK_LIB([elf], [elf_version], [], [AC_MSG_ERROR(Missing libelf (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)])
-    AC_CHECK_LIB([dw], [dwarf_begin], [], [AC_MSG_ERROR(Missing libdw (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)])
+    AC_CHECK_LIB([elf], [elf_version], [:], [AC_MSG_ERROR(Missing libelf (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)])
+    AC_CHECK_LIB([dw], [dwarf_begin], [:], [AC_MSG_ERROR(Missing libdw (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)])
     BT_LIB_ELFUTILS([0], [154], [:], [AC_MSG_ERROR(elfutils >= 0.154 is required to use the debug info feature. You can disable this feature using --disable-debug-info.)])
+    ELFUTILS_LIBS="-lelf -ldw"
   ]
 )
+AC_SUBST([ELFUTILS_LIBS])
 
 AS_IF([test "x$enable_api_doc" = "xyes"],
   [
@@ -624,19 +605,49 @@ AC_SUBST(AM_CPPFLAGS)
 # Add glib to global link libs
 LIBS="$LIBS $GLIB_LIBS"
 
+# Check that the current size_t matches the size that glib thinks it should
+# be. This catches problems on multi-arch where people try to do a 32-bit
+# build while pointing at 64-bit glib headers. This is a common error because
+# glib.h is not platform specific but it includes glibconfig.h which is and
+# is usually installed in a non-standard path.
+
+# Older versions of the pkg-config macros disallows PKG_* in the autoconf
+# output. Specifically allow pkg_config_libdir to be able to print the
+# error message.
+m4_pattern_allow([PKG_CONFIG_LIBDIR])
+
+save_CFLAGS=${CFLAGS}
+CFLAGS="${CFLAGS} ${AM_CFLAGS}"
+AC_COMPILE_IFELSE([
+  AC_LANG_PROGRAM([dnl
+#include <glib.h>
+#include <unistd.h>
+  ], [dnl
+G_STATIC_ASSERT(sizeof(size_t) == GLIB_SIZEOF_SIZE_T);
+  ])
+],[:],[
+  AC_MSG_ERROR([dnl
+sizeof(size_t) doesn't match GLIB_SIZEOF_SIZE_T. You probably need to set
+PKG_CONFIG_LIBDIR to point to the right pkg-config files for your build
+target.
+  ])
+])
+CFLAGS=${save_CFLAGS}
+
 # Abuse autoconf's AC_ARG_PROGRAM output variable 'program_transform_name'
 # to rename babeltrace.bin to babeltrace at install time.
 program_transform_name="s&babeltrace\.bin&babeltrace&;s&babeltrace-log\.bin&babeltrace-log&;$program_transform_name"
 AC_SUBST(program_transform_name)
 
-
-       #TODO: removed, work in progress
-       #bindings/python/Makefile
-       #bindings/python/babeltrace/Makefile
-       #bindings/python/bt2/Makefile
-       #bindings/python/bt2/__init__.py
 AC_CONFIG_FILES([
        Makefile
+       bindings/python/Makefile
+       bindings/python/babeltrace/Makefile
+       bindings/python/babeltrace/setup.py
+       bindings/python/babeltrace/babeltrace/__init__.py
+       bindings/python/bt2/Makefile
+       bindings/python/bt2/setup.py
+       bindings/python/bt2/bt2/__init__.py
        common/Makefile
        compat/Makefile
        cli/Makefile
@@ -645,7 +656,7 @@ AC_CONFIG_FILES([
        doc/api/Doxyfile
        doc/bindings/Makefile
        doc/bindings/python/Makefile
-       doc/images/Makefile
+       doc/contributing-images/Makefile
        lib/Makefile
        lib/prio_heap/Makefile
        lib/plugin/Makefile
@@ -660,14 +671,16 @@ AC_CONFIG_FILES([
        tests/cli/Makefile
        tests/cli/intersection/Makefile
        tests/lib/Makefile
-       tests/lib/writer/Makefile
        tests/lib/test-plugin-plugins/Makefile
+       tests/utils/common.sh
        tests/utils/Makefile
        tests/utils/tap/Makefile
        tests/bindings/Makefile
        tests/bindings/python/Makefile
        tests/bindings/python/bt2/Makefile
+       tests/bindings/python/babeltrace/Makefile
        tests/plugins/Makefile
+       tests/python-plugin-provider/Makefile
        extras/Makefile
        extras/valgrind/Makefile
        plugins/Makefile
@@ -676,6 +689,7 @@ AC_CONFIG_FILES([
        plugins/ctf/common/btr/Makefile
        plugins/ctf/common/metadata/Makefile
        plugins/ctf/common/notif-iter/Makefile
+       plugins/ctf/common/utils/Makefile
        plugins/ctf/fs-src/Makefile
        plugins/ctf/fs-sink/Makefile
        plugins/ctf/lttng-live/Makefile
@@ -694,7 +708,6 @@ AC_CONFIG_FILES([
        babeltrace-ctf.pc
 ])
 
-AC_CONFIG_FILES([tests/cli/intersection/bt_python_helper.py])
 AC_CONFIG_FILES([tests/cli/intersection/test_intersection], [chmod +x tests/cli/intersection/test_intersection])
 AC_CONFIG_FILES([tests/cli/test_convert_args], [chmod +x tests/cli/test_convert_args])
 AC_CONFIG_FILES([tests/cli/test_debug_info], [chmod +x tests/cli/test_debug_info])
@@ -702,17 +715,21 @@ AC_CONFIG_FILES([tests/cli/test_packet_seq_num], [chmod +x tests/cli/test_packet
 AC_CONFIG_FILES([tests/cli/test_trace_copy], [chmod +x tests/cli/test_trace_copy])
 AC_CONFIG_FILES([tests/cli/test_trace_read], [chmod +x tests/cli/test_trace_read])
 AC_CONFIG_FILES([tests/cli/test_trimmer], [chmod +x tests/cli/test_trimmer])
-AC_CONFIG_FILES([tests/lib/test_bin_info_complete], [chmod +x tests/lib/test_bin_info_complete])
 AC_CONFIG_FILES([tests/lib/test_ctf_writer_complete], [chmod +x tests/lib/test_ctf_writer_complete])
-AC_CONFIG_FILES([tests/lib/test_dwarf_complete], [chmod +x tests/lib/test_dwarf_complete])
 AC_CONFIG_FILES([tests/lib/test_plugin_complete], [chmod +x tests/lib/test_plugin_complete])
-AC_CONFIG_FILES([tests/lib/writer/bt_python_helper.py])
-AC_CONFIG_FILES([tests/lib/writer/test_ctf_writer_empty_packet.py])
-AC_CONFIG_FILES([tests/lib/writer/test_ctf_writer_no_packet_context.py])
 AC_CONFIG_FILES([tests/plugins/test-utils-muxer-complete], [chmod +x tests/plugins/test-utils-muxer-complete])
+AC_CONFIG_FILES([tests/plugins/test_dwarf_complete], [chmod +x tests/plugins/test_dwarf_complete])
+AC_CONFIG_FILES([tests/plugins/test_bin_info_complete], [chmod +x tests/plugins/test_bin_info_complete])
+
+AS_IF([test "x$enable_python_bindings" = xyes],
+  [
+       AC_CONFIG_FILES([tests/bindings/python/bt2/test_python_bt2], [chmod +x tests/bindings/python/bt2/test_python_bt2])
+       AC_CONFIG_FILES([tests/bindings/python/babeltrace/test_python_babeltrace], [chmod +x tests/bindings/python/babeltrace/test_python_babeltrace])
+  ]
+)
 
-AS_IF([test "x$enable_python" = xyes],
-  [AC_CONFIG_FILES([tests/bindings/python/bt2/testall.sh], [chmod +x tests/bindings/python/bt2/testall.sh])]
+AS_IF([test "x$enable_python_plugins" = "xyes"],
+  [AC_CONFIG_FILES([tests/python-plugin-provider/test_python_plugin_provider], [chmod +x tests/python-plugin-provider/test_python_plugin_provider])]
 )
 
 AC_OUTPUT
@@ -782,11 +799,6 @@ AS_ECHO
 PPRINT_SUBTITLE([Logging])
 PPRINT_PROP_STRING([Minimal log level], $BABELTRACE_MINIMAL_LOG_LEVEL)
 
-AS_ECHO
-PPRINT_SUBTITLE([Testing])
-test "x$enable_python_bindings_tests" = "xyes" && value=1 || value=0
-PPRINT_PROP_BOOL([Python bindings tests], $value)
-
 report_bindir="`eval eval echo $bindir`"
 report_libdir="`eval eval echo $libdir`"
 report_sysconfdif="`eval eval echo $sysconfdir`"
This page took 0.025715 seconds and 4 git commands to generate.