Skip to content

PMM-7 Fix testifylint linter warnings (p2)#5381

Merged
maxkondr merged 16 commits into
v3from
PMM-7-linter-fixes
May 20, 2026
Merged

PMM-7 Fix testifylint linter warnings (p2)#5381
maxkondr merged 16 commits into
v3from
PMM-7-linter-fixes

Conversation

@maxkondr
Copy link
Copy Markdown
Contributor

@maxkondr maxkondr requested review from a team and JiriCtvrtka as code owners May 18, 2026 15:33
@maxkondr maxkondr requested review from 4nte and ademidoff and removed request for a team May 18, 2026 15:33
@maxkondr maxkondr self-assigned this May 18, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 18, 2026

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 42.61%. Comparing base (54396e0) to head (e6aca31).
⚠️ Report is 2 commits behind head on v3.

Files with missing lines Patch % Lines
managed/utils/tests/asserts.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##               v3    #5381      +/-   ##
==========================================
- Coverage   43.18%   42.61%   -0.57%     
==========================================
  Files         413      413              
  Lines       42303    42302       -1     
==========================================
- Hits        18268    18029     -239     
- Misses      22170    22437     +267     
+ Partials     1865     1836      -29     
Flag Coverage Δ
admin 34.94% <ø> (ø)
agent 46.76% <ø> (-2.35%) ⬇️
managed 42.30% <0.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@maxkondr maxkondr marked this pull request as draft May 18, 2026 15:40
@maxkondr maxkondr marked this pull request as ready for review May 19, 2026 08:53
@ademidoff ademidoff requested a review from Copilot May 19, 2026 10:35
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR is a wide-scope test cleanup aimed at addressing testifylint warnings across the codebase by switching many test assertions from assert.* to require.* (and adjusting a few numeric/error-type assertions accordingly).

Changes:

  • Replaced non-fatal assert.* checks with require.* in many tests (and in a few helper assertions).
  • Updated some float comparisons (InEpsilonInDelta) and error-type checks (IsTypeErrorAs) to satisfy linting and improve correctness.
  • Removed a few test-time global log-level mutations that can cause cross-test interference.

Reviewed changes

Copilot reviewed 111 out of 111 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
qan-api2/utils/templatefs/templatefs_test.go Switch error assertions to require.*.
qan-api2/services/analytics/profile_test.go Import require and use require.NoError for fatal checks.
qan-api2/services/analytics/object_details_test.go Switch to require.* for fatal error expectations.
managed/utils/validators/alerting_rules_test.go Use require.NoError for validation success.
managed/utils/tests/asserts.go Replace assert.Error gate with require.Error.
managed/utils/signatures/signatures_test.go Switch to require.* assertions.
managed/utils/pprof/pprof_test.go Use require.NoError for gzip/profile handling.
managed/utils/encryption/encryption_test.go Use require.NoError for base64/file operations.
managed/utils/distribution/distribution_util_test.go Switch temp file / cleanup checks to require.*.
managed/utils/dir/dir_test.go Use require.* for error checks in helper flows.
managed/utils/clean/clean_test.go Use require.* for cleaner/setup expectations.
managed/services/victoriametrics/victoriametrics_test.go Switch to require.* for config/marshal errors.
managed/services/versioncache/versioncache_test.go Use require.* in cleanup and error assertions.
managed/services/telemetry/transform_test.go Use require.* for error assertion funcs and simplify error-check flow.
managed/services/telemetry/telemetry_test.go Switch to require.NoError for registry creation.
managed/services/supervisord/devcontainer_test.go Switch teardown assert.NoError to require.NoError.
managed/services/server/server_test.go Switch validation assert.NoError to require.NoError.
managed/services/server/logs_test.go Switch file/zip error checks to require.*.
managed/services/scheduler/task_test.go Remove assert import; use require.EqualError.
managed/services/scheduler/scheduler_test.go Use require.ErrorIs for not-found checks.
managed/services/qan/client_test.go Switch DB close checks to require.NoError.
managed/services/preconditions_test.go Remove assert import; use require.* for error outcomes.
managed/services/management/service_test.go Switch service removal success checks to require.NoError.
managed/services/management/node_test.go Switch node mgmt success checks to require.NoError.
managed/services/management/checks_test.go Use require.EqualError for exact error strings.
managed/services/management/backup/restore_service_test.go Use require.NoError for log insert/list flows.
managed/services/management/backup/locations_service_test.go Use require.* for remove/list and validation paths.
managed/services/management/backup/backup_service_test.go Use require.NoError for scheduled backup operations.
managed/services/management/accesscontrol_test.go Use require.Error for negative case.
managed/services/inventory/services_test.go Switch multiple RPC success checks to require.NoError.
managed/services/grafana/client_test.go Remove global log level mutation; use require.NoError.
managed/services/converters_test.go Use require.ErrorIs for error expectations.
managed/services/checks/funcs_test.go Update assertions around expected errors and float checks.
managed/services/checks/checks_test.go Use require.* for error equality/containment checks.
managed/services/backup/retention_service_test.go Use require.NoError in retention enforcement expectations.
managed/services/backup/removal_service_test.go Use require.* for error checks; avoid require inside goroutines in a couple spots.
managed/services/backup/pitr_timerange_service_test.go Switch to require.* for expected error/no-error paths.
managed/services/backup/compatibility_service_test.go Use require.* for error matching and “no error” cases.
managed/services/backup/compatibility_helpers_test.go Import require; use require.* for error checks.
managed/services/backup/backup_service_test.go Use require.* for error matching and “no error” cases.
managed/services/alerting/service_test.go Use require.EqualError for exact RPC error strings.
managed/services/agents/postgresql_test.go Import require; use suite Require().NoError in setup-heavy tests.
managed/services/agents/channel/channel_test.go Use require.* for send/recv and stream lifecycle checks.
managed/models/software_version_helpers_test.go Use require.* for parameter validation errors.
managed/models/settings_helpers_test.go Use require.EqualError for invalid-argument expectations.
managed/models/service_helpers_test.go Switch query/remove expectations to require.*.
managed/models/scheduled_tasks_helpers_test.go Use require.* for change/remove/find expectations.
managed/models/restore_history_helpers_test.go Use require.EqualError for validation errors.
managed/models/postgresql_version_test.go Use require.Error/NoError and adjust float comparison to InDelta.
managed/models/node_helpers_test.go Use require.* for create/remove/query expectations.
managed/models/models_test.go Import require; use require.NoError for JSON label helpers.
managed/models/location_helpers_test.go Use require.* for validation branches.
managed/models/job_helpers_test.go Use require.EqualError and require.NoError where fatal.
managed/models/database_test.go Use require.ErrorAs for *pq.Error extraction; switch to require.NoError in DB checks.
managed/models/artifact_helpers_test.go Use require.EqualError for validation errors.
managed/models/agentversion_test.go Use require.* for version-support expectations.
managed/models/agent_helpers_test.go Switch success check to require.NoError.
managed/models/action_helpers_test.go Use require.NoError for cleanup expectations.
api-tests/server/settings/settings_test.go Use require.NoError for response body reads.
api-tests/server/logs_test.go Use require.NoError for zip reader creation.
api-tests/management/valkey_test.go Use require.NoError in API success flows.
api-tests/management/proxysql_test.go Use require.NoError in API success flows.
api-tests/management/postgresql_test.go Use require.NoError in API success flows.
api-tests/management/nodes_test.go Use require.NoError in node register flows.
api-tests/management/mysql_test.go Use require.NoError in API success flows.
api-tests/management/mongodb_test.go Use require.NoError in API success flows.
api-tests/management/helpers.go Use require.NoError in helper assertions.
api-tests/management/haproxy_test.go Use require.NoError in API success flows.
api-tests/management/external_test.go Use require.NoError in API success flows.
api-tests/management/annotation_test.go Remove assert import; use require.NoError for setup calls.
api-tests/management/action/explain_test.go Use require.NoError for JSON unmarshal.
api-tests/inventory/services_test.go Replace meaningless len(...) >= 0 assertions with assert.Empty/NotEmpty where appropriate.
api-tests/helpers.go Use require.NoError when constructing Grafana client.
api-tests/alerting/alerting_test.go Replace float assert.Equal with assert.InDelta and rename min/max locals.
agent/versioner/versioner_test.go Import require; use require.NoError for version parsing calls.
agent/utils/version/mysql_test.go Import require; use require.NoError.
agent/utils/templates/template_test.go Import require; use require.NoError for FS operations.
agent/utils/mongo_fix/mongo_fix_test.go Import require; use require.NoError.
agent/utils/filereader/continuous_file_reader_test.go Use require.NoError for reader close.
agent/runner/jobs/pbm_helpers_test.go Switch error checks to require.*.
agent/runner/jobs/mongodb_backup_job_test.go Import require; use require.* for error/no-error cases.
agent/runner/actions/pt_mysql_summary_action_test.go Use require.Error for cancellation expectation.
agent/runner/actions/process_action_test.go Use require.Error for cancellation expectation.
agent/runner/actions/postgresql_show_create_table_action_test.go Use require.EqualError for exact error string.
agent/runner/actions/postgresql_query_select_action_test.go Use require.EqualError for exact error string.
agent/runner/actions/mysql_show_table_status_action_test.go Use require.* and adjust float comparison to InDelta.
agent/runner/actions/mysql_show_index_action_test.go Switch to require.* for error/no-error paths.
agent/runner/actions/mysql_show_create_table_action_test.go Use require.EqualError for exact error string.
agent/runner/actions/mysql_explain_action_test.go Use require.NoError for JSON unmarshal; use require.ErrorContains for expected failures; adjust float comparisons.
agent/runner/actions/mongodb_query_admincommand_action_test.go Remove unused errors import; adjust float comparisons and use require.ErrorAs.
agent/runner/actions/mongodb_explain_action_test.go Use require.* for fatal error checks and file reads.
agent/config/config_test.go Replace IsType with ErrorAs for typed errors.
agent/client/client_test.go Use require.EqualError/require.NoError for fatal checks.
agent/client/channel/channel_test.go Use require.* for send/recv lifecycle checks.
agent/agents/supervisor/ports_registry_test.go Use require.* for reserve/release errors.
agent/agents/postgres/pgstatstatements/pgstatstatements_test.go Use require.NoError in extension teardown; adjust float comparisons.
agent/agents/postgres/pgstatmonitor/stat_monitor_cache_test.go Remove assert import; use require.* for extension/setup/settings.
agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go Use require.* and replace manual WaitGroup goroutines with waitGroup.Go.
agent/agents/mysql/slowlog/parser/parser_test.go Use require.NoError for reader close.
agent/agents/mysql/slowlog/parser/parser_bench_test.go Use require.NoError for benchmark setup/close.
agent/agents/mongodb/shared/fingerprinter/fingerprinter_test.go Use require.NoError for inserts.
agent/agents/mongodb/shared/aggregator/aggregator_test.go Use require.EqualError for exact error string.
agent/agents/mongodb/profiler/internal/profiler_test.go Remove global log level mutation; use require.NoError; adjust numeric comparisons to InDelta.
agent/agents/mongodb/profiler/internal/parser/parser_test.go Adjust numeric comparisons to InDelta.
agent/agents/mongodb/profiler/internal/collector/collector_test.go Remove global log level mutation.
agent/agents/mongodb/mongolog/internal/monitor_test.go Remove global log level mutation.
agent/agents/cache/cache_test.go Use require.Error for negative cases.
admin/commands/summary_test.go Use require.NoError for file close/zip open.
admin/commands/management/add_mysql_test.go Import require and simplify error expectation.
admin/commands/list_test.go Import require; use require.NoError for JSON marshal.
admin/commands/base_test.go Import require; use require.NoError in cleanup and file read tests.
Comments suppressed due to low confidence (2)

managed/services/checks/funcs_test.go:80

  • Same issue here: require.Error(t, err, expectedErr) does not verify the error text equals expectedErr, it only checks that err != nil. Use require.EqualError / require.ErrorContains to keep the assertion meaningful.
    managed/services/checks/funcs_test.go:281
  • require.Error(t, err, tc.err) does not assert that the error message matches tc.err; it only asserts err is non-nil and uses tc.err as a failure message. If the test intends to validate the exact error string from env.Run, switch to require.EqualError (or require.ErrorContains if appropriate).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread managed/services/checks/funcs_test.go
Comment thread admin/commands/management/add_mysql_test.go Outdated
Comment thread agent/runner/actions/mysql_show_index_action_test.go Outdated
@maxkondr maxkondr enabled auto-merge (squash) May 20, 2026 07:01
@maxkondr maxkondr disabled auto-merge May 20, 2026 08:47
@maxkondr maxkondr merged commit 588c780 into v3 May 20, 2026
26 of 28 checks passed
@maxkondr maxkondr deleted the PMM-7-linter-fixes branch May 20, 2026 08:48
@maxkondr maxkondr restored the PMM-7-linter-fixes branch May 20, 2026 08:48
matejkubinec pushed a commit that referenced this pull request May 22, 2026
* PMM-7 Fix Makefile.devcontainer usage

* PMM-7 Fix testifylint linter warnings

* PMM-7 Fix testifylint linter warnings (p2)

* fix

* fix

* fix

* fix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants