#!/bin/bash # Run all CLI integration tests set -e # Colors for output GREEN='\033[0;32m' RED='\033[0;31m' NC='\033[0m' # No Color # Ensure mlf is built if [ ! -f "../../target/release/mlf" ]; then echo "Building mlf..." cd ../.. && cargo build --release && cd tests/cli fi # Add mlf to PATH export PATH="$PWD/../../target/release:$PATH" # Track results PASSED=0 FAILED=0 # Run all test scripts for test_file in $(find . -name "*.sh" -not -name "run_all.sh" | sort); do test_name=$(basename $(dirname $test_file))/$(basename $test_file) if bash "$test_file" > /dev/null 2>&1; then echo -e "${GREEN}✓${NC} $test_name" ((PASSED++)) else echo -e "${RED}✗${NC} $test_name" ((FAILED++)) fi done # Summary echo "" echo "Results: $PASSED passed, $FAILED failed" if [ $FAILED -gt 0 ]; then exit 1 fi