test(app): build the Linux-only daemon tests only on Linux
- commit
- 665fa7b80a4b0614e9bca3fcd3624dc1c84380f2
- author
- brice · · 2026-09-23 21:37 UTC
- parent
- 3b7ecba
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
4 files · +39 -18
M internal/app/attach_missing_prompt_test.go +2 -0
| @@ -1,3 +1,5 @@ | |||
| 1 | + | //go:build linux | |
| 2 | + | ||
| 1 | 3 | package app | |
| 2 | 4 | ||
| 3 | 5 | // Attach-missing create prompt (Plan 003 E4). | |
| @@ -1,3 +1,5 @@ | |||||
| 1 | + | //go:build linux | |||
| 2 | + | ||||
| 1 | package app | 3 | package app | ||
| 2 | 4 | ||||
| 3 | // Attach-missing create prompt (Plan 003 E4). | 5 | // Attach-missing create prompt (Plan 003 E4). | ||
M internal/app/broker_composition_test.go +2 -0
| @@ -1,3 +1,5 @@ | |||
| 1 | + | //go:build linux | |
| 2 | + | ||
| 1 | 3 | package app | |
| 2 | 4 | ||
| 3 | 5 | import ( | |
| @@ -1,3 +1,5 @@ | |||||
| 1 | + | //go:build linux | |||
| 2 | + | ||||
| 1 | package app | 3 | package app | ||
| 2 | 4 | ||||
| 3 | import ( | 5 | import ( | ||
A internal/app/broker_local_fixture_test.go +33 -0
| @@ -0,0 +1,33 @@ | |||
| 1 | + | package app | |
| 2 | + | ||
| 3 | + | import ( | |
| 4 | + | "encoding/json" | |
| 5 | + | "testing" | |
| 6 | + | ||
| 7 | + | "github.com/stretchr/testify/require" | |
| 8 | + | ||
| 9 | + | "github.com/bnema/vev/internal/ports" | |
| 10 | + | "github.com/bnema/vev/internal/protocol" | |
| 11 | + | "github.com/bnema/vev/internal/protocol/catalogue" | |
| 12 | + | ) | |
| 13 | + | ||
| 14 | + | // Portable local-broker fixtures shared by Linux-only daemon tests and | |
| 15 | + | // portable broker tests. | |
| 16 | + | ||
| 17 | + | const ( | |
| 18 | + | brokerLocalTestIdentity = "offline-local-daemon" | |
| 19 | + | brokerLocalTestEpoch = ports.BrokerEpoch(11) | |
| 20 | + | ) | |
| 21 | + | ||
| 22 | + | // testLocalCatalogue builds one exact-schema catalogue carrying the supplied | |
| 23 | + | // sessions, marshalled exactly as the daemon's remote-catalog command does. | |
| 24 | + | func testLocalCatalogue(t *testing.T, sessions ...catalogue.RemoteCatalogSession) string { | |
| 25 | + | t.Helper() | |
| 26 | + | encoded, err := json.Marshal(catalogue.RemoteCatalog{ | |
| 27 | + | ProtocolVersion: protocol.Version, | |
| 28 | + | SchemaVersion: catalogue.RemoteCatalogSchemaVersion, | |
| 29 | + | Sessions: sessions, | |
| 30 | + | }) | |
| 31 | + | require.NoError(t, err) | |
| 32 | + | return string(encoded) + "\n" | |
| 33 | + | } | |
| @@ -0,0 +1,33 @@ | |||||
| 1 | + | package app | |||
| 2 | + | ||||
| 3 | + | import ( | |||
| 4 | + | "encoding/json" | |||
| 5 | + | "testing" | |||
| 6 | + | ||||
| 7 | + | "github.com/stretchr/testify/require" | |||
| 8 | + | ||||
| 9 | + | "github.com/bnema/vev/internal/ports" | |||
| 10 | + | "github.com/bnema/vev/internal/protocol" | |||
| 11 | + | "github.com/bnema/vev/internal/protocol/catalogue" | |||
| 12 | + | ) | |||
| 13 | + | ||||
| 14 | + | // Portable local-broker fixtures shared by Linux-only daemon tests and | |||
| 15 | + | // portable broker tests. | |||
| 16 | + | ||||
| 17 | + | const ( | |||
| 18 | + | brokerLocalTestIdentity = "offline-local-daemon" | |||
| 19 | + | brokerLocalTestEpoch = ports.BrokerEpoch(11) | |||
| 20 | + | ) | |||
| 21 | + | ||||
| 22 | + | // testLocalCatalogue builds one exact-schema catalogue carrying the supplied | |||
| 23 | + | // sessions, marshalled exactly as the daemon's remote-catalog command does. | |||
| 24 | + | func testLocalCatalogue(t *testing.T, sessions ...catalogue.RemoteCatalogSession) string { | |||
| 25 | + | t.Helper() | |||
| 26 | + | encoded, err := json.Marshal(catalogue.RemoteCatalog{ | |||
| 27 | + | ProtocolVersion: protocol.Version, | |||
| 28 | + | SchemaVersion: catalogue.RemoteCatalogSchemaVersion, | |||
| 29 | + | Sessions: sessions, | |||
| 30 | + | }) | |||
| 31 | + | require.NoError(t, err) | |||
| 32 | + | return string(encoded) + "\n" | |||
| 33 | + | } | |||
M internal/app/broker_offline_local_test.go +2 -18
| @@ -1,3 +1,5 @@ | |||
| 1 | + | //go:build linux | |
| 2 | + | ||
| 1 | 3 | package app | |
| 2 | 4 | ||
| 3 | 5 | import ( | |
| @@ -29,11 +31,6 @@ import ( | |||
| 29 | 31 | "github.com/bnema/vev/internal/usecase/broker" | |
| 30 | 32 | ) | |
| 31 | 33 | ||
| 32 | - | const ( | |
| 33 | - | brokerLocalTestIdentity = "offline-local-daemon" | |
| 34 | - | brokerLocalTestEpoch = ports.BrokerEpoch(11) | |
| 35 | - | ) | |
| 36 | - | ||
| 37 | 34 | // testLocalSandboxConfig composes the production local authority with a | |
| 38 | 35 | // daemon-owned identity under private XDG directories. | |
| 39 | 36 | func testLocalSandboxConfig(t *testing.T) (*brokerconfig.Config, brokerconfig.LocalBinding) { | |
| @@ -81,19 +78,6 @@ func unreachableCarriageConnector(t *testing.T) ports.BrokerEndpointConnector { | |||
| 81 | 78 | }) | |
| 82 | 79 | } | |
| 83 | 80 | ||
| 84 | - | // testLocalCatalogue builds one exact-schema catalogue carrying the supplied | |
| 85 | - | // sessions, marshalled exactly as the daemon's remote-catalog command does. | |
| 86 | - | func testLocalCatalogue(t *testing.T, sessions ...catalogue.RemoteCatalogSession) string { | |
| 87 | - | t.Helper() | |
| 88 | - | encoded, err := json.Marshal(catalogue.RemoteCatalog{ | |
| 89 | - | ProtocolVersion: protocol.Version, | |
| 90 | - | SchemaVersion: catalogue.RemoteCatalogSchemaVersion, | |
| 91 | - | Sessions: sessions, | |
| 92 | - | }) | |
| 93 | - | require.NoError(t, err) | |
| 94 | - | return string(encoded) + "\n" | |
| 95 | - | } | |
| 96 | - | ||
| 97 | 81 | // testLocalUpSession builds one exact, attachable catalogue session with an | |
| 98 | 82 | // ordered tab list. | |
| 99 | 83 | func testLocalUpSession(lifecycle domain.SessionLifecycleID, name string) catalogue.RemoteCatalogSession { | |
| @@ -1,3 +1,5 @@ | |||||
| 1 | + | //go:build linux | |||
| 2 | + | ||||
| 1 | package app | 3 | package app | ||
| 2 | 4 | ||||
| 3 | import ( | 5 | import ( | ||
| @@ -29,11 +31,6 @@ import ( | |||||
| 29 | "github.com/bnema/vev/internal/usecase/broker" | 31 | "github.com/bnema/vev/internal/usecase/broker" | ||
| 30 | ) | 32 | ) | ||
| 31 | 33 | ||||
| 32 | - | const ( | |||
| 33 | - | brokerLocalTestIdentity = "offline-local-daemon" | |||
| 34 | - | brokerLocalTestEpoch = ports.BrokerEpoch(11) | |||
| 35 | - | ) | |||
| 36 | - | ||||
| 37 | // testLocalSandboxConfig composes the production local authority with a | 34 | // testLocalSandboxConfig composes the production local authority with a | ||
| 38 | // daemon-owned identity under private XDG directories. | 35 | // daemon-owned identity under private XDG directories. | ||
| 39 | func testLocalSandboxConfig(t *testing.T) (*brokerconfig.Config, brokerconfig.LocalBinding) { | 36 | func testLocalSandboxConfig(t *testing.T) (*brokerconfig.Config, brokerconfig.LocalBinding) { | ||
| @@ -81,19 +78,6 @@ func unreachableCarriageConnector(t *testing.T) ports.BrokerEndpointConnector { | |||||
| 81 | }) | 78 | }) | ||
| 82 | } | 79 | } | ||
| 83 | 80 | ||||
| 84 | - | // testLocalCatalogue builds one exact-schema catalogue carrying the supplied | |||
| 85 | - | // sessions, marshalled exactly as the daemon's remote-catalog command does. | |||
| 86 | - | func testLocalCatalogue(t *testing.T, sessions ...catalogue.RemoteCatalogSession) string { | |||
| 87 | - | t.Helper() | |||
| 88 | - | encoded, err := json.Marshal(catalogue.RemoteCatalog{ | |||
| 89 | - | ProtocolVersion: protocol.Version, | |||
| 90 | - | SchemaVersion: catalogue.RemoteCatalogSchemaVersion, | |||
| 91 | - | Sessions: sessions, | |||
| 92 | - | }) | |||
| 93 | - | require.NoError(t, err) | |||
| 94 | - | return string(encoded) + "\n" | |||
| 95 | - | } | |||
| 96 | - | ||||
| 97 | // testLocalUpSession builds one exact, attachable catalogue session with an | 81 | // testLocalUpSession builds one exact, attachable catalogue session with an | ||
| 98 | // ordered tab list. | 82 | // ordered tab list. | ||
| 99 | func testLocalUpSession(lifecycle domain.SessionLifecycleID, name string) catalogue.RemoteCatalogSession { | 83 | func testLocalUpSession(lifecycle domain.SessionLifecycleID, name string) catalogue.RemoteCatalogSession { | ||