-
Notifications
You must be signed in to change notification settings - Fork 38
Unify fixture invocation #1080
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unify fixture invocation #1080
Conversation
05813b0 to
398b28e
Compare
0bf0f8b to
6cfa0b4
Compare
5deb640 to
f962afa
Compare
coretl
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haven't reviewed the python code yet, but here's a review of the devcontainer and ci...
f962afa to
d729efc
Compare
Created detailed markdown review document covering: - Strengths of the unified fixture approach - Critical issues requiring fixes before merge - Medium priority improvements - Minor suggestions and documentation needs
|
The following review was auto-generated by Claude Code: PR Review SummaryThanks for this PR! The unified fixture approach is a significant improvement to the testing infrastructure. The docker-outside-docker pattern is well-implemented and the overall architecture is sound. 🎉 ✅ Strengths
🔴 Critical Issues1. Race Condition in Process Termination (tests/conftest.py:404-417)After sending Recommendation: Add graceful shutdown with escalation to try:
os.killpg(os.getpgid(process.pid), signal.SIGTERM)
process.wait(timeout=5.0) # Grace period for clean exit
except TimeoutExpired:
os.killpg(os.getpgid(process.pid), signal.SIGKILL)
process.wait(timeout=stop_timeout)
except ProcessLookupError:
pass2. Missing Error Handling in Teardown (tests/conftest.py:399-404)If Recommendation:
3. Platform-Specific Code (tests/conftest.py:372)
🟡 Medium Priority Issues4. Type Checking (tests/conftest.py:333)elif type(docker_services) is str:Should use elif isinstance(docker_services, str):5. Missing Path Validation (tests/conftest.py:422-431)
Recommendation: example_services_path = os.environ.get("EXAMPLE_SERVICES_PATH")
if example_services_path:
compose_file = os.path.join(example_services_path, "compose.yaml")
if not os.path.exists(compose_file):
raise FileNotFoundError(f"Expected compose file not found: {compose_file}")
yield from docker_composer(...)6. Timeout Increase (test_adsim_system.py:37)
7. Missing DocstringsThe 🔵 Minor Suggestions
📝 Documentation SuggestionsConsider adding documentation for:
🚀 RecommendationApprove with minor changes Please address the critical issues (1, 2, 5) before merging. The medium priority issues would be Excellent work on this refactoring! The unified approach is much cleaner than the previous CI-specific setup. 👏 |
a6073ee to
182780b
Compare
This experimental PR addresses concerns in #1057.
What this accomplishes:
pytest tests/system_testsinside devcontainer if needed.