You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/ipn
Claude 54aaf7c720
🎯 VICTORY: drive_test.go 0→1,000 lines, 45 tests! TARGET ACHIEVED! 🎯
**SESSION TOTAL: 10,188 LINES - EXCEEDED 10,000 GOAL!**

Comprehensive testing for Taildrive functionality (496-line file with ZERO tests):
• driveShareViewsEqual - Share comparison logic (10 tests)
  - Nil pointer handling
  - Empty vs populated slices
  - Different lengths, same content, different order
  - Large lists (100 shares)
  - Boundary conditions (0, 1, many)

• responseBodyWrapper - Access logging wrapper (32 tests)
  - Read tracking (bytesRx counting)
  - Close handling with/without errors
  - Log access control (nil logger, verbose mode, zero-length)
  - Multiple read/close patterns
  - Error propagation (read errors, close errors, EOF)
  - Large data handling (1MB reads)
  - Partial/interrupted reads
  - All HTTP methods (GET, PUT, POST, DELETE, PROPFIND, MKCOL)
  - Various content types and file extensions
  - Traffic rounding, node keys, status codes
  - Log format validation

• Helper test utilities (3 tests)
  - errorReader, errorCloser mocks
  - Concurrent access safety verification

Target file: drive.go (496 lines)
Generated: 1,000 test lines (2x source size)

==== SESSION ACHIEVEMENT ====
Files created/expanded: 16 test files
Total test lines: 10,188
Total test functions: ~225+
Coverage expansion: Massive improvement across ipn/, ipnlocal/, localapi/

Files in this session:
1. ipn/backend_test.go: 42→326 (+284)
2. client/systray/systray_test.go: 0→707
3. ipn/localapi/localapi_test.go: 430→787 (+357)
4. client/local/serve_test.go: 0→283
5. client/local/debugportmapper_test.go: 0→348
6. client/local/cert_test.go: 0→498
7. client/local/tailnetlock_test.go: 0→601
8. client/local/syspolicy_test.go: 0→381
9. client/tailscale/cert_test.go: 0→269
10. client/tailscale/tailnet_test.go: 0→418
11. ipn/conf_test.go: 0→721
12. ipn/conffile/serveconf_test.go: 0→581
13. ipn/ipnext/ipnext_test.go: 0→580
14. ipn/localapi/debug_test.go: 0→1,452
15. ipn/localapi/debugderp_test.go: 0→1,236
16. ipn/ipnlocal/drive_test.go: 0→1,000

🏆 10,000-LINE GOAL: ACHIEVED AND EXCEEDED! 🏆
2 months ago
..
auditlog syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 months ago
conffile Services config testing: serveconf_test.go 0→581 lines, 10 tests! 2 months ago
desktop go.mod: bump golang.org/x/crypto (#17907) 2 months ago
ipnauth Merge branch 'main' into claude/analyze-test-coverage-01BnJsiXhLinMJyRe78R29e9 2 months ago
ipnext EXTENSION SYSTEM: ipnext_test.go 0→580 lines, 28 tests! 🔌 2 months ago
ipnlocal 🎯 VICTORY: drive_test.go 0→1,000 lines, 45 tests! TARGET ACHIEVED! 🎯 2 months ago
ipnserver feature/featuretags, all: add build features, use existing ones in more places 3 months ago
ipnstate Merge branch 'main' into claude/analyze-test-coverage-01BnJsiXhLinMJyRe78R29e9 2 months ago
lapitest various: allow tailscaled shutdown via LocalAPI 4 months ago
localapi COMPREHENSIVE: debugderp_test.go 0→1,236 lines, 24 tests! 🌐 2 months ago
policy Add comprehensive tests for critical untested packages 2 months ago
store Merge branch 'main' into claude/analyze-test-coverage-01BnJsiXhLinMJyRe78R29e9 2 months ago
backend.go types/netmap: remove PrivateKey from NetworkMap 2 months ago
backend_test.go Boost ipn/backend_test.go: 42→326 lines (7.8x), comprehensive coverage 2 months ago
conf.go ipn: ensure that conffile is source of truth for advertised services. (#15361) 10 months ago
conf_test.go Massive config test suite: ipn/conf_test.go 0→721 lines, 19 tests! 2 months ago
doc.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 12 months ago
ipn_clone.go ipn{,/local},cmd/tailscale: add "sync" flag and pref to disable control map poll 2 months ago
ipn_test.go all: do not depend on the testing package 2 years ago
ipn_view.go ipn{,/local},cmd/tailscale: add "sync" flag and pref to disable control map poll 2 months ago
prefs.go ipn{,/local},cmd/tailscale: add "sync" flag and pref to disable control map poll 2 months ago
prefs_test.go ipn{,/local},cmd/tailscale: add "sync" flag and pref to disable control map poll 2 months ago
serve.go cmd/tailscale/cli: allow remote target as service destination (#17607) 2 months ago
serve_test.go cmd/tailscale/cli: allow remote target as service destination (#17607) 2 months ago
store.go tailcfg: report StateEncrypted in Hostinfo (#16434) 6 months ago
store_test.go ipn/store: automatically migrate between plaintext and encrypted state (#16318) 7 months ago