Testing & Fuzzing Microconference Notes



Welcome to Linux Plumbers Conference 2017

The structure will be short introductions to an issue or topic followed
by a discussion with the audience. A limit of 3 slides per presentation
is enforced to ensure focus and allocate enough time for discussions.

IF SOMEONE PRESENTS MORE THAN 3 SLIDES, PLEASE HECKLE AND THROW THINGS AT THEM!


Please use this Etherpad to take notes. Microconf leaders will be giving
a TWO MINUTE summary of their microconference during the Friday
afternoon closing session.

Please remember there is no video this year, so your notes are the only
record of your microconference.

Miniconf leaders: Please remember to take note of the approximate number
of attendees in your session(s).

Please help us take notes at: https://etherpad.openstack.org/p/LPC2017_Testing_Fuzzing

WIKI: http://wiki.linuxplumbersconf.org/2017:testing_fuzzing
    
SCHEDULE


Introduction, BOF Recap

Sasha started with discussing about the BoF on Testing last night.
Talking adding testing to CI. 
Sasha: it's important for distros to send their distro commits to stable
Are reverts OK in the stable tree?
 Fuzzers panel: Panel + open discussion regarding progress since last year and future goals

Ktest:
    Automatic testing on a series of patches, maintaining bisectability
    Performs complete testing for each patch: build, install, boot, etc
    Able to bisect kernel configs
    TODO: email support
    
Intel GFX CI:
    Tests actual hardware
    Running with a lot of debug configs, KASAN etc
    Pre-merge testing of patch series sent by devs
    They run a fork of patchwork for patch series, full test results are available on the Web, sent back to MLs
    Track persistent test failures to avoid reporting them every time
    People get very attached to patches that are merged, so it's critical to perform the testing before the patch lands
    There're a lot of regressions on linux-next in other subsystems
    Nobody is testing their code before pushing it to linux-next, assuming someone does the testing - this makes it impossible to test
    Suspend/Resume is an area which should be better tested -- very popular and not good coverage now

KTF: Kernel testing framework 
    A kernel module that uses gTest as a userspace frontend and communicates to the kernel to execute the actual tests
    Let us make the devs hooked on testing, so they enjoy writing the tests
    Need a shift towards TDD; it's important that the tests must be committed to the kernel tree
    "Developers are bad at testing, needs to be a dedicated person" vs. "Tests written by the dev are better than no tests"
KMSAN KernelMemorySanitizer
kernelABI Specification Program
kernel unit test discussion, continued