test(environment): harden boundary coverage
- commit
- f58a587641f48430cdc4190f9ee089cc60aa2b7d
- author
- brice · · 2026-07-15 06:19 UTC
- parent
- d1042d0
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +17 -3
M internal/ports/wire_test.go +2 -0
| @@ -135,6 +135,8 @@ func TestHelloEnvironmentCodec(t *testing.T) { | |||
| 135 | 135 | 0x00, 0x00, 0x00, 0x06, 'X', 'Y', '=', '1', '2', '3', | |
| 136 | 136 | } | |
| 137 | 137 | require.Equal(t, want, got) | |
| 138 | + | assertAllPrefixesFail(t, got, UnmarshalHello) | |
| 139 | + | assertTrailingGarbageFails(t, got, UnmarshalHello) | |
| 138 | 140 | }) | |
| 139 | 141 | ||
| 140 | 142 | t.Run("lossless order and values", func(t *testing.T) { | |
| @@ -135,6 +135,8 @@ func TestHelloEnvironmentCodec(t *testing.T) { | |||||
| 135 | 0x00, 0x00, 0x00, 0x06, 'X', 'Y', '=', '1', '2', '3', | 135 | 0x00, 0x00, 0x00, 0x06, 'X', 'Y', '=', '1', '2', '3', | ||
| 136 | } | 136 | } | ||
| 137 | require.Equal(t, want, got) | 137 | require.Equal(t, want, got) | ||
| 138 | + | assertAllPrefixesFail(t, got, UnmarshalHello) | |||
| 139 | + | assertTrailingGarbageFails(t, got, UnmarshalHello) | |||
| 138 | }) | 140 | }) | ||
| 139 | 141 | ||||
| 140 | t.Run("lossless order and values", func(t *testing.T) { | 142 | t.Run("lossless order and values", func(t *testing.T) { | ||
M internal/usecase/daemon/session_test.go +15 -3
| @@ -1482,7 +1482,19 @@ func TestChildEnvFromPreservesNonReservedEntriesVerbatimAndInOrder(t *testing.T) | |||
| 1482 | 1482 | } | |
| 1483 | 1483 | ||
| 1484 | 1484 | func TestShellFromEnvironmentFallsBackOnlyWhenAbsentOrEmpty(t *testing.T) { | |
| 1485 | - | require.Equal(t, "/bin/sh", shellFromEnvironment(nil)) | |
| 1486 | - | require.Equal(t, "/bin/sh", shellFromEnvironment([]string{"SHELL="})) | |
| 1487 | - | require.Equal(t, "/usr/bin/fish", shellFromEnvironment([]string{"SHELL=/usr/bin/fish"})) | |
| 1485 | + | tests := []struct { | |
| 1486 | + | name string | |
| 1487 | + | env []string | |
| 1488 | + | want string | |
| 1489 | + | }{ | |
| 1490 | + | {name: "absent", want: "/bin/sh"}, | |
| 1491 | + | {name: "empty", env: []string{"SHELL="}, want: "/bin/sh"}, | |
| 1492 | + | {name: "set", env: []string{"SHELL=/usr/bin/fish"}, want: "/usr/bin/fish"}, | |
| 1493 | + | } | |
| 1494 | + | ||
| 1495 | + | for _, tt := range tests { | |
| 1496 | + | t.Run(tt.name, func(t *testing.T) { | |
| 1497 | + | require.Equal(t, tt.want, shellFromEnvironment(tt.env)) | |
| 1498 | + | }) | |
| 1499 | + | } | |
| 1488 | 1500 | } | |
| @@ -1482,7 +1482,19 @@ func TestChildEnvFromPreservesNonReservedEntriesVerbatimAndInOrder(t *testing.T) | |||||
| 1482 | } | 1482 | } | ||
| 1483 | 1483 | ||||
| 1484 | func TestShellFromEnvironmentFallsBackOnlyWhenAbsentOrEmpty(t *testing.T) { | 1484 | func TestShellFromEnvironmentFallsBackOnlyWhenAbsentOrEmpty(t *testing.T) { | ||
| 1485 | - | require.Equal(t, "/bin/sh", shellFromEnvironment(nil)) | 1485 | + | tests := []struct { |
| 1486 | - | require.Equal(t, "/bin/sh", shellFromEnvironment([]string{"SHELL="})) | 1486 | + | name string |
| 1487 | - | require.Equal(t, "/usr/bin/fish", shellFromEnvironment([]string{"SHELL=/usr/bin/fish"})) | 1487 | + | env []string |
| 1488 | + | want string | |||
| 1489 | + | }{ | |||
| 1490 | + | {name: "absent", want: "/bin/sh"}, | |||
| 1491 | + | {name: "empty", env: []string{"SHELL="}, want: "/bin/sh"}, | |||
| 1492 | + | {name: "set", env: []string{"SHELL=/usr/bin/fish"}, want: "/usr/bin/fish"}, | |||
| 1493 | + | } | |||
| 1494 | + | ||||
| 1495 | + | for _, tt := range tests { | |||
| 1496 | + | t.Run(tt.name, func(t *testing.T) { | |||
| 1497 | + | require.Equal(t, tt.want, shellFromEnvironment(tt.env)) | |||
| 1498 | + | }) | |||
| 1499 | + | } | |||
| 1488 | } | 1500 | } | ||