@@ -599,32 +599,71 @@ endif
599599# Usage:
600600# make test-package # Test default package format(s) for current OS
601601# make test-package-deb # Test DEB packages (Linux)
602+ # make test-package-deb-static-smoke
602603# make test-package-rpm # Test RPM packages (Linux, uses Fedora container via Docker)
603604# make test-package-rpm-native # Test RPM packages (native Fedora, for CI runners)
605+ # make test-package-rpm-native-static-smoke
604606# make test-package-pkg # Test PKG packages (macOS)
605607# make test-package-dmg # Test DMG packages (macOS)
608+ # make test-package-macos-static-smoke
606609# make test-package-msi # Test MSI packages (Windows)
610+ # make test-package-windows-static-smoke
607611# =============================================================================
608612
609613SMOKE_TEST_DIR := packaging/smoke-test-app
614+ SMOKE_TEST_MAKE := $(MAKE ) -C $(SMOKE_TEST_DIR )
610615SCYLLA_SMOKE_BUILD_STATIC ?= OFF
616+ SCYLLA_SMOKE_ONLY_STATIC ?= OFF
611617SMOKE_TEST_CMAKE_FLAGS :=
612618ifeq ($(SCYLLA_SMOKE_BUILD_STATIC ) ,ON)
613619SMOKE_TEST_CMAKE_FLAGS += -DSCYLLA_SMOKE_BUILD_STATIC=ON
614620endif
621+ SMOKE_TEST_STATIC_CMAKE_FLAGS := -DSCYLLA_SMOKE_BUILD_STATIC=ON
622+ SMOKE_TEST_BUILD_FLAGS := SCYLLA_SMOKE_BUILD_STATIC=$(SCYLLA_SMOKE_BUILD_STATIC )
623+ SMOKE_TEST_RUN_FLAGS := $(SMOKE_TEST_BUILD_FLAGS ) SCYLLA_SMOKE_ONLY_STATIC=$(SCYLLA_SMOKE_ONLY_STATIC )
624+ SMOKE_TEST_STATIC_BUILD_FLAGS := SCYLLA_SMOKE_BUILD_STATIC=ON
625+ SMOKE_TEST_STATIC_RUN_FLAGS := $(SMOKE_TEST_STATIC_BUILD_FLAGS ) SCYLLA_SMOKE_ONLY_STATIC=ON
626+
627+ define smoke_test_build_package
628+ $(SMOKE_TEST_MAKE ) build-package CPACK_GENERATORS=$(1 ) $(SMOKE_TEST_BUILD_FLAGS ) CMAKE_FLAGS="$(SMOKE_TEST_CMAKE_FLAGS ) "
629+ endef
630+
631+ define smoke_test_build_package_static
632+ $(SMOKE_TEST_MAKE ) build-package CPACK_GENERATORS=$(1 ) $(SMOKE_TEST_STATIC_BUILD_FLAGS ) CMAKE_FLAGS="$(SMOKE_TEST_STATIC_CMAKE_FLAGS ) "
633+ endef
634+
635+ define smoke_test_run_package
636+ $(SMOKE_TEST_MAKE ) test-app-package $(1 ) $(SMOKE_TEST_RUN_FLAGS )
637+ endef
638+
639+ define smoke_test_run_package_static
640+ $(SMOKE_TEST_MAKE ) test-app-package $(1 ) $(SMOKE_TEST_STATIC_RUN_FLAGS )
641+ endef
615642
616643# DEB package testing (Ubuntu/Debian)
617644test-package-deb : build-package
618645 @echo " === Testing DEB packages ==="
619- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-dev-deb
620- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-deb
621- $(MAKE ) -C $( SMOKE_TEST_DIR ) build-package CPACK_GENERATORS= DEB SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC ) CMAKE_FLAGS= " $( SMOKE_TEST_CMAKE_FLAGS ) "
622- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-app-deb SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC )
623- $(MAKE ) -C $( SMOKE_TEST_DIR ) test-app-package SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC )
646+ $(SMOKE_TEST_MAKE ) install-driver-dev-deb
647+ $(SMOKE_TEST_MAKE ) install-driver-deb
648+ $(call smoke_test_build_package, DEB)
649+ $(SMOKE_TEST_MAKE ) install-app-deb
650+ $(call smoke_test_run_package, )
624651 @echo " === DEB package test completed successfully ==="
625- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-app-deb || true
626- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-driver-deb || true
627- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-driver-dev-deb || true
652+ $(SMOKE_TEST_MAKE ) remove-app-deb || true
653+ $(SMOKE_TEST_MAKE ) remove-driver-deb || true
654+ $(SMOKE_TEST_MAKE ) remove-driver-dev-deb || true
655+
656+ test-package-deb-static-smoke :
657+ @echo " === Testing DEB packages (static smoke app) ==="
658+ $(SMOKE_TEST_MAKE ) install-driver-dev-deb
659+ $(SMOKE_TEST_MAKE ) install-driver-deb
660+ $(call smoke_test_build_package_static,DEB)
661+ $(SMOKE_TEST_MAKE ) install-app-deb
662+ $(call smoke_test_run_package_static,)
663+ @echo " === DEB static smoke test completed successfully ==="
664+ $(SMOKE_TEST_MAKE ) remove-app-deb || true
665+ $(SMOKE_TEST_MAKE ) remove-driver-deb || true
666+ $(SMOKE_TEST_MAKE ) remove-driver-dev-deb || true
628667
629668# RPM package testing (runs in Fedora container for compatibility)
630669test-package-rpm : build-package
@@ -638,8 +677,8 @@ test-package-rpm: build-package
638677 bash -c ' \
639678 set -euo pipefail; \
640679 dnf -y install make cmake gcc-c++ findutils rpm-build zlib-devel; \
641- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-dev-rpm; \
642- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-rpm; \
680+ $(SMOKE_TEST_MAKE ) install-driver-dev-rpm; \
681+ $(SMOKE_TEST_MAKE ) install-driver-rpm; \
643682 pc_file=$$(find /usr -name "scylla-cpp-driver.pc" 2>/dev/null | head -1 ) ; \
644683 if [ -n " $$ pc_file" ]; then \
645684 pc_dir=$$(dirname "$$pc_file" ) ; \
@@ -649,8 +688,8 @@ test-package-rpm: build-package
649688 if [ -n " $$ lib_dir" ]; then \
650689 export LD_LIBRARY_PATH=" $$ {lib_dir}:$$ {LD_LIBRARY_PATH:-}" ; \
651690 fi ; \
652- $(MAKE ) -C $( SMOKE_TEST_DIR ) build-package CPACK_GENERATORS= RPM SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC ) CMAKE_FLAGS= " $( SMOKE_TEST_CMAKE_FLAGS ) " ; \
653- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-app-rpm; \
691+ $(call smoke_test_build_package, RPM) ; \
692+ $(SMOKE_TEST_MAKE ) install-app-rpm; \
654693 smoke_bin=$$(find /usr -name "scylla-cpp-driver-smoke-test" -type f 2>/dev/null | head -1 ) ; \
655694 if [ -z " $$ smoke_bin" ]; then \
656695 echo " ERROR: smoke-test binary not found" ; \
@@ -676,52 +715,97 @@ SCYLLA_HOST ?= 127.0.0.1
676715SKIP_DOCKER_COMPOSE ?=
677716test-package-rpm-native : build-package
678717 @echo " === Testing RPM packages (native) ==="
679- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-dev-rpm
680- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-rpm
681- $(MAKE ) -C $( SMOKE_TEST_DIR ) build-package CPACK_GENERATORS= RPM SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC ) CMAKE_FLAGS= " $( SMOKE_TEST_CMAKE_FLAGS ) "
682- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-app-rpm
683- $(MAKE ) -C $( SMOKE_TEST_DIR ) test-app-package SCYLLA_HOST=$(SCYLLA_HOST ) SKIP_DOCKER_COMPOSE=$(SKIP_DOCKER_COMPOSE ) SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC )
718+ $(SMOKE_TEST_MAKE ) install-driver-dev-rpm
719+ $(SMOKE_TEST_MAKE ) install-driver-rpm
720+ $(call smoke_test_build_package, RPM)
721+ $(SMOKE_TEST_MAKE ) install-app-rpm
722+ $(call smoke_test_run_package, SCYLLA_HOST=$(SCYLLA_HOST ) SKIP_DOCKER_COMPOSE=$(SKIP_DOCKER_COMPOSE ) )
684723 @echo " === RPM package test completed successfully ==="
685- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-app-rpm || true
686- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-driver-rpm || true
687- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-driver-dev-rpm || true
724+ $(SMOKE_TEST_MAKE ) remove-app-rpm || true
725+ $(SMOKE_TEST_MAKE ) remove-driver-rpm || true
726+ $(SMOKE_TEST_MAKE ) remove-driver-dev-rpm || true
727+
728+ test-package-rpm-native-static-smoke :
729+ @echo " === Testing RPM packages (native static smoke app) ==="
730+ $(SMOKE_TEST_MAKE ) install-driver-dev-rpm
731+ $(SMOKE_TEST_MAKE ) install-driver-rpm
732+ $(call smoke_test_build_package_static,RPM)
733+ $(SMOKE_TEST_MAKE ) install-app-rpm
734+ $(call smoke_test_run_package_static,SCYLLA_HOST=$(SCYLLA_HOST ) SKIP_DOCKER_COMPOSE=$(SKIP_DOCKER_COMPOSE ) )
735+ @echo " === RPM native static smoke test completed successfully ==="
736+ $(SMOKE_TEST_MAKE ) remove-app-rpm || true
737+ $(SMOKE_TEST_MAKE ) remove-driver-rpm || true
738+ $(SMOKE_TEST_MAKE ) remove-driver-dev-rpm || true
688739
689740# macOS PKG package testing
690741test-package-pkg : build-package
691742 @echo " === Testing PKG packages ==="
692- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-dev-pkg
693- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-pkg
694- $(MAKE ) -C $( SMOKE_TEST_DIR ) build-package CPACK_GENERATORS= productbuild SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC ) CMAKE_FLAGS= " $( SMOKE_TEST_CMAKE_FLAGS ) "
695- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-app-pkg
696- $(MAKE ) -C $( SMOKE_TEST_DIR ) test-app-package SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC )
743+ $(SMOKE_TEST_MAKE ) install-driver-dev-pkg
744+ $(SMOKE_TEST_MAKE ) install-driver-pkg
745+ $(call smoke_test_build_package, productbuild)
746+ $(SMOKE_TEST_MAKE ) install-app-pkg
747+ $(call smoke_test_run_package, )
697748 @echo " === PKG package test completed successfully ==="
698- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-app-pkg || true
699- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-driver-pkg || true
700- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-driver-dev-pkg || true
749+ $(SMOKE_TEST_MAKE ) remove-app-pkg || true
750+ $(SMOKE_TEST_MAKE ) remove-driver-pkg || true
751+ $(SMOKE_TEST_MAKE ) remove-driver-dev-pkg || true
752+
753+ test-package-pkg-static-smoke :
754+ @echo " === Testing PKG packages (static smoke app) ==="
755+ $(SMOKE_TEST_MAKE ) install-driver-dev-pkg
756+ $(SMOKE_TEST_MAKE ) install-driver-pkg
757+ $(call smoke_test_build_package_static,productbuild)
758+ $(SMOKE_TEST_MAKE ) install-app-pkg
759+ $(call smoke_test_run_package_static,)
760+ @echo " === PKG static smoke test completed successfully ==="
761+ $(SMOKE_TEST_MAKE ) remove-app-pkg || true
762+ $(SMOKE_TEST_MAKE ) remove-driver-pkg || true
763+ $(SMOKE_TEST_MAKE ) remove-driver-dev-pkg || true
701764
702765# macOS DMG package testing
703766test-package-dmg : build-package
704767 @echo " === Testing DMG packages ==="
705- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-dev-dmg
706- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-dmg
707- $(MAKE ) -C $( SMOKE_TEST_DIR ) build-package CPACK_GENERATORS= DragNDrop SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC ) CMAKE_FLAGS= " $( SMOKE_TEST_CMAKE_FLAGS ) "
708- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-app-dmg
709- $(MAKE ) -C $( SMOKE_TEST_DIR ) test-app-package SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC )
768+ $(SMOKE_TEST_MAKE ) install-driver-dev-dmg
769+ $(SMOKE_TEST_MAKE ) install-driver-dmg
770+ $(call smoke_test_build_package, DragNDrop)
771+ $(SMOKE_TEST_MAKE ) install-app-dmg
772+ $(call smoke_test_run_package, )
710773 @echo " === DMG package test completed successfully ==="
711- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-app-dmg || true
712- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-driver-dmg || true
713- $(MAKE ) -C $(SMOKE_TEST_DIR ) remove-driver-dev-dmg || true
774+ $(SMOKE_TEST_MAKE ) remove-app-dmg || true
775+ $(SMOKE_TEST_MAKE ) remove-driver-dmg || true
776+ $(SMOKE_TEST_MAKE ) remove-driver-dev-dmg || true
777+
778+ test-package-dmg-static-smoke :
779+ @echo " === Testing DMG packages (static smoke app) ==="
780+ $(SMOKE_TEST_MAKE ) install-driver-dev-dmg
781+ $(SMOKE_TEST_MAKE ) install-driver-dmg
782+ $(call smoke_test_build_package_static,DragNDrop)
783+ $(SMOKE_TEST_MAKE ) install-app-dmg
784+ $(call smoke_test_run_package_static,)
785+ @echo " === DMG static smoke test completed successfully ==="
786+ $(SMOKE_TEST_MAKE ) remove-app-dmg || true
787+ $(SMOKE_TEST_MAKE ) remove-driver-dmg || true
788+ $(SMOKE_TEST_MAKE ) remove-driver-dev-dmg || true
714789
715790# Windows MSI package testing
716791test-package-msi : .windows-setup-wix build-package
717792 @echo " === Testing MSI packages ==="
718- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver-dev
719- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-driver
720- $(MAKE ) -C $( SMOKE_TEST_DIR ) build-package SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC ) CMAKE_FLAGS=" $( SMOKE_TEST_CMAKE_FLAGS) "
721- $(MAKE ) -C $( SMOKE_TEST_DIR ) install-app
722- $(MAKE ) -C $( SMOKE_TEST_DIR ) test-app-package SCYLLA_SMOKE_BUILD_STATIC= $( SCYLLA_SMOKE_BUILD_STATIC )
793+ $(SMOKE_TEST_MAKE ) install-driver-dev
794+ $(SMOKE_TEST_MAKE ) install-driver
795+ $(SMOKE_TEST_MAKE ) build-package $( SMOKE_TEST_BUILD_FLAGS ) CMAKE_FLAGS=" $( SMOKE_TEST_CMAKE_FLAGS) "
796+ $(SMOKE_TEST_MAKE ) install-app
797+ $(call smoke_test_run_package, )
723798 @echo " === MSI package test completed successfully ==="
724799
800+ test-package-msi-static-smoke : .windows-setup-wix
801+ @echo " === Testing MSI packages (static smoke app) ==="
802+ $(SMOKE_TEST_MAKE ) install-driver-dev
803+ $(SMOKE_TEST_MAKE ) install-driver
804+ $(SMOKE_TEST_MAKE ) build-package $(SMOKE_TEST_STATIC_BUILD_FLAGS ) CMAKE_FLAGS=" $( SMOKE_TEST_STATIC_CMAKE_FLAGS) "
805+ $(SMOKE_TEST_MAKE ) install-app
806+ $(call smoke_test_run_package_static,)
807+ @echo " === MSI static smoke test completed successfully ==="
808+
725809# Combined Linux package testing (DEB + RPM)
726810test-package-linux :
727811 $(MAKE ) test-package-deb
@@ -731,12 +815,19 @@ test-package-linux:
731815# Windows package testing (MSI)
732816test-package-windows : test-package-msi
733817
818+ test-package-windows-static-smoke : test-package-msi-static-smoke
819+
734820# Combined macOS package testing (PKG + DMG)
735821test-package-macos :
736822 $(MAKE ) test-package-pkg
737823 rm -rf $(SMOKE_TEST_DIR ) /build
738824 $(MAKE ) test-package-dmg
739825
826+ test-package-macos-static-smoke :
827+ $(MAKE ) test-package-pkg-static-smoke
828+ rm -rf $(SMOKE_TEST_DIR ) /build
829+ $(MAKE ) test-package-dmg-static-smoke
830+
740831# OS-specific default test-package target
741832ifeq ($(OS_TYPE ) ,macos)
742833test-package : test-package-macos
0 commit comments