
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
github.com/jmhodges/clock
Package clock provides an abstraction for system time that enables testing of time-sensitive code.
Where you'd use time.Now
, instead use clk.Now
where clk
is an instance of
clock.Clock
.
When running your code in production, pass it a Clock
given by
clock.Default()
and when you're running it in your tests, pass it an instance
of Clock
from NewFake()
.
When you do that, you can use FakeClock
's Add
and Set
methods to control
how time behaves in your tests. That makes the tests you'll write more reliable
while also expanding the space of problems you can test.
This code intentionally does not attempt to provide an abstraction over
time.Ticker
and time.Timer
because Go does not have the runtime or API hooks
available to do so reliably. See https://github.com/golang/go/issues/8869
As with any use of time
, be sure to test Time
equality with
time.Time#Equal
, not ==
.
For API documentation, see the godoc.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.