Skip to content

Optimize integration test dependencies: core tests should only require core binaries #1281

@coderabbitai

Description

@coderabbitai

Problem

Currently, the integration tests require the full CLP package to be built before running any tests, even when only testing core functionality. This is due to the PackageConfig.__post_init__ validation in integration-tests/tests/utils/config.py which checks that the package directory is complete before any pytest execution begins.

Current Behavior

  • The tests:integration:core task depends on ::package
  • All integration tests validate both core binaries and package structure upfront
  • Core-only tests unnecessarily wait for full package build completion

Desired Behavior

  • Core tests (marked with the core pytest flag) should only require core binaries to be built
  • The tests:integration:core task dependency should be ::core instead of ::package
  • Package-specific tests can continue to depend on ::package

Technical Details

The issue stems from the current fixture architecture where PackageConfig validation runs for all test sessions regardless of which specific tests are being executed. This prevents selective dependency optimization based on test markers.

Solution

Restructure the pytest fixture system to:

  1. Allow conditional package validation based on test markers
  2. Enable core tests to run independently of package build status
  3. Maintain package validation for tests that actually require it

References

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions