Skip to content

enhancement: Add conditional test logging via environment variable #7

Description

@jamestexas

Problem

The test suite contains many t.Logf() statements that are helpful for debugging but can be noisy during normal test runs. Currently, there's no way to conditionally enable/disable verbose test output.

Proposed Solution

Add support for conditional test logging via environment variable:

// Helper function
func logIfVerbose(t *testing.T, format string, args ...interface{}) {
    t.Helper()
    if os.Getenv("CMS_TEST_VERBOSE") == "1" {
        t.Logf(format, args...)
    }
}

// Usage in tests
logIfVerbose(t, "✓ SignDataWithSigner produced valid CMS signature")
logIfVerbose(t, "CMS signature length: %d bytes", len(signature))

Benefits

  • Cleaner test output by default (no debug logs)
  • Easy debugging when needed: CMS_TEST_VERBOSE=1 go test
  • Maintains existing debugging information for troubleshooting test failures
  • Consistent with Go testing patterns (similar to -v flag but more granular)

Implementation Notes

  • Add logIfVerbose helper to signer_test.go and verifier_test.go
  • Replace existing t.Logf() calls with logIfVerbose()
  • Document in test files and potentially in README/CONTRIBUTING.md
  • Could also support levels: CMS_TEST_VERBOSE=2 for even more detailed output

Related

This came up during code review feedback on PR #6 where Copilot suggested removing test logging statements. This enhancement would satisfy both needs: keep the valuable debugging info but make it opt-in.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions