Skip to content

Commit 13c001b

Browse files
authored
Merge 63bbb15 into 1c4ab78
2 parents 1c4ab78 + 63bbb15 commit 13c001b

4 files changed

Lines changed: 1151 additions & 535 deletions

File tree

‎NEWS.adoc‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ https://github.com/networkupstools/nut/milestone/13
7777
disabled as a result. The names it tried, and why each one failed,
7878
are logged at debug level 1 instead, since a failed name followed by
7979
a working one is not a failure. [PR #3739]
80+
- Consolidated repeated library selection into a shared helper with
81+
explicit candidate lists, preserving lookup order and loading
82+
behavior. Added regression tests for library selection, initialization
83+
and cleanup. [PR #3760]
8084
- When the NUT client library was not found under its known file names
8185
and had to be loaded by the libtool default search instead, the
8286
result was stored as the availability of the XML/HTTP scan. So the

‎tests/Makefile.am‎

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,69 @@ endif !WITH_OPENSSL
312312
endif WITH_SSL
313313
endif WITH_SNMP
314314

315+
# Exercise the actual scanner library-selection path without loading devices.
316+
if WITH_NUT_SCANNER
317+
NUTSCAN_TEST_CFLAGS = $(AM_CFLAGS) $(LIBLTDL_CFLAGS) -I$(top_srcdir)/tools/nut-scanner -I$(top_srcdir)/clients -I$(top_builddir)/clients
318+
NUTSCAN_SELECTION_TEST_LDADD = $(NUT_LIBCOMMON) $(LIBLTDL_LIBS) $(NETLIBS)
319+
$(top_builddir)/clients/libupsclient-version.h: $(top_builddir)/clients/libupsclient.la
320+
+@cd $(@D) && $(MAKE) $(AM_MAKEFLAGS) $(@F)
321+
nutscan-selection-test.c: $(top_builddir)/clients/libupsclient-version.h
322+
323+
TESTS += nutscan-selection-test
324+
nutscan_selection_test_SOURCES = nutscan-selection-test.c
325+
nutscan_selection_test_CFLAGS = $(NUTSCAN_TEST_CFLAGS) -DNUTSCAN_SELECTION_VARIANT=0
326+
nutscan_selection_test_LDADD = $(NUTSCAN_SELECTION_TEST_LDADD)
327+
nutscan_selection_test_DEPENDENCIES = $(top_srcdir)/tools/nut-scanner/nutscan-init.c $(top_builddir)/clients/libupsclient-version.h $(NUT_LIBCOMMON)
328+
329+
TESTS += nutscan-selection-distinct-test
330+
nutscan_selection_distinct_test_SOURCES = nutscan-selection-test.c
331+
nutscan_selection_distinct_test_CFLAGS = $(NUTSCAN_TEST_CFLAGS) -DNUTSCAN_SELECTION_VARIANT=1
332+
nutscan_selection_distinct_test_LDADD = $(NUTSCAN_SELECTION_TEST_LDADD)
333+
nutscan_selection_distinct_test_DEPENDENCIES = $(top_srcdir)/tools/nut-scanner/nutscan-init.c $(top_builddir)/clients/libupsclient-version.h $(NUT_LIBCOMMON)
334+
335+
TESTS += nutscan-selection-equal-test
336+
nutscan_selection_equal_test_SOURCES = nutscan-selection-test.c
337+
nutscan_selection_equal_test_CFLAGS = $(NUTSCAN_TEST_CFLAGS) -DNUTSCAN_SELECTION_VARIANT=2
338+
nutscan_selection_equal_test_LDADD = $(NUTSCAN_SELECTION_TEST_LDADD)
339+
nutscan_selection_equal_test_DEPENDENCIES = $(top_srcdir)/tools/nut-scanner/nutscan-init.c $(top_builddir)/clients/libupsclient-version.h $(NUT_LIBCOMMON)
340+
341+
TESTS += nutscan-selection-no-soname-test
342+
nutscan_selection_no_soname_test_SOURCES = nutscan-selection-test.c
343+
nutscan_selection_no_soname_test_CFLAGS = $(NUTSCAN_TEST_CFLAGS) -DNUTSCAN_SELECTION_VARIANT=3
344+
nutscan_selection_no_soname_test_LDADD = $(NUTSCAN_SELECTION_TEST_LDADD)
345+
nutscan_selection_no_soname_test_DEPENDENCIES = $(top_srcdir)/tools/nut-scanner/nutscan-init.c $(top_builddir)/clients/libupsclient-version.h $(NUT_LIBCOMMON)
346+
347+
TESTS += nutscan-selection-no-file-test
348+
nutscan_selection_no_file_test_SOURCES = nutscan-selection-test.c
349+
nutscan_selection_no_file_test_CFLAGS = $(NUTSCAN_TEST_CFLAGS) -DNUTSCAN_SELECTION_VARIANT=4
350+
nutscan_selection_no_file_test_LDADD = $(NUTSCAN_SELECTION_TEST_LDADD)
351+
nutscan_selection_no_file_test_DEPENDENCIES = $(top_srcdir)/tools/nut-scanner/nutscan-init.c $(top_builddir)/clients/libupsclient-version.h $(NUT_LIBCOMMON)
352+
353+
TESTS += nutscan-selection-alias-test
354+
nutscan_selection_alias_test_SOURCES = nutscan-selection-test.c
355+
nutscan_selection_alias_test_CFLAGS = $(NUTSCAN_TEST_CFLAGS) -DNUTSCAN_SELECTION_VARIANT=5
356+
nutscan_selection_alias_test_LDADD = $(NUTSCAN_SELECTION_TEST_LDADD)
357+
nutscan_selection_alias_test_DEPENDENCIES = $(top_srcdir)/tools/nut-scanner/nutscan-init.c $(top_builddir)/clients/libupsclient-version.h $(NUT_LIBCOMMON)
358+
359+
TESTS += nutscan-selection-usb01-test
360+
nutscan_selection_usb01_test_SOURCES = nutscan-selection-test.c
361+
nutscan_selection_usb01_test_CFLAGS = $(NUTSCAN_TEST_CFLAGS) -DNUTSCAN_SELECTION_VARIANT=6
362+
nutscan_selection_usb01_test_LDADD = $(NUTSCAN_SELECTION_TEST_LDADD)
363+
nutscan_selection_usb01_test_DEPENDENCIES = $(top_srcdir)/tools/nut-scanner/nutscan-init.c $(top_builddir)/clients/libupsclient-version.h $(NUT_LIBCOMMON)
364+
365+
TESTS += nutscan-selection-static-test
366+
nutscan_selection_static_test_SOURCES = nutscan-selection-test.c
367+
nutscan_selection_static_test_CFLAGS = $(NUTSCAN_TEST_CFLAGS) -DNUTSCAN_SELECTION_VARIANT=7
368+
nutscan_selection_static_test_LDADD = $(NUTSCAN_SELECTION_TEST_LDADD)
369+
nutscan_selection_static_test_DEPENDENCIES = $(top_srcdir)/tools/nut-scanner/nutscan-init.c $(top_builddir)/clients/libupsclient-version.h $(NUT_LIBCOMMON)
370+
371+
TESTS += nutscan-selection-disabled-test
372+
nutscan_selection_disabled_test_SOURCES = nutscan-selection-test.c
373+
nutscan_selection_disabled_test_CFLAGS = $(NUTSCAN_TEST_CFLAGS) -DNUTSCAN_SELECTION_VARIANT=8
374+
nutscan_selection_disabled_test_LDADD = $(NUTSCAN_SELECTION_TEST_LDADD)
375+
nutscan_selection_disabled_test_DEPENDENCIES = $(top_srcdir)/tools/nut-scanner/nutscan-init.c $(top_builddir)/clients/libupsclient-version.h $(NUT_LIBCOMMON)
376+
endif WITH_NUT_SCANNER
377+
315378
### Optional tests which can not be built everywhere
316379
# List of src files for CppUnit tests
317380
CPPUNITTESTSRC = example.cpp nutclienttest.cpp

0 commit comments

Comments
 (0)