]> www.infradead.org Git - mtd-utils.git/commitdiff
Add Makefile for unittests
authorDaniel Walter <dwalter@sigma-star.at>
Wed, 31 Aug 2016 08:11:14 +0000 (10:11 +0200)
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>
Thu, 17 Nov 2016 10:36:56 +0000 (11:36 +0100)
Signed-off-by: Daniel Walter <dwalter@sigma-star.at>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
.gitignore
Makefile.am
configure.ac
tests/unittests/Makemodule.am [new file with mode: 0644]

index d50dbc2d3af5b2b3123162955a8226a87687d396..c11a45ee15758dae137c8be6396de2990c0d7975 100644 (file)
@@ -98,6 +98,8 @@ ubirmvol
 ubirsvol
 ubiupdatevol
 volrefcnt
+mtdlib_test
+ubilib_test
 tests/fs-tests/fs_help_all.sh
 tests/fs-tests/fs_run_all.sh
 tests/fs-tests/stress/fs_stress00.sh
index 5caa5cad4f30414c936d3b643fec2a1c0f464a66..a3457c004c84091ee825f07160a6850b339a8de9 100644 (file)
@@ -48,3 +48,7 @@ include tests/checkfs/Makemodule.am
 include tests/fs-tests/Makemodule.am
 include tests/mtd-tests/Makemodule.am
 endif
+
+if UNIT_TESTS
+include tests/unittests/Makemodule.am
+endif
index 637d692e96d05ab50e690555242ff220fd38f9fe..18ff9affaf5d73809ed69431cc5ae1463359cfa6 100644 (file)
@@ -3,6 +3,20 @@ AC_PREREQ([2.60])
 m4_define([RELEASE], 1.5.2)
 
 AC_INIT([mtd-utils], [RELEASE], [linux-mtd@lists.infradead.org], mtd-utils)
+
+
+AC_ARG_ENABLE([unit-tests],
+       [AS_HELP_STRING([--enable-unit-tests], [Compile unit test programs])],
+       [case "${enableval}" in
+       yes) AM_CONDITIONAL([UNIT_TESTS], [true]) ;;
+       no)  AM_CONDITIONAL([UNIT_TESTS], [false]) ;;
+       *) AC_MSG_ERROR([bad value ${enableval} for --enable-unit-tests]) ;;
+       esac],
+       [AM_CONDITIONAL([UNIT_TESTS], [false])])
+
+AM_COND_IF([UNIT_TESTS], [: ${CFLAGS=""}], [])
+
+
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([foreign subdir-objects dist-bzip2])
 AM_SILENT_RULES([yes])
@@ -78,6 +92,8 @@ AM_CONDITIONAL([HAVE_EXECINFO], [test "x$execinfo_found" == "xyes"])
 PKG_CHECK_MODULES(ZLIB, [ zlib ])
 PKG_CHECK_MODULES(UUID, [ uuid ])
 
+AM_COND_IF([UNIT_TESTS], [PKG_CHECK_MODULES(CMOCKA, [ cmocka ])], [])
+
 AM_COND_IF([WITHOUT_LZO], [], [
        have_lzo="yes"
        AC_ARG_VAR([LZO_CFLAGS], [C compiler flags for lzo])
diff --git a/tests/unittests/Makemodule.am b/tests/unittests/Makemodule.am
new file mode 100644 (file)
index 0000000..b7bad94
--- /dev/null
@@ -0,0 +1,16 @@
+ubilib_test_SOURCES = tests/unittests/libubi_test.c ubi-utils/libubi.c
+ubilib_test_LDADD = $(CMOCKA_LIBS)
+ubilib_test_LDFLAGS = -Wl,--wrap=open -Wl,--wrap=close -Wl,--wrap=stat -Wl,--wrap=ioctl -Wl,--wrap=read -Wl,--wrap=lseek
+ubilib_test_CPPFLAGS = -O0 --std=gnu99 $(CMOCKA_CFLAGS) -I ubi-utils/include -I include -DSYSFS_ROOT='"tests/unittests/sysfs_mock"'
+
+mtdlib_test_SOURCES = tests/unittests/libmtd_test.c lib/libmtd.c lib/libmtd_legacy.c
+mtdlib_test_LDADD = $(CMOCKA_LIBS)
+mtdlib_test_LDFLAGS = -Wl,--wrap=open -Wl,--wrap=close -Wl,--wrap=stat -Wl,--wrap=ioctl -Wl,--wrap=read -Wl,--wrap=lseek -Wl,--wrap=write
+mtdlib_test_CPPFLAGS = -O0 --std=gnu99 $(CMOCKA_CFLAGS) -I lib/ -I include -DSYSFS_ROOT='"tests/unittests/sysfs_mock"'
+
+TEST_BINS = \
+       ubilib_test \
+       mtdlib_test
+
+
+noinst_PROGRAMS += $(TEST_BINS)