Files
beads/scripts/test_wsl2_wal.sh
jane 77423d367f chore: move WSL2 test scripts to scripts directory
For consistency with other shell scripts in the codebase.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 16:54:24 -08:00

45 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Test script to reproduce GH#1224 - SQLite WAL mode on WSL2 bind mounts
set -e
echo "=== Testing SQLite WAL mode on WSL2 bind mounts ==="
# Check if we're in WSL2
if ! grep -qi microsoft /proc/version; then
echo "Not running in WSL2, skipping test"
exit 0
fi
# Create test directory in different locations
test_paths=(
"/tmp/beads-test-wal" # /tmp (Linux filesystem)
"/mnt/c/temp/beads-test-wal" # Windows filesystem (if available)
)
# Add Docker Desktop bind mount if available
if [ -d "/mnt/wsl" ]; then
test_paths+=("/mnt/wsl/beads-test-wal") # Docker Desktop bind mount
fi
for test_path in "${test_paths[@]}"; do
echo ""
echo "Testing WAL mode at: $test_path"
# Create directory
mkdir -p "$test_path"
# Test with SQLite CLI
sqlite3 "$test_path/test.db" "PRAGMA journal_mode=WAL;" 2>&1 | head -1
# Check if WAL was actually enabled
journal_mode=$(sqlite3 "$test_path/test.db" "PRAGMA journal_mode;" 2>&1 | head -1)
echo "Journal mode: $journal_mode"
# Clean up
rm -rf "$test_path"
done
echo ""
echo "=== Test complete ==="