Revisiting "too small to fail"
Revisiting "too small to fail"
Posted May 21, 2017 21:49 UTC (Sun) by zlynx (guest, #2285)Parent article: Revisiting "too small to fail"
Even fancier, if the test framework could examine branch conditions and work backward to create the conditions to exercise untested branches. Or if it can't work it out, log it for developer attention so a custom test rule can be created.
Although, it'd also need a lot of verification code written. Sure, the memory allocation failure during bad block handling during a btrfs scrub, at the same time the SAS link got hot-removed got handled, but is the filesystem still correct? Someone has to write that.
Or possibly a simpler idea, take one of the existing automatic unit test generators and modify it for kernel code, although there's always the problem of knowing if the hardware is being simulated correctly.
Posted May 22, 2017 15:28 UTC (Mon)
by mageta (subscriber, #89696)
[Link]
If there is simulation at all. CPU/MMU alright, even some basic I/O. But I'd wager, for over 90% of the hardware for which the kernel has drivers there is no simulation at all. There is also no trend to make more "simulations", its (understandably) much more interesting to do para-virtualized solutions.
Posted May 23, 2017 9:34 UTC (Tue)
by vegard (subscriber, #52330)
[Link]
I've been running trinity and syzkaller with this patch, which records unique callchains and fails allocations from previous-unseen callers:
https://patchwork.kernel.org/patch/9378219/
It works pretty well and uncovered a handful of cases that I submitted patches for, but far less than I would have expected.
Revisiting "too small to fail"
Revisiting "too small to fail"
