Skip to content

Conversation

@Bill-hbrhbr
Copy link
Contributor

@Bill-hbrhbr Bill-hbrhbr commented Feb 2, 2026

Description

This PR sets up the basic infrastructure for writing integration tests for yscope-clp-core. While the setup itself is straightforward, the main problem it addresses is running Python linting against the integration test project when yscope-clp-core is installed:

  • Pure linting does not require code execution, so it doesn't need to build the clp-s binary
  • Pure linting environment may not be capable of building clp-s (GitHub CI)
  • auditwheel repair fails when clp-s is missing because its purpose is to bundle required shared libraries into the wheel

Introducing a WITH_CORE flag for task python-wheels-yscope-clp-core allows flexible workflows. The core binary is included only when it is required.

This PR precedes #1934 to allow tests for ClpArchiveWriter to be written directly, with minimal infrastructure overhead.

Checklist

  • The PR satisfies the contribution guidelines.
  • This is a breaking change and that has been indicated in the PR title, OR this isn't a
    breaking change.
  • Necessary docs have been updated, OR no docs need to be updated.

Validation performed

  • task lint:py and task tests:integration:python-wheels-yscope-clp-core pass independently. The CI passes as well.

Summary by CodeRabbit

  • Tests

    • Added comprehensive integration tests for the Python CLP core binding library.
    • Introduced docstring accessibility validation to ensure proper API documentation exposure.
  • Chores

    • Updated build system configuration to support optional core functionality.
    • Enhanced test workflow dependencies and build processes for improved flexibility and control.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 2, 2026

Walkthrough

This pull request introduces a new integration test suite for the CLP core Python binding library. Changes include a test module validating docstring accessibility, conditional build configuration via a WITH_CORE flag in the build system, and new integration test tasks for assembling and testing Python wheels.

Changes

Cohort / File(s) Summary
Python Wheels Test Suite
integration-tests/tests/python-wheels/test_yscope_clp_core/__init__.py, integration-tests/tests/python-wheels/test_yscope_clp_core/test_yscope_clp_core.py
Added new integration test package with module initialization and docstring validation test for the CLP core Python binding library.
Build Configuration
taskfile.yaml
Introduced conditional WITH_CORE variable for python-wheels-yscope-clp-core task; removed hard dependency on core task; conditioned core execution, wheel repair, and CLP_S_EXE configuration on WITH_CORE flag.
Task Dependencies
taskfiles/lint.yaml, taskfiles/tests/integration.yaml
Expanded lint task dependencies to include Python wheels installation; added two new integration test tasks for building and testing yscope_clp_core wheels with environment propagation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the primary change: setting up testing infrastructure for the yscope_clp_core Python binding library, which is the main focus of this PR.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Ruff (0.14.14)
integration-tests/tests/python-wheels/test_yscope_clp_core/__init__.py

�[1;31mruff failed�[0m
�[1mCause:�[0m Failed to load extended configuration /tools/yscope-dev-utils/exports/lint-configs/python/ruff.toml (/integration-tests/pyproject.toml extends /tools/yscope-dev-utils/exports/lint-configs/python/ruff.toml)
�[1mCause:�[0m Failed to read /tools/yscope-dev-utils/exports/lint-configs/python/ruff.toml
�[1mCause:�[0m No such file or directory (os error 2)

integration-tests/tests/python-wheels/test_yscope_clp_core/test_yscope_clp_core.py

�[1;31mruff failed�[0m
�[1mCause:�[0m Failed to load extended configuration /tools/yscope-dev-utils/exports/lint-configs/python/ruff.toml (/integration-tests/pyproject.toml extends /tools/yscope-dev-utils/exports/lint-configs/python/ruff.toml)
�[1mCause:�[0m Failed to read /tools/yscope-dev-utils/exports/lint-configs/python/ruff.toml
�[1mCause:�[0m No such file or directory (os error 2)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Bill-hbrhbr Bill-hbrhbr changed the title feat(integration-tests): Set up testing infrastructure for python binding yscope_clp_core. feat(integration-tests): Set up testing infrastructure for python binding library yscope_clp_core. Feb 2, 2026
@Bill-hbrhbr Bill-hbrhbr marked this pull request as ready for review February 2, 2026 18:50
@Bill-hbrhbr Bill-hbrhbr requested a review from a team as a code owner February 2, 2026 18:50
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