From 1b0b024a0e836548591d135238a823465204043d Mon Sep 17 00:00:00 2001 From: Ethan Dickson Date: Fri, 22 May 2026 09:45:20 +0000 Subject: [PATCH] chore: standardize on *_internal_test.go for white-box tests The 'testpackage' linter's default skip-regexp already exempts files named *_internal_test.go, so a //nolint:testpackage directive on a regular *_test.go file is unnecessary. Rename 51 such files (via git mv so history follows) and strip the dead directive from 2 files that were already correctly named. Document the convention in .claude/docs/TESTING.md so agents stop re-introducing the directive. --- .claude/docs/TESTING.md | 36 ++++++++++++------- ...st.go => reconnectingpty_internal_test.go} | 1 - ...go => write_secret_files_internal_test.go} | 2 +- ...idump_test.go => apidump_internal_test.go} | 2 +- ...aders_test.go => headers_internal_test.go} | 2 +- ...ing_test.go => streaming_internal_test.go} | 2 +- .../{base_test.go => base_internal_test.go} | 2 +- ...king_test.go => blocking_internal_test.go} | 2 +- ...ap_test.go => paramswrap_internal_test.go} | 2 +- ...ing_test.go => streaming_internal_test.go} | 2 +- .../{base_test.go => base_internal_test.go} | 2 +- ...king_test.go => blocking_internal_test.go} | 2 +- ...ad_test.go => reqpayload_internal_test.go} | 2 +- ...ing_test.go => streaming_internal_test.go} | 2 +- .../{base_test.go => base_internal_test.go} | 2 +- ...king_test.go => blocking_internal_test.go} | 2 +- ...ad_test.go => reqpayload_internal_test.go} | 2 +- ...ing_test.go => streaming_internal_test.go} | 2 +- ...idump_test.go => apidump_internal_test.go} | 2 +- ...bridge_test.go => bridge_internal_test.go} | 2 +- ...st.go => circuit_breaker_internal_test.go} | 2 +- ...t.go => keypool_failover_internal_test.go} | 2 +- ...trics_test.go => metrics_internal_test.go} | 2 +- ...ses_test.go => responses_internal_test.go} | 2 +- .../{trace_test.go => trace_internal_test.go} | 2 +- ...h_test.go => passthrough_internal_test.go} | 2 +- ...pic_test.go => anthropic_internal_test.go} | 2 +- ...pilot_test.go => copilot_internal_test.go} | 2 +- ...openai_test.go => openai_internal_test.go} | 2 +- .../oauth2provider/authorize_internal_test.go | 1 - coderd/templates_meta_update_internal_test.go | 2 +- coderd/x/chatd/advisor_internal_test.go | 2 +- ...s_test.go => attachments_internal_test.go} | 2 +- ...est.go => model_coverage_internal_test.go} | 2 +- ...o => model_normalization_internal_test.go} | 2 +- ...rder_test.go => recorder_internal_test.go} | 2 +- ...ep_test.go => reuse_step_internal_test.go} | 2 +- ...ort_test.go => transport_internal_test.go} | 2 +- ..._test.go => chatloop_run_internal_test.go} | 2 +- ...on_test.go => compaction_internal_test.go} | 2 +- ...st.go => askuserquestion_internal_test.go} | 2 +- ...st.go => createworkspace_internal_test.go} | 2 +- ...e_test.go => configcache_internal_test.go} | 2 +- ...est.go => dialvalidation_internal_test.go} | 2 +- ...n_test.go => instruction_internal_test.go} | 2 +- ...kgen_test.go => quickgen_internal_test.go} | 2 +- ...=> store_chat_attachment_internal_test.go} | 2 +- ...est.go => title_override_internal_test.go} | 2 +- ...it_test.go => usagelimit_internal_test.go} | 2 +- ...on_test.go => pagination_internal_test.go} | 1 - ...onn_test.go => agentconn_internal_test.go} | 1 - ...runner_test.go => runner_internal_test.go} | 2 +- 52 files changed, 70 insertions(+), 64 deletions(-) rename agent/reconnectingpty/{reconnectingpty_test.go => reconnectingpty_internal_test.go} (97%) rename agent/{write_secret_files_test.go => write_secret_files_internal_test.go} (98%) rename aibridge/intercept/apidump/{apidump_test.go => apidump_internal_test.go} (99%) rename aibridge/intercept/apidump/{headers_test.go => headers_internal_test.go} (97%) rename aibridge/intercept/apidump/{streaming_test.go => streaming_internal_test.go} (97%) rename aibridge/intercept/chatcompletions/{base_test.go => base_internal_test.go} (99%) rename aibridge/intercept/chatcompletions/{blocking_test.go => blocking_internal_test.go} (99%) rename aibridge/intercept/chatcompletions/{paramswrap_test.go => paramswrap_internal_test.go} (98%) rename aibridge/intercept/chatcompletions/{streaming_test.go => streaming_internal_test.go} (99%) rename aibridge/intercept/messages/{base_test.go => base_internal_test.go} (99%) rename aibridge/intercept/messages/{blocking_test.go => blocking_internal_test.go} (99%) rename aibridge/intercept/messages/{reqpayload_test.go => reqpayload_internal_test.go} (99%) rename aibridge/intercept/messages/{streaming_test.go => streaming_internal_test.go} (99%) rename aibridge/intercept/responses/{base_test.go => base_internal_test.go} (99%) rename aibridge/intercept/responses/{blocking_test.go => blocking_internal_test.go} (99%) rename aibridge/intercept/responses/{reqpayload_test.go => reqpayload_internal_test.go} (99%) rename aibridge/intercept/responses/{streaming_test.go => streaming_internal_test.go} (99%) rename aibridge/internal/integrationtest/{apidump_test.go => apidump_internal_test.go} (99%) rename aibridge/internal/integrationtest/{bridge_test.go => bridge_internal_test.go} (99%) rename aibridge/internal/integrationtest/{circuit_breaker_test.go => circuit_breaker_internal_test.go} (99%) rename aibridge/internal/integrationtest/{keypool_failover_test.go => keypool_failover_internal_test.go} (99%) rename aibridge/internal/integrationtest/{metrics_test.go => metrics_internal_test.go} (99%) rename aibridge/internal/integrationtest/{responses_test.go => responses_internal_test.go} (99%) rename aibridge/internal/integrationtest/{trace_test.go => trace_internal_test.go} (99%) rename aibridge/{passthrough_test.go => passthrough_internal_test.go} (99%) rename aibridge/provider/{anthropic_test.go => anthropic_internal_test.go} (99%) rename aibridge/provider/{copilot_test.go => copilot_internal_test.go} (99%) rename aibridge/provider/{openai_test.go => openai_internal_test.go} (99%) rename coderd/x/chatd/{attachments_test.go => attachments_internal_test.go} (99%) rename coderd/x/chatd/chatdebug/{model_coverage_test.go => model_coverage_internal_test.go} (99%) rename coderd/x/chatd/chatdebug/{model_normalization_test.go => model_normalization_internal_test.go} (99%) rename coderd/x/chatd/chatdebug/{recorder_test.go => recorder_internal_test.go} (98%) rename coderd/x/chatd/chatdebug/{reuse_step_test.go => reuse_step_internal_test.go} (97%) rename coderd/x/chatd/chatdebug/{transport_test.go => transport_internal_test.go} (99%) rename coderd/x/chatd/chatloop/{chatloop_test.go => chatloop_run_internal_test.go} (99%) rename coderd/x/chatd/chatloop/{compaction_test.go => compaction_internal_test.go} (99%) rename coderd/x/chatd/chattool/{askuserquestion_test.go => askuserquestion_internal_test.go} (98%) rename coderd/x/chatd/chattool/{createworkspace_test.go => createworkspace_internal_test.go} (99%) rename coderd/x/chatd/{configcache_test.go => configcache_internal_test.go} (99%) rename coderd/x/chatd/{dialvalidation_test.go => dialvalidation_internal_test.go} (99%) rename coderd/x/chatd/{instruction_test.go => instruction_internal_test.go} (99%) rename coderd/x/chatd/{quickgen_test.go => quickgen_internal_test.go} (99%) rename coderd/x/chatd/{store_chat_attachment_test.go => store_chat_attachment_internal_test.go} (99%) rename coderd/x/chatd/{title_override_test.go => title_override_internal_test.go} (99%) rename coderd/x/chatd/{usagelimit_test.go => usagelimit_internal_test.go} (98%) rename codersdk/{pagination_test.go => pagination_internal_test.go} (98%) rename codersdk/workspacesdk/{agentconn_test.go => agentconn_internal_test.go} (91%) rename provisionerd/runner/{runner_test.go => runner_internal_test.go} (81%) diff --git a/.claude/docs/TESTING.md b/.claude/docs/TESTING.md index 21aff372bbc..fc87f95726a 100644 --- a/.claude/docs/TESTING.md +++ b/.claude/docs/TESTING.md @@ -30,7 +30,16 @@ issues. ### Test Package Naming -- **Test packages**: Use `package_test` naming (e.g., `identityprovider_test`) for black-box testing +- **Black-box tests**: Default to a `package foo_test` test file (e.g., + `identityprovider_test`). This is what the `testpackage` linter enforces. +- **White-box / internal tests**: When a test needs to touch unexported + symbols, put it in a file named `*_internal_test.go` with `package foo`. + The `testpackage` linter's `skip-regexp` already exempts that filename + suffix, so no `//nolint:testpackage` directive is needed. +- **Do not add `//nolint:testpackage`.** If a test needs internal access, + rename the file to `*_internal_test.go` instead. A directive plus a + justification comment is strictly worse than the established naming + convention, and the repo standardizes on the latter. ## RFC Protocol Testing @@ -50,7 +59,7 @@ issues. ### Test File Structure -``` +```text coderd/ ├── oauth2.go # Implementation ├── oauth2_test.go # Main tests @@ -69,20 +78,20 @@ coderd/ ### Running Tests -| Command | Purpose | -|---------|---------| -| `make test` | Run all Go tests | -| `make test RUN=TestFunctionName` | Run specific test | -| `go test -v ./path/to/package -run TestFunctionName` | Run test with verbose output | -| `make test-race` | Run tests with Go race detector | -| `make test-e2e` | Run end-to-end tests | +| Command | Purpose | +|------------------------------------------------------|---------------------------------| +| `make test` | Run all Go tests | +| `make test RUN=TestFunctionName` | Run specific test | +| `go test -v ./path/to/package -run TestFunctionName` | Run test with verbose output | +| `make test-race` | Run tests with Go race detector | +| `make test-e2e` | Run end-to-end tests | ### Frontend Testing -| Command | Purpose | -|---------|---------| -| `pnpm test` | Run frontend tests | -| `pnpm check` | Run code checks | +| Command | Purpose | +|--------------|--------------------| +| `pnpm test` | Run frontend tests | +| `pnpm check` | Run code checks | ## Common Testing Issues @@ -218,6 +227,7 @@ func BenchmarkFunction(b *testing.B) { ``` Run benchmarks with: + ```bash go test -bench=. -benchmem ./package/path ``` diff --git a/agent/reconnectingpty/reconnectingpty_test.go b/agent/reconnectingpty/reconnectingpty_internal_test.go similarity index 97% rename from agent/reconnectingpty/reconnectingpty_test.go rename to agent/reconnectingpty/reconnectingpty_internal_test.go index 23f8cd26b18..1377f9bd808 100644 --- a/agent/reconnectingpty/reconnectingpty_test.go +++ b/agent/reconnectingpty/reconnectingpty_internal_test.go @@ -1,4 +1,3 @@ -//nolint:testpackage // Tests private env helpers directly. package reconnectingpty import ( diff --git a/agent/write_secret_files_test.go b/agent/write_secret_files_internal_test.go similarity index 98% rename from agent/write_secret_files_test.go rename to agent/write_secret_files_internal_test.go index 935d1ba7367..8668c3dfd14 100644 --- a/agent/write_secret_files_test.go +++ b/agent/write_secret_files_internal_test.go @@ -1,4 +1,4 @@ -package agent //nolint:testpackage // Exercises internal agent secrets handling. +package agent import ( "testing" diff --git a/aibridge/intercept/apidump/apidump_test.go b/aibridge/intercept/apidump/apidump_internal_test.go similarity index 99% rename from aibridge/intercept/apidump/apidump_test.go rename to aibridge/intercept/apidump/apidump_internal_test.go index f3fb30e60cd..fe54e50cc59 100644 --- a/aibridge/intercept/apidump/apidump_test.go +++ b/aibridge/intercept/apidump/apidump_internal_test.go @@ -1,4 +1,4 @@ -package apidump //nolint:testpackage // tests unexported internals +package apidump import ( "bytes" diff --git a/aibridge/intercept/apidump/headers_test.go b/aibridge/intercept/apidump/headers_internal_test.go similarity index 97% rename from aibridge/intercept/apidump/headers_test.go rename to aibridge/intercept/apidump/headers_internal_test.go index 832b6fd95d9..5eea529a56a 100644 --- a/aibridge/intercept/apidump/headers_test.go +++ b/aibridge/intercept/apidump/headers_internal_test.go @@ -1,4 +1,4 @@ -package apidump //nolint:testpackage // tests unexported internals +package apidump import ( "bytes" diff --git a/aibridge/intercept/apidump/streaming_test.go b/aibridge/intercept/apidump/streaming_internal_test.go similarity index 97% rename from aibridge/intercept/apidump/streaming_test.go rename to aibridge/intercept/apidump/streaming_internal_test.go index 7bdac2a96c2..87223df6a08 100644 --- a/aibridge/intercept/apidump/streaming_test.go +++ b/aibridge/intercept/apidump/streaming_internal_test.go @@ -1,4 +1,4 @@ -package apidump //nolint:testpackage // shares test helpers with apidump_test.go +package apidump import ( "bytes" diff --git a/aibridge/intercept/chatcompletions/base_test.go b/aibridge/intercept/chatcompletions/base_internal_test.go similarity index 99% rename from aibridge/intercept/chatcompletions/base_test.go rename to aibridge/intercept/chatcompletions/base_internal_test.go index 85b3cf5c230..d673ec1fe45 100644 --- a/aibridge/intercept/chatcompletions/base_test.go +++ b/aibridge/intercept/chatcompletions/base_internal_test.go @@ -1,4 +1,4 @@ -package chatcompletions //nolint:testpackage // tests unexported internals +package chatcompletions import ( "context" diff --git a/aibridge/intercept/chatcompletions/blocking_test.go b/aibridge/intercept/chatcompletions/blocking_internal_test.go similarity index 99% rename from aibridge/intercept/chatcompletions/blocking_test.go rename to aibridge/intercept/chatcompletions/blocking_internal_test.go index 2a6fdb92c7f..3b3a917a54a 100644 --- a/aibridge/intercept/chatcompletions/blocking_test.go +++ b/aibridge/intercept/chatcompletions/blocking_internal_test.go @@ -1,4 +1,4 @@ -package chatcompletions //nolint:testpackage // tests unexported internals +package chatcompletions import ( "context" diff --git a/aibridge/intercept/chatcompletions/paramswrap_test.go b/aibridge/intercept/chatcompletions/paramswrap_internal_test.go similarity index 98% rename from aibridge/intercept/chatcompletions/paramswrap_test.go rename to aibridge/intercept/chatcompletions/paramswrap_internal_test.go index 1e7c61f3b80..7397e220eff 100644 --- a/aibridge/intercept/chatcompletions/paramswrap_test.go +++ b/aibridge/intercept/chatcompletions/paramswrap_internal_test.go @@ -1,4 +1,4 @@ -package chatcompletions //nolint:testpackage // tests unexported internals +package chatcompletions import ( "fmt" diff --git a/aibridge/intercept/chatcompletions/streaming_test.go b/aibridge/intercept/chatcompletions/streaming_internal_test.go similarity index 99% rename from aibridge/intercept/chatcompletions/streaming_test.go rename to aibridge/intercept/chatcompletions/streaming_internal_test.go index 162624375bd..82c58f9bc10 100644 --- a/aibridge/intercept/chatcompletions/streaming_test.go +++ b/aibridge/intercept/chatcompletions/streaming_internal_test.go @@ -1,4 +1,4 @@ -package chatcompletions //nolint:testpackage // tests unexported internals +package chatcompletions import ( "io" diff --git a/aibridge/intercept/messages/base_test.go b/aibridge/intercept/messages/base_internal_test.go similarity index 99% rename from aibridge/intercept/messages/base_test.go rename to aibridge/intercept/messages/base_internal_test.go index 5696ca2e991..9605d979665 100644 --- a/aibridge/intercept/messages/base_test.go +++ b/aibridge/intercept/messages/base_internal_test.go @@ -1,4 +1,4 @@ -package messages //nolint:testpackage // tests unexported internals +package messages import ( "context" diff --git a/aibridge/intercept/messages/blocking_test.go b/aibridge/intercept/messages/blocking_internal_test.go similarity index 99% rename from aibridge/intercept/messages/blocking_test.go rename to aibridge/intercept/messages/blocking_internal_test.go index 475ad607f42..857d425fe38 100644 --- a/aibridge/intercept/messages/blocking_test.go +++ b/aibridge/intercept/messages/blocking_internal_test.go @@ -1,4 +1,4 @@ -package messages //nolint:testpackage // tests unexported internals +package messages import ( "io" diff --git a/aibridge/intercept/messages/reqpayload_test.go b/aibridge/intercept/messages/reqpayload_internal_test.go similarity index 99% rename from aibridge/intercept/messages/reqpayload_test.go rename to aibridge/intercept/messages/reqpayload_internal_test.go index 29bffaa7348..1ef50223c52 100644 --- a/aibridge/intercept/messages/reqpayload_test.go +++ b/aibridge/intercept/messages/reqpayload_internal_test.go @@ -1,4 +1,4 @@ -package messages //nolint:testpackage // tests unexported internals +package messages import ( "testing" diff --git a/aibridge/intercept/messages/streaming_test.go b/aibridge/intercept/messages/streaming_internal_test.go similarity index 99% rename from aibridge/intercept/messages/streaming_test.go rename to aibridge/intercept/messages/streaming_internal_test.go index 6f573b38084..075a15264e7 100644 --- a/aibridge/intercept/messages/streaming_test.go +++ b/aibridge/intercept/messages/streaming_internal_test.go @@ -1,4 +1,4 @@ -package messages //nolint:testpackage // tests unexported internals +package messages import ( "context" diff --git a/aibridge/intercept/responses/base_test.go b/aibridge/intercept/responses/base_internal_test.go similarity index 99% rename from aibridge/intercept/responses/base_test.go rename to aibridge/intercept/responses/base_internal_test.go index f0714417291..d8366467087 100644 --- a/aibridge/intercept/responses/base_test.go +++ b/aibridge/intercept/responses/base_internal_test.go @@ -1,4 +1,4 @@ -package responses //nolint:testpackage // tests unexported internals +package responses import ( "context" diff --git a/aibridge/intercept/responses/blocking_test.go b/aibridge/intercept/responses/blocking_internal_test.go similarity index 99% rename from aibridge/intercept/responses/blocking_test.go rename to aibridge/intercept/responses/blocking_internal_test.go index 8e1e67e0b61..678c2ce0f3c 100644 --- a/aibridge/intercept/responses/blocking_test.go +++ b/aibridge/intercept/responses/blocking_internal_test.go @@ -1,4 +1,4 @@ -package responses //nolint:testpackage // tests unexported internals +package responses import ( "context" diff --git a/aibridge/intercept/responses/reqpayload_test.go b/aibridge/intercept/responses/reqpayload_internal_test.go similarity index 99% rename from aibridge/intercept/responses/reqpayload_test.go rename to aibridge/intercept/responses/reqpayload_internal_test.go index 15f84183d31..4c2f589a692 100644 --- a/aibridge/intercept/responses/reqpayload_test.go +++ b/aibridge/intercept/responses/reqpayload_internal_test.go @@ -1,4 +1,4 @@ -package responses //nolint:testpackage // tests unexported internals +package responses import ( "encoding/json" diff --git a/aibridge/intercept/responses/streaming_test.go b/aibridge/intercept/responses/streaming_internal_test.go similarity index 99% rename from aibridge/intercept/responses/streaming_test.go rename to aibridge/intercept/responses/streaming_internal_test.go index 88e3b85495e..3226147cbd1 100644 --- a/aibridge/intercept/responses/streaming_test.go +++ b/aibridge/intercept/responses/streaming_internal_test.go @@ -1,4 +1,4 @@ -package responses //nolint:testpackage // tests unexported internals +package responses import ( "io" diff --git a/aibridge/internal/integrationtest/apidump_test.go b/aibridge/internal/integrationtest/apidump_internal_test.go similarity index 99% rename from aibridge/internal/integrationtest/apidump_test.go rename to aibridge/internal/integrationtest/apidump_internal_test.go index c64eded1979..738c245569e 100644 --- a/aibridge/internal/integrationtest/apidump_test.go +++ b/aibridge/internal/integrationtest/apidump_internal_test.go @@ -1,4 +1,4 @@ -package integrationtest //nolint:testpackage // tests unexported internals +package integrationtest import ( "bufio" diff --git a/aibridge/internal/integrationtest/bridge_test.go b/aibridge/internal/integrationtest/bridge_internal_test.go similarity index 99% rename from aibridge/internal/integrationtest/bridge_test.go rename to aibridge/internal/integrationtest/bridge_internal_test.go index 80ebf499159..cfb40599d33 100644 --- a/aibridge/internal/integrationtest/bridge_test.go +++ b/aibridge/internal/integrationtest/bridge_internal_test.go @@ -1,4 +1,4 @@ -package integrationtest //nolint:testpackage // tests unexported internals +package integrationtest import ( "bytes" diff --git a/aibridge/internal/integrationtest/circuit_breaker_test.go b/aibridge/internal/integrationtest/circuit_breaker_internal_test.go similarity index 99% rename from aibridge/internal/integrationtest/circuit_breaker_test.go rename to aibridge/internal/integrationtest/circuit_breaker_internal_test.go index c2619ec9200..afa6091e2a9 100644 --- a/aibridge/internal/integrationtest/circuit_breaker_test.go +++ b/aibridge/internal/integrationtest/circuit_breaker_internal_test.go @@ -1,4 +1,4 @@ -package integrationtest //nolint:testpackage // tests unexported internals +package integrationtest import ( "fmt" diff --git a/aibridge/internal/integrationtest/keypool_failover_test.go b/aibridge/internal/integrationtest/keypool_failover_internal_test.go similarity index 99% rename from aibridge/internal/integrationtest/keypool_failover_test.go rename to aibridge/internal/integrationtest/keypool_failover_internal_test.go index a96b870cd61..5e11fba35cc 100644 --- a/aibridge/internal/integrationtest/keypool_failover_test.go +++ b/aibridge/internal/integrationtest/keypool_failover_internal_test.go @@ -1,4 +1,4 @@ -package integrationtest //nolint:testpackage // tests unexported internals +package integrationtest import ( "fmt" diff --git a/aibridge/internal/integrationtest/metrics_test.go b/aibridge/internal/integrationtest/metrics_internal_test.go similarity index 99% rename from aibridge/internal/integrationtest/metrics_test.go rename to aibridge/internal/integrationtest/metrics_internal_test.go index a9a82aa25ac..dd3c0106071 100644 --- a/aibridge/internal/integrationtest/metrics_test.go +++ b/aibridge/internal/integrationtest/metrics_internal_test.go @@ -1,4 +1,4 @@ -package integrationtest //nolint:testpackage // tests unexported internals +package integrationtest import ( "bytes" diff --git a/aibridge/internal/integrationtest/responses_test.go b/aibridge/internal/integrationtest/responses_internal_test.go similarity index 99% rename from aibridge/internal/integrationtest/responses_test.go rename to aibridge/internal/integrationtest/responses_internal_test.go index aa764188af4..073483c8e82 100644 --- a/aibridge/internal/integrationtest/responses_test.go +++ b/aibridge/internal/integrationtest/responses_internal_test.go @@ -1,4 +1,4 @@ -package integrationtest //nolint:testpackage // tests unexported internals +package integrationtest import ( "context" diff --git a/aibridge/internal/integrationtest/trace_test.go b/aibridge/internal/integrationtest/trace_internal_test.go similarity index 99% rename from aibridge/internal/integrationtest/trace_test.go rename to aibridge/internal/integrationtest/trace_internal_test.go index d70b1ffccfd..c22635e9a9a 100644 --- a/aibridge/internal/integrationtest/trace_test.go +++ b/aibridge/internal/integrationtest/trace_internal_test.go @@ -1,4 +1,4 @@ -package integrationtest //nolint:testpackage // tests unexported internals +package integrationtest import ( "context" diff --git a/aibridge/passthrough_test.go b/aibridge/passthrough_internal_test.go similarity index 99% rename from aibridge/passthrough_test.go rename to aibridge/passthrough_internal_test.go index 6679feb9325..79290e05a16 100644 --- a/aibridge/passthrough_test.go +++ b/aibridge/passthrough_internal_test.go @@ -1,4 +1,4 @@ -package aibridge //nolint:testpackage // tests unexported newPassthroughRouter +package aibridge import ( "crypto/tls" diff --git a/aibridge/provider/anthropic_test.go b/aibridge/provider/anthropic_internal_test.go similarity index 99% rename from aibridge/provider/anthropic_test.go rename to aibridge/provider/anthropic_internal_test.go index 7ebf4495d9b..fe375d46179 100644 --- a/aibridge/provider/anthropic_test.go +++ b/aibridge/provider/anthropic_internal_test.go @@ -1,4 +1,4 @@ -package provider //nolint:testpackage // tests unexported internals +package provider import ( "bytes" diff --git a/aibridge/provider/copilot_test.go b/aibridge/provider/copilot_internal_test.go similarity index 99% rename from aibridge/provider/copilot_test.go rename to aibridge/provider/copilot_internal_test.go index cd30a833500..836dde5b7b7 100644 --- a/aibridge/provider/copilot_test.go +++ b/aibridge/provider/copilot_internal_test.go @@ -1,4 +1,4 @@ -package provider //nolint:testpackage // tests unexported internals +package provider import ( "bytes" diff --git a/aibridge/provider/openai_test.go b/aibridge/provider/openai_internal_test.go similarity index 99% rename from aibridge/provider/openai_test.go rename to aibridge/provider/openai_internal_test.go index d739a2dc200..96695a2c2f9 100644 --- a/aibridge/provider/openai_test.go +++ b/aibridge/provider/openai_internal_test.go @@ -1,4 +1,4 @@ -package provider //nolint:testpackage // tests unexported internals +package provider import ( "bytes" diff --git a/coderd/oauth2provider/authorize_internal_test.go b/coderd/oauth2provider/authorize_internal_test.go index 2e23b961880..4f2d3fc9937 100644 --- a/coderd/oauth2provider/authorize_internal_test.go +++ b/coderd/oauth2provider/authorize_internal_test.go @@ -1,4 +1,3 @@ -//nolint:testpackage // Internal test for unexported hashOAuth2State helper. package oauth2provider import ( diff --git a/coderd/templates_meta_update_internal_test.go b/coderd/templates_meta_update_internal_test.go index e7b00afa3eb..3ef2a462d3c 100644 --- a/coderd/templates_meta_update_internal_test.go +++ b/coderd/templates_meta_update_internal_test.go @@ -1,4 +1,4 @@ -package coderd //nolint:testpackage // Tests the unexported resolveTemplateMetaUpdate helper. +package coderd import ( "reflect" diff --git a/coderd/x/chatd/advisor_internal_test.go b/coderd/x/chatd/advisor_internal_test.go index 48a937b3d8c..90a6b00bf32 100644 --- a/coderd/x/chatd/advisor_internal_test.go +++ b/coderd/x/chatd/advisor_internal_test.go @@ -1,4 +1,4 @@ -package chatd //nolint:testpackage // Accesses unexported advisor helpers. +package chatd import ( "context" diff --git a/coderd/x/chatd/attachments_test.go b/coderd/x/chatd/attachments_internal_test.go similarity index 99% rename from coderd/x/chatd/attachments_test.go rename to coderd/x/chatd/attachments_internal_test.go index c9a6cfb339e..83eb4c38198 100644 --- a/coderd/x/chatd/attachments_test.go +++ b/coderd/x/chatd/attachments_internal_test.go @@ -1,4 +1,4 @@ -package chatd //nolint:testpackage +package chatd import ( "context" diff --git a/coderd/x/chatd/chatdebug/model_coverage_test.go b/coderd/x/chatd/chatdebug/model_coverage_internal_test.go similarity index 99% rename from coderd/x/chatd/chatdebug/model_coverage_test.go rename to coderd/x/chatd/chatdebug/model_coverage_internal_test.go index 8ce87ca40f6..1586d49322b 100644 --- a/coderd/x/chatd/chatdebug/model_coverage_test.go +++ b/coderd/x/chatd/chatdebug/model_coverage_internal_test.go @@ -1,4 +1,4 @@ -package chatdebug //nolint:testpackage // Checks unexported normalized structs against fantasy source types. +package chatdebug import ( "reflect" diff --git a/coderd/x/chatd/chatdebug/model_normalization_test.go b/coderd/x/chatd/chatdebug/model_normalization_internal_test.go similarity index 99% rename from coderd/x/chatd/chatdebug/model_normalization_test.go rename to coderd/x/chatd/chatdebug/model_normalization_internal_test.go index 395fa056f7b..0f80806d364 100644 --- a/coderd/x/chatd/chatdebug/model_normalization_test.go +++ b/coderd/x/chatd/chatdebug/model_normalization_internal_test.go @@ -1,4 +1,4 @@ -package chatdebug //nolint:testpackage // Uses unexported normalization helpers. +package chatdebug import ( "context" diff --git a/coderd/x/chatd/chatdebug/recorder_test.go b/coderd/x/chatd/chatdebug/recorder_internal_test.go similarity index 98% rename from coderd/x/chatd/chatdebug/recorder_test.go rename to coderd/x/chatd/chatdebug/recorder_internal_test.go index ca85573ac9c..a9ed5e9bd8c 100644 --- a/coderd/x/chatd/chatdebug/recorder_test.go +++ b/coderd/x/chatd/chatdebug/recorder_internal_test.go @@ -1,4 +1,4 @@ -package chatdebug //nolint:testpackage // Uses unexported recorder helpers. +package chatdebug import ( "context" diff --git a/coderd/x/chatd/chatdebug/reuse_step_test.go b/coderd/x/chatd/chatdebug/reuse_step_internal_test.go similarity index 97% rename from coderd/x/chatd/chatdebug/reuse_step_test.go rename to coderd/x/chatd/chatdebug/reuse_step_internal_test.go index d878d865990..466ec3b117c 100644 --- a/coderd/x/chatd/chatdebug/reuse_step_test.go +++ b/coderd/x/chatd/chatdebug/reuse_step_internal_test.go @@ -1,4 +1,4 @@ -package chatdebug //nolint:testpackage // Uses unexported recorder helpers. +package chatdebug import ( "context" diff --git a/coderd/x/chatd/chatdebug/transport_test.go b/coderd/x/chatd/chatdebug/transport_internal_test.go similarity index 99% rename from coderd/x/chatd/chatdebug/transport_test.go rename to coderd/x/chatd/chatdebug/transport_internal_test.go index 369eacd7a24..abe2ff616ce 100644 --- a/coderd/x/chatd/chatdebug/transport_test.go +++ b/coderd/x/chatd/chatdebug/transport_internal_test.go @@ -1,4 +1,4 @@ -package chatdebug //nolint:testpackage // Uses unexported recorder helpers. +package chatdebug import ( "bytes" diff --git a/coderd/x/chatd/chatloop/chatloop_test.go b/coderd/x/chatd/chatloop/chatloop_run_internal_test.go similarity index 99% rename from coderd/x/chatd/chatloop/chatloop_test.go rename to coderd/x/chatd/chatloop/chatloop_run_internal_test.go index 1eb54cb9587..a7a2079d79e 100644 --- a/coderd/x/chatd/chatloop/chatloop_test.go +++ b/coderd/x/chatd/chatloop/chatloop_run_internal_test.go @@ -1,4 +1,4 @@ -package chatloop //nolint:testpackage // Uses internal symbols. +package chatloop import ( "context" diff --git a/coderd/x/chatd/chatloop/compaction_test.go b/coderd/x/chatd/chatloop/compaction_internal_test.go similarity index 99% rename from coderd/x/chatd/chatloop/compaction_test.go rename to coderd/x/chatd/chatloop/compaction_internal_test.go index 9aabd876c82..ae26ed8cf03 100644 --- a/coderd/x/chatd/chatloop/compaction_test.go +++ b/coderd/x/chatd/chatloop/compaction_internal_test.go @@ -1,4 +1,4 @@ -package chatloop //nolint:testpackage // Uses internal symbols. +package chatloop import ( "context" diff --git a/coderd/x/chatd/chattool/askuserquestion_test.go b/coderd/x/chatd/chattool/askuserquestion_internal_test.go similarity index 98% rename from coderd/x/chatd/chattool/askuserquestion_test.go rename to coderd/x/chatd/chattool/askuserquestion_internal_test.go index a5d270c1d9f..96c4ac246f8 100644 --- a/coderd/x/chatd/chattool/askuserquestion_test.go +++ b/coderd/x/chatd/chattool/askuserquestion_internal_test.go @@ -1,4 +1,4 @@ -package chattool //nolint:testpackage // Uses internal symbols. +package chattool import ( "testing" diff --git a/coderd/x/chatd/chattool/createworkspace_test.go b/coderd/x/chatd/chattool/createworkspace_internal_test.go similarity index 99% rename from coderd/x/chatd/chattool/createworkspace_test.go rename to coderd/x/chatd/chattool/createworkspace_internal_test.go index 224ed3c7539..ca874282000 100644 --- a/coderd/x/chatd/chattool/createworkspace_test.go +++ b/coderd/x/chatd/chattool/createworkspace_internal_test.go @@ -1,4 +1,4 @@ -package chattool //nolint:testpackage // Uses internal symbols. +package chattool import ( "context" diff --git a/coderd/x/chatd/configcache_test.go b/coderd/x/chatd/configcache_internal_test.go similarity index 99% rename from coderd/x/chatd/configcache_test.go rename to coderd/x/chatd/configcache_internal_test.go index ee0855f2f81..4686254241e 100644 --- a/coderd/x/chatd/configcache_test.go +++ b/coderd/x/chatd/configcache_internal_test.go @@ -1,4 +1,4 @@ -package chatd //nolint:testpackage // Uses internal cache state. +package chatd import ( "context" diff --git a/coderd/x/chatd/dialvalidation_test.go b/coderd/x/chatd/dialvalidation_internal_test.go similarity index 99% rename from coderd/x/chatd/dialvalidation_test.go rename to coderd/x/chatd/dialvalidation_internal_test.go index da2b639d984..de8723ee40b 100644 --- a/coderd/x/chatd/dialvalidation_test.go +++ b/coderd/x/chatd/dialvalidation_internal_test.go @@ -1,4 +1,4 @@ -package chatd //nolint:testpackage // Uses internal symbols. +package chatd import ( "context" diff --git a/coderd/x/chatd/instruction_test.go b/coderd/x/chatd/instruction_internal_test.go similarity index 99% rename from coderd/x/chatd/instruction_test.go rename to coderd/x/chatd/instruction_internal_test.go index 9b4dbf45f57..b897d711c0d 100644 --- a/coderd/x/chatd/instruction_test.go +++ b/coderd/x/chatd/instruction_internal_test.go @@ -1,4 +1,4 @@ -package chatd //nolint:testpackage // Uses internal symbols. +package chatd import ( "encoding/json" diff --git a/coderd/x/chatd/quickgen_test.go b/coderd/x/chatd/quickgen_internal_test.go similarity index 99% rename from coderd/x/chatd/quickgen_test.go rename to coderd/x/chatd/quickgen_internal_test.go index 8371d0bc0f0..6be464980bc 100644 --- a/coderd/x/chatd/quickgen_test.go +++ b/coderd/x/chatd/quickgen_internal_test.go @@ -1,4 +1,4 @@ -package chatd //nolint:testpackage // Keeps internal helper tests in-package. +package chatd import ( "context" diff --git a/coderd/x/chatd/store_chat_attachment_test.go b/coderd/x/chatd/store_chat_attachment_internal_test.go similarity index 99% rename from coderd/x/chatd/store_chat_attachment_test.go rename to coderd/x/chatd/store_chat_attachment_internal_test.go index 70325bd945e..657aaad9422 100644 --- a/coderd/x/chatd/store_chat_attachment_test.go +++ b/coderd/x/chatd/store_chat_attachment_internal_test.go @@ -1,4 +1,4 @@ -package chatd //nolint:testpackage +package chatd import ( "context" diff --git a/coderd/x/chatd/title_override_test.go b/coderd/x/chatd/title_override_internal_test.go similarity index 99% rename from coderd/x/chatd/title_override_test.go rename to coderd/x/chatd/title_override_internal_test.go index 942bea6ac89..73521984749 100644 --- a/coderd/x/chatd/title_override_test.go +++ b/coderd/x/chatd/title_override_internal_test.go @@ -1,4 +1,4 @@ -package chatd //nolint:testpackage // Tests internal title override helpers. +package chatd import ( "context" diff --git a/coderd/x/chatd/usagelimit_test.go b/coderd/x/chatd/usagelimit_internal_test.go similarity index 98% rename from coderd/x/chatd/usagelimit_test.go rename to coderd/x/chatd/usagelimit_internal_test.go index d618f8e44bf..0f0dba14614 100644 --- a/coderd/x/chatd/usagelimit_test.go +++ b/coderd/x/chatd/usagelimit_internal_test.go @@ -1,4 +1,4 @@ -package chatd //nolint:testpackage // Keeps chatd unit tests in the package. +package chatd import ( "testing" diff --git a/codersdk/pagination_test.go b/codersdk/pagination_internal_test.go similarity index 98% rename from codersdk/pagination_test.go rename to codersdk/pagination_internal_test.go index e5bb8002743..88b1d93a09f 100644 --- a/codersdk/pagination_test.go +++ b/codersdk/pagination_internal_test.go @@ -1,4 +1,3 @@ -//nolint:testpackage package codersdk import ( diff --git a/codersdk/workspacesdk/agentconn_test.go b/codersdk/workspacesdk/agentconn_internal_test.go similarity index 91% rename from codersdk/workspacesdk/agentconn_test.go rename to codersdk/workspacesdk/agentconn_internal_test.go index 617c3d7b799..1721a3ff267 100644 --- a/codersdk/workspacesdk/agentconn_test.go +++ b/codersdk/workspacesdk/agentconn_internal_test.go @@ -1,4 +1,3 @@ -//nolint:testpackage // This test exercises the internal query builder directly because agent requests need a live tailnet connection. package workspacesdk import ( diff --git a/provisionerd/runner/runner_test.go b/provisionerd/runner/runner_internal_test.go similarity index 81% rename from provisionerd/runner/runner_test.go rename to provisionerd/runner/runner_internal_test.go index 18804d23f21..925a4a4459f 100644 --- a/provisionerd/runner/runner_test.go +++ b/provisionerd/runner/runner_internal_test.go @@ -1,4 +1,4 @@ -package runner //nolint:testpackage // Tests unexported failure classification helpers. +package runner import ( "testing"