]> git.ipfire.org Git - pakfire.git/commitdiff
tests: Create internal library for unit tests
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 27 Apr 2021 18:41:12 +0000 (18:41 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 27 Apr 2021 18:41:12 +0000 (18:41 +0000)
Our shared library only exports very few symbols so that we can change
our internal ABI easily and presumably not many applications are going
to link against libpakfire anyways.

This makes it impossible to test any internal functions which are
inaccessible. This patch adds an internal library with all available
symbols which will be linked into the test binaries so that we can test
those functions without any acrobatics.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am

index c61e51859a09f380a4b99320b0e013134eab2d82..136691a22be193c6e1ce04161bf79da5de0734ad 100644 (file)
@@ -358,6 +358,28 @@ libpakfire_la_DEPENDENCIES = \
 EXTRA_DIST += \
        src/libpakfire/libpakfire.sym
 
+noinst_LTLIBRARIES += \
+       libpakfire-internal.la
+
+libpakfire_internal_la_SOURCES = \
+       $(libpakfire_la_SOURCES)
+
+libpakfire_internal_la_CPPFLAGS = \
+       $(libpakfire_la_CPPFLAGS)
+
+libpakfire_internal_la_CFLAGS = \
+       $(libpakfire_la_CFLAGS)
+
+libpakfire_internal_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -Wl,--version-script=$(top_srcdir)/src/libpakfire/libpakfire.sym
+
+libpakfire_internal_la_LIBADD = \
+       $(libpakfire_la_LIBADD)
+
+libpakfire_internal_la_DEPENDENCIES = \
+       $(libpakfire_la_DEPENDENCIES)
+
 check_PROGRAMS += \
        tests/libpakfire/main \
        tests/libpakfire/arch \
@@ -384,8 +406,7 @@ tests_libpakfire_main_CPPFLAGS = \
        -DTEST_ROOTFS=\"$(TEST_ROOTFS)\"
 
 tests_libpakfire_main_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 tests_libpakfire_arch_SOURCES = \
        tests/libpakfire/arch.c
@@ -394,8 +415,7 @@ tests_libpakfire_arch_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_arch_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 tests_libpakfire_archive_SOURCES = \
        tests/libpakfire/archive.c
@@ -404,51 +424,34 @@ tests_libpakfire_archive_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_archive_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_cgroup_SOURCES = \
-       tests/libpakfire/cgroup.c \
-       src/libpakfire/cgroup.c \
-       src/libpakfire/util.c
+       tests/libpakfire/cgroup.c
 
 tests_libpakfire_cgroup_CPPFLAGS = \
-       $(TESTSUITE_CPPFLAGS) \
-       $(JSON_C_CFLAGS) \
-       -DPAKFIRE_PRIVATE
+       $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_cgroup_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS) \
-       $(ARCHIVE_LIBS) \
-       $(JSON_C_LIBS) \
-       $(UUID_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_compress_SOURCES = \
-       tests/libpakfire/compress.c \
-       src/libpakfire/compress.c
+       tests/libpakfire/compress.c
 
 tests_libpakfire_compress_CPPFLAGS = \
-       $(TESTSUITE_CPPFLAGS) \
-       -DPAKFIRE_PRIVATE
+       $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_compress_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS) \
-       $(LZMA_LIBS) \
-       $(ZSTD_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_config_SOURCES = \
-       tests/libpakfire/config.c \
-       src/libpakfire/config.c
+       tests/libpakfire/config.c
 
 tests_libpakfire_config_CPPFLAGS = \
-       $(TESTSUITE_CPPFLAGS) \
-       -DPAKFIRE_PRIVATE
+       $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_config_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 tests_libpakfire_db_SOURCES = \
        tests/libpakfire/db.c
@@ -457,27 +460,16 @@ tests_libpakfire_db_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_db_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_downloader_SOURCES = \
-       tests/libpakfire/downloader.c \
-       src/libpakfire/downloader.c \
-       src/libpakfire/progressbar.c \
-       src/libpakfire/util.c
+       tests/libpakfire/downloader.c
 
 tests_libpakfire_downloader_CPPFLAGS = \
-       $(TESTSUITE_CPPFLAGS) \
-       $(JSON_C_CFLAGS) \
-       -DPAKFIRE_PRIVATE
+       $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_downloader_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(ARCHIVE_LIBS) \
-       $(CURL_LIBS) \
-       $(JSON_C_LIBS) \
-       $(PAKFIRE_LIBS) \
-       $(UUID_LIBS)
+       $(TESTSUITE_LDADD)
 
 tests_libpakfire_execute_SOURCES = \
        tests/libpakfire/execute.c
@@ -486,8 +478,7 @@ tests_libpakfire_execute_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_execute_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 tests_libpakfire_key_SOURCES = \
        tests/libpakfire/key.c \
@@ -497,19 +488,16 @@ tests_libpakfire_key_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_key_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_makefile_SOURCES = \
        tests/libpakfire/makefile.c
 
 tests_libpakfire_makefile_CPPFLAGS = \
-       $(TESTSUITE_CPPFLAGS) \
-       -DPAKFIRE_PRIVATE
+       $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_makefile_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_packager_SOURCES = \
        tests/libpakfire/packager.c
@@ -518,8 +506,7 @@ tests_libpakfire_packager_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_packager_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_parser_SOURCES = \
        tests/libpakfire/parser.c
@@ -528,25 +515,16 @@ tests_libpakfire_parser_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_parser_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_progressbar_SOURCES = \
-       tests/libpakfire/progressbar.c \
-       src/libpakfire/progressbar.c \
-       src/libpakfire/util.c
+       tests/libpakfire/progressbar.c
 
 tests_libpakfire_progressbar_CPPFLAGS = \
-       $(TESTSUITE_CPPFLAGS) \
-       $(JSON_C_CFLAGS) \
-       -DPAKFIRE_PRIVATE
+       $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_progressbar_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS) \
-       $(ARCHIVE_LIBS) \
-       $(JSON_C_LIBS) \
-       $(UUID_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_repo_SOURCES = \
        tests/libpakfire/repo.c
@@ -555,24 +533,16 @@ tests_libpakfire_repo_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_repo_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS)
+       $(TESTSUITE_LDADD)
 
 dist_tests_libpakfire_util_SOURCES = \
-       tests/libpakfire/util.c \
-       src/libpakfire/util.c
+       tests/libpakfire/util.c
 
 tests_libpakfire_util_CPPFLAGS = \
-       $(TESTSUITE_CPPFLAGS) \
-       $(JSON_C_CFLAGS) \
-       -DPAKFIRE_PRIVATE
+       $(TESTSUITE_CPPFLAGS)
 
 tests_libpakfire_util_LDADD = \
-       $(TESTSUITE_LDADD) \
-       $(PAKFIRE_LIBS) \
-       $(ARCHIVE_LIBS) \
-       $(JSON_C_LIBS) \
-       $(UUID_LIBS)
+       $(TESTSUITE_LDADD)
 
 # ------------------------------------------------------------------------------
 
@@ -725,7 +695,9 @@ TESTSUITE_CPPFLAGS = \
        -DTEST_ROOTFS=\"$(TEST_ROOTFS)\"
 
 TESTSUITE_LDADD = \
-       tests/libtestsuite.la
+       tests/libtestsuite.la \
+       libpakfire.la \
+       libpakfire-internal.la
 
 TESTS_ENVIRONMENT = \
        TEST_DATA_DIR="$(abs_top_srcdir)/tests/data" \