“Ensuring Exception Safety Through Testing"
summary
Describes a concrete testing system that uses a global counter to deterministically throw the nth exception, an error-tracker to catch internally handled throws, and configurable fakes like the maybe_throw macro and throwing value fake; tests run each injected failure against per-operation contracts, use factories to support move-only types, and run under ASan/LSan to catch UB and leaks. The tooling finds real bugs in Abseil and in standard-library implementations, and the implementation lives in Abseil internals with a planned merge into Googletest.
AI-written summary · about
chapters (7)
- 0:00Introduction and setup
- 7:48Exception safety fundamentals
- 16:02Testing exception safety basics
- 29:11Algorithm deep dive
- 38:19Writing exception safety tests
- 45:07Googletest integration
- 54:42Future directions and conclusion
related talks
59m.NET Testing Techniques You Didn’t Know You Needed
47mTesting the Hard Stuff and Staying Sane
53mC++ Unit testing - the good, the bad & the ugly
34mSwift Testing: A testing framework for modern Swift
26mTesting the Tricky Stuff
20mThe Art of Testing
44mGo Testing By Example
01h 19mYou Can't Test This? Hammertime!
