vcl/source/app/svapp.cxx | 20 ++++++++++++++++---- vcl/workben/README.eventtesting | 3 +-- vcl/workben/eventtesting |binary 3 files changed, 17 insertions(+), 6 deletions(-)
New commits: commit 9bb6863fcf0784c70a95510b488f0162fe6deb37 Author: Caolán McNamara <caol...@redhat.com> Date: Wed Oct 7 13:40:52 2015 +0100 afl-eventtesting: it has learned to open dialogs, so... close all open dialogs on quitting to avoid triggering the hang timeout and get things moving faster Change-Id: I7469a32549f20d6b0971932e3334cb322f57b1ff diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx index c797d00..d4b197b 100644 --- a/vcl/source/app/svapp.cxx +++ b/vcl/source/app/svapp.cxx @@ -36,6 +36,7 @@ #include <unotools/configmgr.hxx> #include <unotools/syslocaleoptions.hxx> +#include "vcl/dialog.hxx" #include "vcl/settings.hxx" #include "vcl/keycod.hxx" #include "vcl/event.hxx" @@ -347,6 +348,17 @@ namespace ImplWindowFrameProc(xWin.get(), NULL, SALEVENT_KEYUP, &aKeyEvent); return true; } + + void CloseDialogsAndQuit() + { + vcl::Window* pAppWindow = Application::GetFirstTopLevelWindow(); + while (pAppWindow) + { + Dialog::EndAllDialogs(pAppWindow); + pAppWindow = Application::GetNextTopLevelWindow(pAppWindow); + } + Application::Quit(); + } } IMPL_LINK_NOARG_TYPED(ImplSVAppData, VclEventTestingHdl, Idle *, void) @@ -357,7 +369,7 @@ IMPL_LINK_NOARG_TYPED(ImplSVAppData, VclEventTestingHdl, Idle *, void) delete mpEventTestInput; delete mpEventTestingIdle; SAL_INFO("vcl.eventtesting", "Event Limit reached, exiting" << mnEventTestLimit); - Application::Quit(); + CloseDialogsAndQuit(); } else { @@ -369,7 +381,7 @@ IMPL_LINK_NOARG_TYPED(ImplSVAppData, VclEventTestingHdl, Idle *, void) delete mpEventTestInput; delete mpEventTestingIdle; SAL_INFO("vcl.eventtesting", "Event Input exhausted, exiting" << mnEventTestLimit); - Application::Quit(); + CloseDialogsAndQuit(); return; } Scheduler::ProcessTaskScheduling(true); commit 967ea727c7f2c954ee8ac33a888718d8dac11837 Author: Caolán McNamara <caol...@redhat.com> Date: Wed Oct 7 13:22:56 2015 +0100 afl-eventtesting: lets ditch the key repeat and timestamp fields time stamp doesn't matter apparently for keyboard events so ditching it gives less surface area to fuzz repeat showed some interesting effects, but mostly just allows vast paragraphs to be generated causing timeout hangs which isn't what I'm super interested in right now. Change-Id: I955b91745a26d5044f0d53acd3fda0a160e53855 diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx index 7fb612b..c797d00 100644 --- a/vcl/source/app/svapp.cxx +++ b/vcl/source/app/svapp.cxx @@ -336,10 +336,10 @@ namespace return false; SalKeyEvent aKeyEvent; - rStream.ReadUInt64(aKeyEvent.mnTime); + aKeyEvent.mnTime = 0; rStream.ReadUInt16(aKeyEvent.mnCode); rStream.ReadUInt16(aKeyEvent.mnCharCode); - rStream.ReadUInt16(aKeyEvent.mnRepeat); + aKeyEvent.mnRepeat = 0; if (!rStream.good()) return false; diff --git a/vcl/workben/README.eventtesting b/vcl/workben/README.eventtesting index 0336f22..79472cd 100644 --- a/vcl/workben/README.eventtesting +++ b/vcl/workben/README.eventtesting @@ -2,8 +2,7 @@ Notes on experimental afl driven ui fuzzing only keyboard events for now -vcl/workben/eventtesting is just serialized "helloworld" keystrokes to get -things started +vcl/workben/eventtesting is just serialized "hello" + ctrl+a + ctrl+b keystrokes to get things started currently an arbitrary limit of 10 keystrokes before application quits in order to initially explore that shallow space diff --git a/vcl/workben/eventtesting b/vcl/workben/eventtesting index 363260a..b85a203 100644 Binary files a/vcl/workben/eventtesting and b/vcl/workben/eventtesting differ
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits