Skip to main content

run-tests

Run ctest validation tests on a built product

Source facts

Repository
openshift/cac-content-fork
Last source activity
March 4, 2026 at 13:31
Detected SKILL.md language
English
Stars
6
Forks
6

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
run-tests
description
Run ctest validation tests on a built product
# Run Validation Tests Run the ctest validation suite against built content in `build/`. ## Tool Strategy This skill uses `mcp__content-mcp__*` tools when available (preferred — deterministic, structured results). When the MCP server is not configured, fall back to filesystem-based alternatives noted as **Fallback** in each step. See `.claude/skills/shared/mcp_fallbacks.md` for detailed fallback procedures. The skill must complete successfully either way. ## Phase 1: Verify Build Exists 1. **Check that the build directory exists and contains content**: Use `mcp__content-mcp__list_built_products` to check which products have been built and have artifacts available. **Fallback**: Run `ls build/ssg-*-ds.xml 2>/dev/null` to check for built datastreams. 2. **If no build artifacts found**, inform the user: - No built products found in `build/` - Suggest running `/build-product <product>` first ## Phase 2: Run Validation Tests Run the full test suite: ```bash cd build && ctest -j$(nproc) --output-on-failure ``` This includes: - YAML syntax validation - Schema validation - Reference checking - Python unit tests - Content validation - Cross-reference checking ## Phase 3: Analyze Test Results ### Success Output ``` Test Results Summary ==================== Tests: ALL PASSED Validation: COMPLETE ``` ### Failure Output ``` Test Results Summary ==================== Tests: FAILURES DETECTED - X/Y tests passed Failed Tests: 1. test-yaml-syntax-<product> - File: linux_os/guide/.../rule.yml - Error: Invalid YAML at line 15 2. test-oval-schema-<product> - File: build/ssg-<product>-oval.xml - Error: Element 'object': Missing required attribute 'id' Suggested Fixes: 1. Check YAML syntax in the indicated file 2. Review OVAL generation for the affected rule ``` ## Phase 4: Lint Checks (Optional) Ask if user wants additional lint checks: ### ShellCheck (Bash scripts) ```bash find linux_os/guide -name "*.sh" -exec shellcheck {} \; ``` ### ansible-lint (Ansible playbooks) ```bash ansible-lint build/ansible/*-playbook-*.yml ``` ### yamllint (YAML files) ```bash yamllint linux_os/guide/ ``` ### Python linting ```bash ruff check ssg/ # or tox -e flake8 ``` ## Phase 5: Generate Statistics (Optional) Ask if user wants build statistics: ```bash cd build make <product>-stats ``` This generates: - Rule count per profile - Coverage statistics - Reference mapping summary ## Phase 6: Report Results ### Full Success Report ``` Validation Complete =================== Test Status: ALL PASSED Ready for: - Automatus testing: /test-rule <rule_id> - PR creation ``` ### Failure Report ``` Validation Complete =================== Test Status: FAILURES DETECTED - See details above Action Required: 1. Fix the failing tests before proceeding 2. Re-run: /run-tests Common fixes: - YAML syntax: Check indentation and special characters - OVAL errors: Review template usage in rule.yml - Missing references: Add required identifiers ```
View on GitHub