@@ -312,6 +312,69 @@ endif !WITH_OPENSSL
312312endif WITH_SSL
313313endif 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
317380CPPUNITTESTSRC = example.cpp nutclienttest.cpp
0 commit comments