deltaforge-real-time-cross-.../test.sh

39 lines
1002 B
Bash

#!/usr/bin/env bash
set -euo pipefail
echo "Running DeltaForge Skeleton tests..."
# Ensure Python is available
python3 -V
pip3 -V
# Build the package to verify packaging metadata compiles
python3 -m build || { echo "Build failed"; exit 1; }
echo "Running a minimal deterministic flow..."
python3 - << 'PY'
from deltaforge_skeleton.core import Asset, MarketSignal
from deltaforge_skeleton.adapters.equity_feed import EquityFeedAdapter
from deltaforge_skeleton.curator import Curator
from deltaforge_skeleton.execution import ExecutionEngine
from deltaforge_skeleton.backtester import Backtester
apple = Asset(symbol='AAPL')
sig = MarketSignal(asset=apple, price=150.0, timestamp=0.0, liquidity=1.0)
curator = Curator()
plan = curator.synthesize([sig])
engine = ExecutionEngine()
routes = engine.route(plan)
bt = Backtester()
replay = bt.replay(plan)
print("PLAN:", plan)
print("ROUTES:", routes)
print("REPLAY:", replay)
PY
echo "All good. Ready to publish once READY_TO_PUBLISH is created."