# TT-017 — Integration-Test Makefile + Go-Binary **Type:** Task **Priority:** Medium **Labels:** testing, tooling **Depends on:** TT-014, TT-015, TT-016 **Blocks:** — --- ## Summary Verifiziere alle Makefile-Targets und das Go-Binary manuell durch atomare Smoke-Tests. Kein automatisiertes Test-Framework — Ausgabe wird visuell geprüft. ## Test-Schritte ### Go-Binary - [ ] `cd scripts/serve && go build -o serve .` → kein Fehler - [ ] `./scripts/serve/serve --help` → Flags werden angezeigt - [ ] `./scripts/serve/serve --dir build/apk --port 9999` ohne APK → Fehlermeldung klar ### Retention-Script - [ ] `bash scripts/apk_retention.sh --dir /tmp/test_apk` mit simulierten APK-Dummy-Dateien (touch) - [ ] 20 APKs 0.1.x → nach Lauf: 15 verbleiben - [ ] 5 APKs 0.1.x + 3 APKs 0.2.x → 0.1.x: 1 verbleibt (Release-Marker), 0.2.x: alle 3 ### Makefile Dev-Targets - [ ] `make help` → Ausgabe ohne Fehler - [ ] `make install` → `flutter pub get` erfolgreich - [ ] `make test` → 37 Tests grün - [ ] `make analyze` → No issues - [ ] `make format` → kein Fehler - [ ] `make clean` → build/ und coverage/ entfernt ### Makefile Build-Targets - [ ] `make build_serve` → Binary erstellt - [ ] `make build_web` → `build/web` vorhanden - [ ] `make build_linux` → `build/linux/x64/release/bundle/timetrack` vorhanden - [ ] `make db_schema` → Schema-Version + Tabellen sichtbar ### serve_apk Auto-Build - [ ] Binary löschen, dann `make serve_apk` → Binary wird transparent neu gebaut - [ ] Server startet, QR-Code erscheint im Terminal ## Acceptance Criteria - [ ] Alle Smoke-Tests grün - [ ] Kein Target bricht mit unerwartetem Fehler ab - [ ] `make help` enthält alle implementierten Targets