fix(perf): preserve proxy benchmark geometry
- commit
- 1f2c802d0707785cab979134db6a95645250a82c
- author
- brice · · 2026-08-01 05:00 UTC
- parent
- a03245a
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +16 -4
M internal/usecase/daemon/performance_benchmark_test.go +16 -4
| @@ -233,6 +233,21 @@ func TestProxyANSIBenchmarkFixtures(t *testing.T) { | |||
| 233 | 233 | } | |
| 234 | 234 | } | |
| 235 | 235 | ||
| 236 | + | func TestProxyANSIBenchmarkGeometry(t *testing.T) { | |
| 237 | + | newProxyANSIBenchmarkSession(t) | |
| 238 | + | } | |
| 239 | + | ||
| 240 | + | func newProxyANSIBenchmarkSession(t testing.TB) *proxySession { | |
| 241 | + | t.Helper() | |
| 242 | + | proxy, err := newProxySession(domain.RemoteSessionKey{Host: "benchmark", Name: "ansi"}, domain.Size{Cols: 120, Rows: 40 + tabChromeRows}) | |
| 243 | + | require.NoError(t, err) | |
| 244 | + | proxy.mu.Lock() | |
| 245 | + | contentSize := proxy.contentSize | |
| 246 | + | proxy.mu.Unlock() | |
| 247 | + | require.Equal(t, domain.Size{Cols: 120, Rows: 40}, contentSize) | |
| 248 | + | return proxy | |
| 249 | + | } | |
| 250 | + | ||
| 236 | 251 | type proxyANSIBenchmarkFixture struct { | |
| 237 | 252 | name string | |
| 238 | 253 | data []byte | |
| @@ -428,10 +443,7 @@ var daemonSnapshotTopologies = []daemonHistoryTopology{ | |||
| 428 | 443 | func BenchmarkProxyANSIApply(b *testing.B) { | |
| 429 | 444 | for _, fixture := range proxyANSIBenchmarkFixtures() { | |
| 430 | 445 | b.Run(fixture.name, func(b *testing.B) { | |
| 431 | - | proxy, err := newProxySession(domain.RemoteSessionKey{Host: "benchmark", Name: "ansi"}, domain.Size{Cols: 120, Rows: 40}) | |
| 432 | - | if err != nil { | |
| 433 | - | b.Fatal(err) | |
| 434 | - | } | |
| 446 | + | proxy := newProxyANSIBenchmarkSession(b) | |
| 435 | 447 | generation := proxy.linkGeneration | |
| 436 | 448 | state := uint64(0) | |
| 437 | 449 | b.ReportAllocs() | |
| @@ -233,6 +233,21 @@ func TestProxyANSIBenchmarkFixtures(t *testing.T) { | |||||
| 233 | } | 233 | } | ||
| 234 | } | 234 | } | ||
| 235 | 235 | ||||
| 236 | + | func TestProxyANSIBenchmarkGeometry(t *testing.T) { | |||
| 237 | + | newProxyANSIBenchmarkSession(t) | |||
| 238 | + | } | |||
| 239 | + | ||||
| 240 | + | func newProxyANSIBenchmarkSession(t testing.TB) *proxySession { | |||
| 241 | + | t.Helper() | |||
| 242 | + | proxy, err := newProxySession(domain.RemoteSessionKey{Host: "benchmark", Name: "ansi"}, domain.Size{Cols: 120, Rows: 40 + tabChromeRows}) | |||
| 243 | + | require.NoError(t, err) | |||
| 244 | + | proxy.mu.Lock() | |||
| 245 | + | contentSize := proxy.contentSize | |||
| 246 | + | proxy.mu.Unlock() | |||
| 247 | + | require.Equal(t, domain.Size{Cols: 120, Rows: 40}, contentSize) | |||
| 248 | + | return proxy | |||
| 249 | + | } | |||
| 250 | + | ||||
| 236 | type proxyANSIBenchmarkFixture struct { | 251 | type proxyANSIBenchmarkFixture struct { | ||
| 237 | name string | 252 | name string | ||
| 238 | data []byte | 253 | data []byte | ||
| @@ -428,10 +443,7 @@ var daemonSnapshotTopologies = []daemonHistoryTopology{ | |||||
| 428 | func BenchmarkProxyANSIApply(b *testing.B) { | 443 | func BenchmarkProxyANSIApply(b *testing.B) { | ||
| 429 | for _, fixture := range proxyANSIBenchmarkFixtures() { | 444 | for _, fixture := range proxyANSIBenchmarkFixtures() { | ||
| 430 | b.Run(fixture.name, func(b *testing.B) { | 445 | b.Run(fixture.name, func(b *testing.B) { | ||
| 431 | - | proxy, err := newProxySession(domain.RemoteSessionKey{Host: "benchmark", Name: "ansi"}, domain.Size{Cols: 120, Rows: 40}) | 446 | + | proxy := newProxyANSIBenchmarkSession(b) |
| 432 | - | if err != nil { | |||
| 433 | - | b.Fatal(err) | |||
| 434 | - | } | |||
| 435 | generation := proxy.linkGeneration | 447 | generation := proxy.linkGeneration | ||
| 436 | state := uint64(0) | 448 | state := uint64(0) | ||
| 437 | b.ReportAllocs() | 449 | b.ReportAllocs() | ||