annator-command-center / tests /integration /scripts /run_quality_tests.sh
techprotrade's picture
Deploy ATOM FastAPI command center runtime (part 8)
aef804e verified
Raw
History Blame Contribute Delete
2.41 kB
#!/bin/bash
# Quality Test Runner Script
# Runs quality tests for flakiness detection and collection stability
# Change to backend directory
cd "$(dirname "$0")/../../../" || exit 1
# Default values
REPEAT=""
RANDOM_SEED=""
TEST_PATH="tests/integration/quality/"
# Parse command line arguments
while [[ $# -gt 0 ]]; do
case $1 in
--repeat=*)
REPEAT="${1#*=}"
shift
;;
--repeat)
REPEAT="$2"
shift 2
;;
--random-seed=*)
RANDOM_SEED="${1#*=}"
shift
;;
--random-seed)
RANDOM_SEED="$2"
shift 2
;;
--help)
echo "Usage: $0 [OPTIONS]"
echo ""
echo "Options:"
echo " --repeat=N Number of repeats for flakiness detection"
echo " --random-seed=N Specific random seed for reproducibility"
echo " --help Show this help message"
echo ""
echo "Examples:"
echo " $0 # Run all quality tests"
echo " $0 --repeat=5 # Run tests 5 times"
echo " $0 --repeat=5 --random-seed=1234 # Run with specific seed"
exit 0
;;
*)
echo "Unknown option: $1"
echo "Use --help for usage information"
exit 1
;;
esac
done
# Build pytest command
PYTEST_CMD="pytest -v $TEST_PATH"
# Add random seed if specified
if [ -n "$RANDOM_SEED" ]; then
PYTEST_CMD="$PYTEST_CMD --randomly-seed=$RANDOM_SEED"
fi
# Add repeat count if specified
if [ -n "$REPEAT" ]; then
PYTEST_CMD="$PYTEST_CMD --count=$REPEAT"
fi
# Print command
echo "Running: $PYTEST_CMD"
echo ""
echo "Quality tests detect flakiness and collection stability issues"
echo ""
# Run pytest and capture exit code
eval "$PYTEST_CMD"
EXIT_CODE=$?
# Print summary
echo ""
if [ $EXIT_CODE -eq 0 ]; then
echo "✓ Quality tests passed"
if [ -n "$REPEAT" ]; then
echo " Flakiness rate: 0% (all $REPEAT repeats passed)"
fi
else
echo "✗ Quality tests failed"
if [ -n "$REPEAT" ]; then
echo " Check for flaky tests that failed in some repeats"
fi
fi
exit $EXIT_CODE