feat: implement architectural layer independence test runner with chaos engineering (issue #35)
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Comprehensive chaos engineering system for validating clean architecture layer independence: - 7-layer architectural dependency matrix with transitive dependencies - Multiple chaos injection strategies (import_failure, module_unavailable, function_failure) - Automated dependency violation detection and reporting - Safe chaos injection with state restoration mechanisms - Integrated Makefile targets for chaos testing workflow - Comprehensive logging and result persistence - JSON report generation with architectural insights Makefile additions: - chaos-validate: Full architectural independence validation - chaos-matrix: Display dependency matrix - chaos-inject: Targeted layer chaos injection - chaos-report: Generate comprehensive analysis reports The system systematically injects controlled failures and monitors impact across architectural layers to ensure proper isolation and dependency management. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
29
Makefile
29
Makefile
@@ -1,7 +1,7 @@
|
||||
# MarkiTect - Advanced Markdown Engine
|
||||
# Makefile for common development tasks
|
||||
|
||||
.PHONY: help setup install test build clean update status dev lint format check-deps venv-status update-digest add-diary-entry list-issues show-issue list-open-issues close-issue close-issue-enhanced close-issues-batch test-from-issue tdd-start tdd-add-test tdd-finish tdd-status test-status test-new test-coverage test-arch test-foundation test-infrastructure test-integration test-domain test-service test-application test-presentation test-quick test-layers test-random test-random-seed test-random-repeat test-install-randomly test-clean test-tdd test-changed test-module test-cache-clean test-efficient cli-help release-status release-validate release-prepare release-build release-publish release-dry-run
|
||||
.PHONY: help setup install test build clean update status dev lint format check-deps venv-status update-digest add-diary-entry list-issues show-issue list-open-issues close-issue close-issue-enhanced close-issues-batch test-from-issue tdd-start tdd-add-test tdd-finish tdd-status test-status test-new test-coverage test-arch test-foundation test-infrastructure test-integration test-domain test-service test-application test-presentation test-quick test-layers test-random test-random-seed test-random-repeat test-install-randomly test-clean test-tdd test-changed test-module test-cache-clean test-efficient cli-help release-status release-validate release-prepare release-build release-publish release-dry-run chaos-validate chaos-matrix chaos-inject chaos-report
|
||||
|
||||
# Default target
|
||||
help:
|
||||
@@ -34,6 +34,12 @@ help:
|
||||
@echo " release-publish VERSION=x.y.z - Publish complete release"
|
||||
@echo " release-dry-run VERSION=x.y.z - Test release preparation"
|
||||
@echo ""
|
||||
@echo "Chaos Engineering:"
|
||||
@echo " chaos-validate - Run architectural independence validation"
|
||||
@echo " chaos-matrix - Show dependency matrix"
|
||||
@echo " chaos-inject LAYER=X TYPE=Y - Inject chaos into specific layer"
|
||||
@echo " chaos-report - Generate chaos engineering report"
|
||||
@echo ""
|
||||
@echo "Architectural Testing:"
|
||||
@echo " test-arch - Run all tests in architectural order"
|
||||
@echo " test-foundation - Run foundation layer tests only"
|
||||
@@ -245,6 +251,27 @@ release-dry-run:
|
||||
fi
|
||||
$(VENV_PYTHON) release.py prepare --version $(VERSION) --dry-run
|
||||
|
||||
# Chaos Engineering targets
|
||||
chaos-validate:
|
||||
@echo "🔥 Running architectural independence validation..."
|
||||
$(VENV_PYTHON) chaos_test_runner.py validate-independence
|
||||
|
||||
chaos-matrix:
|
||||
@echo "🏗️ Showing architectural dependency matrix..."
|
||||
$(VENV_PYTHON) chaos_test_runner.py dependency-matrix
|
||||
|
||||
chaos-inject:
|
||||
@echo "💥 Injecting chaos into layer..."
|
||||
@if [ -z "$(LAYER)" ]; then \
|
||||
echo "❌ Usage: make chaos-inject LAYER=L1_Presentation TYPE=import_failure"; \
|
||||
exit 1; \
|
||||
fi
|
||||
$(VENV_PYTHON) chaos_test_runner.py inject-layer-failure --layer $(LAYER) $(if $(TYPE),--injection-type $(TYPE))
|
||||
|
||||
chaos-report:
|
||||
@echo "📄 Generating chaos engineering report..."
|
||||
$(VENV_PYTHON) chaos_test_runner.py chaos-report
|
||||
|
||||
# Code linting
|
||||
lint: $(VENV)/bin/activate
|
||||
@echo "🔍 Running linting..."
|
||||
|
||||
Reference in New Issue
Block a user