84b3b7d8e8
Adds a complete pytest system test suite for the HoneyBiscuitWorkshop CI/CD system: - runner.sh: orchestrates build, Docker image creation, and test execution - Dockerfile: Arch Linux-based test image with Python venv - conftest.py: shared fixtures (baker_bin, run_baker, work_dir, llm_env) - probes/: environment probes for checking users, files, packages, processes - llm/: LLM-based log judgment system with caching for semantic test evaluation - fixtures/: test configs and scripts for prebake, bake, and finalize stages - test_prebake.py, test_bake.py, test_finalize.py: test suites for each pipeline stage Also refactors finalize.yml.tmpl notification config to use a templates system.
37 lines
1014 B
Bash
Executable File
37 lines
1014 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Load LLM environment if available
|
|
if [ -f /workshop/llm.env ]; then
|
|
set -a
|
|
source /workshop/llm.env
|
|
set +a
|
|
fi
|
|
|
|
# Export test configuration
|
|
export BAKER_BIN=/workshop/workshop-baker
|
|
export EXAMPLES_DIR=/workshop/examples
|
|
export TEST_MODE=${TEST_MODE:-auto}
|
|
|
|
if [ "$TEST_MODE" = "manual" ]; then
|
|
echo "========================================"
|
|
echo " HoneyBiscuitWorkshop System Tests"
|
|
echo " Mode: MANUAL (interactive shell)"
|
|
echo "========================================"
|
|
echo ""
|
|
echo "Binary: $BAKER_BIN"
|
|
echo "Examples: $EXAMPLES_DIR"
|
|
echo ""
|
|
echo "Run tests manually:"
|
|
echo " cd /app && pytest tests/ -v"
|
|
echo ""
|
|
exec /bin/bash
|
|
else
|
|
echo "========================================"
|
|
echo " HoneyBiscuitWorkshop System Tests"
|
|
echo " Mode: AUTO (running pytest)"
|
|
echo "========================================"
|
|
cd /app
|
|
exec python -m pytest tests/ -v --tb=short --junitxml=/results/report.xml "$@"
|
|
fi
|