office-gobmx/vcl/workben
Caolán McNamara 639854d77b afl-eventtesting: add a realistic impress workout
Change-Id: Ie40071dd91e28131ddb62c03834fda097a1d90ea
2015-10-16 17:16:52 +01:00
..
eventtesting.impress afl-eventtesting: add a realistic impress workout 2015-10-16 17:16:52 +01:00
eventtesting.writer afl-eventtesting: add a realistic impress workout 2015-10-16 17:16:52 +01:00
fftester.cxx
icontest.cxx Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
mtfdemo.cxx Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
outdevgrind.cxx Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
README.eventtesting afl-eventtesting: add a realistic impress workout 2015-10-16 17:16:52 +01:00
svdem.cxx Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
svpclient.cxx Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
svptest.cxx Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
vcldemo.cxx Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00

Notes on experimental afl driven ui fuzzing

only keyboard events for now

vcl/workben/eventtesting.writer is just serialized "hello" + ctrl+a + ctrl+b
keystrokes to get things started

vcl/workben/eventtesting.impress is a bit more involved and inserts text,
a new slide via the menu, bullets and undos for all of that

currently an arbitrary limit of 50 keystrokes before application quits in
order to initially explore that shallow space

writer:
Xnest :1
cp vcl/workben/eventtesting.writer eventtesting
afl-fuzz -f eventtesting -t 10000 -i ~/fuzz/in.vcl -o ~/fuzz/out.vcl -d -T vcl -m 50000000 instdir/program/soffice.bin --nologo --writer --eventtesting --norestore --display :1

impress:
Xnest :1
cp vcl/workben/eventtesting.impress eventtesting
afl-fuzz -f eventtesting -t 10000 -i ~/fuzz/in.vcl -o ~/fuzz/out.vcl -d -T vcl -m 50000000 instdir/program/soffice.bin --nologo --impress --eventtesting --norestore --display :1

This also works with --headless and no --display entry and thus no Xnest required