Implement test automation plan (Phases A–D) and update documentation#29
Closed
Implement test automation plan (Phases A–D) and update documentation#29
Conversation
…smoke Phase A: Create tests/generate_test_data.py with 10 deterministic datasets, add .gitignore entries for generated test data. Phase B: Add error callback test (MT-API-009) to test_roundtrip.c with callback invocations in opj_jp3d_decode. Extend test_cli.c with verbose content, missing file, decompress/dump/transcode version tests. Add JPIP server lifecycle test (MT-JPIP-002) to test_jpip3d.c. Phase C: Add build-minimal, packaging, and gui-smoke CI jobs to ci.yml. Create tests/find_package_test/ for find_package validation. Phase D: Create tests/test_gui.sh headless smoke test, register in CMake. Co-authored-by: SureshKViswanathan <257696045+SureshKViswanathan@users.noreply.github.com>
Update doc/test-automation-plan.md with completed work items, traceability tables, phase status, and summary (85/107 tests automated, 79%). Add Phase 15 to milestone.md with 12 deliverables. Add CHANGELOG.md entry under [Unreleased]. Update README.md project status with Phase 15. Co-authored-by: SureshKViswanathan <257696045+SureshKViswanathan@users.noreply.github.com>
Co-authored-by: SureshKViswanathan <257696045+SureshKViswanathan@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update documents after completing automation plan
Implement test automation plan (Phases A–D) and update documentation
Feb 21, 2026
Contributor
|
@copilot how to test on Mac? |
Contributor
Author
On macOS, the core library and CLI tests work out of the box — this is already covered by the # Build & run all core/CLI tests
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DBUILD_CLI_TOOLS=ON -DBUILD_JPIP_3D=ON
cmake --build build
ctest --test-dir build --output-on-failureThis runs all 13 CTest targets including the new Phase 15 tests (error callback, CLI verbose/version/missing-file, JPIP lifecycle). GUI testing on Mac requires SDL2 ( cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_GUI_TOOLS=ON -DBUILD_TESTING=ON -DBUILD_CLI_TOOLS=ON
cmake --build build
# Launch GUI manually (no Xvfb on macOS):
./build/bin/opj_jp3d_guiThe headless Packaging validation (pkg-config, find_package, CPack) also works on macOS: cmake --install build --prefix /tmp/openjp3d_install
export PKG_CONFIG_PATH=/tmp/openjp3d_install/lib/pkgconfig
pkg-config --modversion openjp3d
cmake -B /tmp/fptest -S tests/find_package_test -DCMAKE_PREFIX_PATH=/tmp/openjp3d_install
cmake --build /tmp/fptest |
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.
Implements Phases A–D of the test automation plan (
doc/test-automation-plan.md), raising automated coverage from 63% to 79% (85/107 manual tests). Updates all project documentation to reflect completion.Phase A — Test Data Generation
tests/generate_test_data.py: 10 deterministic datasets (TD-001–TD-010) with fixed seedsPhase B — C/CLI/JPIP Test Gaps
test_roundtrip.c— wired upDECODE_MSGmacro inopj_jp3d_decode()so the callback parameter is actually invoked on decode errors (previously accepted but(void)-cast)test_cli.c— verbose output content, missing-file error, decompress/dump/transcode--versiontest_server_lifecycle()intest_jpip3d.c— full create→load→handle→destroy cyclePhase C — CI Jobs
build-minimal: core-only build with all optional features OFFpackaging: install → pkg-config →find_package(OpenJP3D)→ CPack source tarballtests/find_package_test/: minimal external project forfind_packagevalidationPhase D — GUI Smoke Test
tests/test_gui.sh: headless L1 (launch/exit) + L2 (screenshot) under Xvfbgui-smokeCI job and CMakegui_smoketest target (Linux only)Documentation
doc/test-automation-plan.md: phases A–D marked ✅, traceability tables updatedmilestone.md: Phase 15 added (12 deliverables)CHANGELOG.md: entry under[Unreleased]README.md: project status updated💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.