Instruction file imported from beyazitkolemen/serverbond-windows (
.cursor/rules/long-service-tests.mdc). Copyright stays with the author.
Uzun MySQL ve PostgreSQL testleri
Gerçek MySQL veya PostgreSQL kurup başlatan testler dakikalar sürer. Birim testlerin ve Clippy’nin yerini tutmazlar.
Ne zaman çalışır
Yalnızca o servisin kaynağı, testi veya paket sabiti değiştiyse:
- MySQL:
src/database_inventory.rs,src/cloud/database_inventory.rs,src/cloud/mysql.rs,src/services.rs,tests/mysql_credentials.rs,tests/environment.rs,tests/preferences_runtime.rsvecatalog.jsoniçindekimysqlpaketi - PostgreSQL:
src/postgres.rs,src/cloud/postgres.rsvetools.jsoniçindekipostgrespaketi
Başka bir alanda (GitHub, Cloudflare, arayüz, proje kurulumu) yapılan işte bu testler çalıştırılmaz ve yayın işine zorunlu adım olarak eklenmez.
Komutlar
MySQL alanı değiştiyse:
cargo test -p serverbond-core --test mysql_credentials --test environment --test preferences_runtime -- --ignored --nocapture --test-threads=1
PostgreSQL alanı değiştiyse:
cargo test -p serverbond-core --lib postgres::credential_tests -- --ignored --nocapture --test-threads=1
cargo test -p serverbond-core --tests -- --ignored bu iki aileyi de içerir. Alan değişmeden bu komutun tamamını çalıştırma. Linux’ta bu testler zaten çalışmaz.
Yayın işi, önceki etiket ile yeni etiket arasındaki dosya ve paket farkını scripts/ai/select-release-tests.mjs ile inceler. Yalnızca etkilenen gerçek ortam testlerini çalıştırır; MySQL dosyasındaki dar bir değişiklik tüm PHP, Caddy ve diğer indirme testlerini başlatmaz. Tam servis turu gerektiğinde testleri Windows ortamında açıkça çalıştırın.