ci-platforms / darwin amd64 smoke (push) Skipped
ci / build (amd64, linux, ubuntu-24.04) (push) Failing after 15m28s
ci / release (push) Skipped
ci-platforms / windows amd64 smoke (push) Skipped
ci-platforms / darwin arm64 smoke (push) Skipped
ci / checks (push) Successful in 7m47s
27 lines
725 B
Go
27 lines
725 B
Go
package agentdiagnostics
|
|
|
|
import (
|
|
"encoding/json"
|
|
"strings"
|
|
"testing"
|
|
"unicode/utf8"
|
|
)
|
|
|
|
func TestSnapshotIsBoundedAndStable(t *testing.T) {
|
|
var rows []Row
|
|
for i := 12; i > 0; i-- {
|
|
rows = append(rows, Row{Code: "AES", File: "игра.aes", Line: i, Message: strings.Repeat("ошибка ", 110), BlocksPlay: i == 11})
|
|
}
|
|
data := Snapshot(rows)
|
|
var v struct {
|
|
Total int
|
|
Diagnostics []Row
|
|
}
|
|
if err := json.Unmarshal([]byte(data), &v); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if v.Total != 12 || len(v.Diagnostics) != 8 || v.Diagnostics[0].Line != 11 || v.Diagnostics[1].Line != 1 || rows[0].Line != 12 || len(v.Diagnostics[0].Message) > 390 || !utf8.ValidString(data) {
|
|
t.Fatalf("bad snapshot: %s", data)
|
|
}
|
|
}
|