Repository navigation
ci: run cpworker unit and integration tests; pin libzmq to v4.3.3 - #307
Merged
Merged
Conversation
CI built the cpworker ctest binaries but never ran them, and never ran the integration suite. Add a ctest step and a run_test.sh step, and add cptools/cripid to the Go test loop. libzmq was cloned from master while install_zmq.md pins v4.3.3. Clone the v4.3.3 tag and check its commit. v4.3.3 does not build with GCC 13, so disable CURVE (unused by cpworker) and build only the library. Install libzmq3-dev for the integration tests' zmq_receiver helper. cpworker still links the pinned static libzmq.a.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
cpworker/tests/integration). C data-plane changes had no regression coverage in CI.cptools/cripidhas tests but was not in the Go test loop.master, whilecpworker/docs/install_zmq.mdpins v4.3.3. CI tested a different libzmq than the documented one, and was not reproducible.Change
cpworker unit tests:ctest --output-on-failureinbuild/tmp/cpworker-linux-amd64.cpworker integration tests:./run_test.sh all. It pointsCPWORKER_BINat the Mage build and runsgo testunder sudo (packet capture needs CAP_NET_RAW). The module is not added to the plaingo testloop, which has neither.cptools/cripidadded to the Go test loop.cptools/dockerpidhas no tests.v4.3.3and check its commit (04f5bbed).secure_allocator_ttrips a libstdc++ allocator assertion. cpworker does not use CURVE, so--disable-curve.-Werror=addressunder GCC 13, so onlysrc/libzmq.lais built.libzmq3-devinstalled for the integration tests'zmq_receiverhelper (cgo,pebbe/zmq4, linkslibzmq.so.5). cpworker still links the pinnedlibzmq.a:find_libraryusesNO_DEFAULT_PATH, and${LIBRARY_ROOT}/includecomes first.Verification
Ran the CI steps in an Ubuntu 24.04 VM (GCC 13.3, system libpcap 1.10.4) with a clean environment:
build:linux: OK.run_test.sh all: passed (141 s). Withoutlibzmq.so.5available,TestIdleZMQFlushandTestIntegration/zmq_*fail becausezmq_receivercannot start, hencelibzmq3-dev.cptools/cripid(go 1.26 viaGOTOOLCHAIN=auto): all OK.Fixes #300
Fixes #301