Skip to content

Expose reusable test harness libraries - #237

Open
zayenz wants to merge 7 commits into
mainfrom
feature/test-library
Open

Expose reusable test harness libraries#237
zayenz wants to merge 7 commits into
mainfrom
feature/test-library

Conversation

@zayenz

@zayenz zayenz commented Sep 6, 2026

Copy link
Copy Markdown
Member

Downstream propagator projects can use Gecode's test harness through installed libraries and headers. The harness provides registration, a runner, and helpers for integer/Boolean, set, and float tests, with set and float support following the configured variable modules.

The libraries follow Gecode's shared/static build options in CMake and Autoconf. CMake exports the test component and Gecode::gecodetest, Gecode::gecodetestint, Gecode::gecodetestset, and Gecode::gecodetestfloat, with dependencies on matching library variants. Gecode's own test executable uses the same libraries.

Failure diagnostics include an exact -replay command for the failing iteration. The guide covers independent solution oracles, common variable domains, the controls available to each family, and installed-package consumption. The changelog records the feature for Gecode 6.5.0.

Validation includes public smoke tests, exact seed replay, full shared installations through CMake and Autoconf, an integer-only static installation, and installed consumers using CMake and direct compiler linking. The CI matrix also checks the public smokes and an installed consumer in Windows shared and static builds.

@zayenz
zayenz force-pushed the feature/test-library branch from 72d677a to 6c7b9ef Compare September 6, 2026 14:45
@zayenz
zayenz force-pushed the feature/test-library branch from fb004a5 to 606bc09 Compare September 10, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant