-
Notifications
You must be signed in to change notification settings - Fork 779
Expand file tree
/
Copy pathquick_test.sh
More file actions
executable file
·139 lines (128 loc) · 4.1 KB
/
quick_test.sh
File metadata and controls
executable file
·139 lines (128 loc) · 4.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/usr/bin/env bash
# Quick Environment Test - Linux/macOS
# This script tests the environment for ACE-Step
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "========================================"
echo "Quick Environment Test"
echo "========================================"
echo
OS_NAME="$(uname)"
ARCH="$(uname -m)"
echo "[Info] OS: $OS_NAME ($ARCH)"
echo
# Test 1: Check Python
echo "[Test 1] Checking Python..."
if command -v python3 &>/dev/null; then
echo "[PASS] Python3 found"
python3 --version
elif command -v python &>/dev/null; then
echo "[PASS] Python found"
python --version
else
echo "[INFO] Python not found in PATH"
fi
echo
# Test 2: Check uv
echo "[Test 2] Checking uv..."
UV_FOUND=0
if command -v uv &>/dev/null; then
echo "[PASS] uv found in PATH"
uv --version
UV_FOUND=1
else
echo "[INFO] uv not found in PATH"
if [[ -x "$HOME/.local/bin/uv" ]]; then
echo "[INFO] But uv exists at: $HOME/.local/bin/uv"
"$HOME/.local/bin/uv" --version
UV_FOUND=1
elif [[ -x "$HOME/.cargo/bin/uv" ]]; then
echo "[INFO] But uv exists at: $HOME/.cargo/bin/uv"
"$HOME/.cargo/bin/uv" --version
UV_FOUND=1
else
echo "[INFO] uv not installed"
fi
fi
echo
# Test 3: Check git
echo "[Test 3] Checking git..."
if command -v git &>/dev/null; then
echo "[PASS] git found"
git --version
else
echo "[INFO] git not found"
if [[ "$OS_NAME" == "Darwin" ]]; then
echo "Install: xcode-select --install or brew install git"
else
echo "Install: sudo apt install git or sudo yum install git"
fi
fi
echo
# Test 4: Check GPU / accelerator
echo "[Test 4] Checking GPU/accelerator..."
if [[ "$OS_NAME" == "Darwin" && "$ARCH" == "arm64" ]]; then
echo "[PASS] Apple Silicon detected (MPS/MLX available)"
# Check for MLX
if command -v python3 &>/dev/null; then
python3 -c "import mlx; print(f'MLX version: {mlx.__version__}')" 2>/dev/null && echo "[PASS] MLX is available" || echo "[INFO] MLX not installed (will be installed by uv sync)"
fi
elif [[ "$OS_NAME" == "Linux" ]]; then
if command -v nvidia-smi &>/dev/null; then
echo "[PASS] NVIDIA GPU detected"
nvidia-smi --query-gpu=name,memory.total --format=csv,noheader 2>/dev/null || echo " (could not query GPU details)"
else
echo "[INFO] NVIDIA GPU not detected (nvidia-smi not found)"
echo " CUDA is recommended for Linux. CPU mode may be very slow."
fi
else
echo "[INFO] No known accelerator detected"
fi
echo
# Test 5: Test internet connectivity
echo "[Test 5] Testing internet connectivity..."
if command -v curl &>/dev/null; then
if curl -s --connect-timeout 5 -o /dev/null -w "%{http_code}" https://astral.sh 2>/dev/null | grep -q "^[23]"; then
echo "[PASS] Can access astral.sh"
else
echo "[FAIL] Cannot access astral.sh"
fi
elif command -v wget &>/dev/null; then
if wget -q --spider --timeout=5 https://astral.sh 2>/dev/null; then
echo "[PASS] Can access astral.sh"
else
echo "[FAIL] Cannot access astral.sh"
fi
else
echo "[INFO] Neither curl nor wget found, skipping connectivity test"
fi
echo
# Test 6: Check pyproject.toml
echo "[Test 6] Checking project configuration..."
if [[ -f "$SCRIPT_DIR/pyproject.toml" ]]; then
echo "[PASS] pyproject.toml found"
echo
echo "Available scripts:"
grep -E "^(acestep|acestep-api|acestep-download) = " "$SCRIPT_DIR/pyproject.toml" 2>/dev/null || echo " (scripts section not found)"
else
echo "[FAIL] pyproject.toml not found"
fi
echo
# Summary
echo "========================================"
echo "Summary"
echo "========================================"
echo
if [[ $UV_FOUND -eq 1 ]]; then
echo "[RESULT] Environment: uv"
echo " Ready to use!"
if [[ "$OS_NAME" == "Darwin" && "$ARCH" == "arm64" ]]; then
echo " Recommended launcher: ./start_gradio_ui_macos.sh (MLX)"
else
echo " Recommended launcher: ./start_gradio_ui.sh"
fi
else
echo "[RESULT] No environment found"
echo " Action: Run ./install_uv.sh to install uv"
fi
echo