migrated core_nest to mainroom
This commit is contained in:
83
mainroom/ctrl/sync-tests.sh
Executable file
83
mainroom/ctrl/sync-tests.sh
Executable file
@@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
# Sync tests to ward tester (standalone, no coupling)
|
||||
# Configure paths via environment variables
|
||||
#
|
||||
# Usage:
|
||||
# # Set env vars
|
||||
# export TEST_SOURCE_PATH=~/wdir/ama/amar_django_back/tests/contracts
|
||||
# export WARD_TESTS_PATH=~/wdir/ama/pawprint/ward/tools/tester/tests
|
||||
#
|
||||
# # Run sync
|
||||
# ./sync-tests-local.sh
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
SILENT_FAIL="${SILENT_FAIL:-false}"
|
||||
|
||||
# Load from .env.sync if it exists
|
||||
if [ -f "$SCRIPT_DIR/.env.sync" ]; then
|
||||
source "$SCRIPT_DIR/.env.sync"
|
||||
fi
|
||||
|
||||
# Check required vars
|
||||
if [ -z "$TEST_SOURCE_PATH" ]; then
|
||||
if [ "$SILENT_FAIL" = "true" ]; then
|
||||
exit 0
|
||||
fi
|
||||
echo "Error: TEST_SOURCE_PATH not set"
|
||||
echo ""
|
||||
echo "Set environment variables:"
|
||||
echo " export TEST_SOURCE_PATH=~/wdir/ama/amar_django_back/tests/contracts"
|
||||
echo " export WARD_TESTS_PATH=~/wdir/ama/pawprint/ward/tools/tester/tests"
|
||||
echo ""
|
||||
echo "Or create ctrl/.env.sync with these variables"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$WARD_TESTS_PATH" ]; then
|
||||
if [ "$SILENT_FAIL" = "true" ]; then
|
||||
exit 0
|
||||
fi
|
||||
echo "Error: WARD_TESTS_PATH not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Expand paths
|
||||
SOURCE=$(eval echo "$TEST_SOURCE_PATH")
|
||||
TARGET=$(eval echo "$WARD_TESTS_PATH")
|
||||
|
||||
if [ ! -d "$SOURCE" ]; then
|
||||
if [ "$SILENT_FAIL" = "true" ]; then
|
||||
exit 0
|
||||
fi
|
||||
echo "Error: Source directory not found: $SOURCE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=== Syncing Contract Tests ==="
|
||||
echo ""
|
||||
echo "Source: $SOURCE"
|
||||
echo "Target: $TARGET"
|
||||
echo ""
|
||||
|
||||
# Create target if it doesn't exist
|
||||
mkdir -p "$TARGET"
|
||||
|
||||
# Sync tests (use shared exclude file)
|
||||
rsync -av --delete \
|
||||
--exclude-from="$SCRIPT_DIR/.exclude" \
|
||||
"$SOURCE/" \
|
||||
"$TARGET/"
|
||||
|
||||
echo ""
|
||||
echo "[OK] Tests synced successfully"
|
||||
echo ""
|
||||
echo "Changes are immediately visible in Docker (volume mount)"
|
||||
echo "Just refresh your browser - no restart needed!"
|
||||
echo ""
|
||||
|
||||
# Count test files
|
||||
TEST_COUNT=$(find "$TARGET" -name "test_*.py" | wc -l)
|
||||
echo "Total test files: $TEST_COUNT"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user