X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fkeystest%2FREADME;h=01f1453272380e0c18fea9103a301a6dda1da419;hb=1fe334f1d339ff133d8f5acb2b52fd68ded57b76;hp=8f6cf52994ceb574539f2d1b12a4170cd70f3e48;hpb=5cf6f4f6569ed4a55dff7a39a8d549683dce24a7;p=lyx.git diff --git a/development/keystest/README b/development/keystest/README index 8f6cf52994..01f1453272 100644 --- a/development/keystest/README +++ b/development/keystest/README @@ -3,38 +3,42 @@ This is a program to spam LyX with millions of randomly generated key presses, and collect the crash results. -Since the code involves spamming random keypresses, I'd recommend -running it in a VM, well away from your main X windows session. +Since the code involves spamming random keypresses, I run it under a special +user "keytest", well away from my main X windows session. -In short, to use this, move this directory LT into your LyX source directory -(e.g. lyx-1.6.x, but not lyx-1.6.x/src). Then run LT/lyx_make.sh +To use this software, first configure it by editing the +configuration parameters in shared_functions.sh and shared_variables.sh +then run the following: -It requires the following packages to run - xvkbd wmctrl -the following are also useful: - lyx libqt4-dbg subversion automake +./setup.sh # add keytest user and apt-get required files +sudo -H -u keytest -e xterm # Create a xterm for running keytest in +. ./initXvfb # sets up a fake X server for keytest to play in +./main.sh -It is run by running ./autolyx in one xterm, and ./test.py in another. -I wrote lyx_make.sh as a easy way of updating lyx and running these two -programs together. +Note that this bug finding software is itself quite buggy. CONTENTS: README: this readme file -report.sh: A quick way of generating bug reports and an overview from the logs. +report_html.sh: A quick way of generating bug reports and an overview from the logs. +make_screen_shots.sh: a script for making screenshots, if they are missing from output of above. autolyx: A script to continually restart lyx and collect the bug reports -lyx_make.sh: should updates, compiles, and everything needed to generated logs. maketar.sh: Makes this tar file :) -test.py: Sends LT100 randomly generated keypresses per second to the LyX window. +keytest.py: Sends randomly generated keypresses to the LyX window. killtest: stop the testing stock_text: The stock test to add to each bug report. +watch_keytest.sh: Dumps various info on what keytest is doing, often run as "watch watch_keytest.sh" OUTPUTS: -autolyx: Outputs out/GDB, a log of all output, including backtraces. -test.py: Outputs out/KEYCODES, a list of all keycodes sent to LyX +autolyx: Outputs out/*.GDB, a log of all output, including backtraces. +keytest.py: Outputs out/*.KEYCODES, a list of all keycodes sent to LyX -reports.sh: Outputs - out/overview: an overview of all the frequency of each error - out/overview_sort: as above but sorted - out/report_*: A collection of autogenerated bug reports. +TIPS: +To reduce the degree to which keytest writes to your HDD, you may want to run + mount -t tmpfs -o size=50m tmpfs /home/keytest/kt.dir +as root + +AUTHOR: +Copyright (C) 2009 John McCabe-Dansted, gmatht at gmail dot com. +Published under the Gnu General Public Licence, version 2 or later.