lyx_mirror/development/autotests
Tommaso Cucinotta ec46b98d8c Fixed bug in matching at borders within *-environments with ignore-format off.
(related to #7596)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38863 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-27 21:14:36 +00:00
..
xvkbd Added -wait_idle option to wait for the target process to idle at each key press. 2011-02-06 22:47:33 +00:00
findadv-01-in.txt Saving a doc is faster and more reliable by Ctrl-s, rather than activating a menu (thx Pavel). 2011-02-03 09:13:19 +00:00
findadv-02-in.txt More regular expression testing. 2011-02-06 22:48:54 +00:00
findadv-03-in.txt fix findadv-03-in.txt 2011-02-03 00:01:53 +00:00
findadv-04-in.txt Saving a doc is faster and more reliable by Ctrl-s, rather than activating a menu (thx Pavel). 2011-02-03 09:13:19 +00:00
findadv-05-in.txt More regular expression testing. 2011-02-06 22:48:54 +00:00
findadv-06-in.txt More regular expression testing. 2011-02-06 22:48:54 +00:00
findadv-07-in.txt More regular expression testing. 2011-02-06 22:48:54 +00:00
findadv-08-in.txt Replaced the Ctrl+Shft+r sequences for entering regexp-mode with [Alt+x]regexp-mode[Ret], 2011-02-14 20:41:46 +00:00
findadv-09-in.txt Replaced the Ctrl+Shft+r sequences for entering regexp-mode with [Alt+x]regexp-mode[Ret], 2011-02-14 20:41:46 +00:00
findadv-10-in.txt Added test-case for finding (properly) LyX & LaTeX (special phrases exported 2011-02-12 11:06:09 +00:00
findadv-11-in.txt Revert wrong previous commit. 2011-03-19 10:34:59 +00:00
findadv-12-in.txt Regression test for #7442. 2011-04-14 22:21:18 +00:00
findadv-13-in.txt Bugfix in how the search buffer was exported for the Advanced Find & Replace. 2011-05-26 17:08:48 +00:00
findadv-14-in.txt Fixed Advanced F&R issue in matching things at environment borders with ignore-format off. 2011-05-27 20:39:58 +00:00
findadv-15-in.txt Fixed Advanced F&R issue in matching things at environment borders with ignore-format off. 2011-05-27 20:39:58 +00:00
findadv-16-in.txt Fixed bug in matching at borders within *-environments with ignore-format off. 2011-05-27 21:14:36 +00:00
first-time-in.txt Added the creation of a custom .lyx folder inside pwd/home/.lyx at 2011-02-01 22:08:07 +00:00
hello-world-in.txt Now the framework works running LyX in the language required by the test 2011-02-10 22:33:23 +00:00
keytest.py Added check for assertions or anomalous exits of LyX on TestEnd. 2011-04-22 22:23:16 +00:00
Makefile Added version suffix to symlinks. Tested with --enable-version-suffix. 2011-02-11 23:27:34 +00:00
README A few clarifications, more TODOs. 2011-04-16 10:58:20 +00:00
run-tests.sh Revert no intended change 2011-05-12 13:35:10 +00:00
single-test.sh Made use of internal hacked xvkbd optional. Now it is needed and 2011-02-06 22:50:07 +00:00
stop_autotests.tcl Now the framework works running LyX in the language required by the test 2011-02-10 22:33:23 +00:00
stop.gif Added emergency STOP button in tcl/tk window for immediate & painless termination of the tests. 2011-02-07 23:32:27 +00:00
tabular-footnote-in.txt Added test for crash in current trunk (i.e., this is failing now). 2011-04-22 22:23:42 +00:00

Automated tests based on the "MonKey Testing" keytest program.
======================================================================

WARNING!!
----------------------------------------------------------------------
Running the tests in this folder may cause abrupt kill of existing
LyX instances on your system. In order to avoid any possible data
loss, quit any running instance of LyX in which you're carrying out
real work. Also, although precautions have been taken in order to not
allow the key presses to reach non-LyX windows, this may sometimes
happen anyway. Please, close any running application that is not
strictly needed.


DEPENDENCIES
----------------------------------------------------------------------
The following programs are needed by the testing framework:
- xvkbd: a modified copy of xvkbd is included in this folder, and should
         be built before running the tests
- wmctrl
- pcregrep
- Tcl/Tk (wish8.5)


USAGE
----------------------------------------------------------------------
In order to launch all the tests available in this folder, just run

  make

and do not interact with your computer while the tests are running.

If you wish to launch one or more specific tests, then provide them
as argument to the run-tests.sh script, e.g.:

  ./run-tests.sh <whatever>*-in.txt

For failed tests you get a folder with the logs that help you identify
the problem.

Despite the efforts to avoid it, sometimes a test fails simply because
the key presses provided to the process are someway lost due to slow
hardware, slow window manager, too beautiful and animated desktop,...
When this happens, the tests should be run with a higher delay among
key presses. The default of 100 milliseconds can be changed by setting
the XVKBD_DELAY environment variable.

The standard xvkbd available on your system may be used to run the
tests. However, a custom xvkbd may optionally be used that forbids the
testing framework to type into non-LyX windows and may mitigate the
issue described right above. This option can be activated by defining
the XVKBD_HACKED environment variable to any value.


SYNTAX
----------------------------------------------------------------------
Each test-case script should be named as xxx-in.txt. The syntax of the
script is described in detail in the sample test-case script
hello-world-in.txt.


TODO
----------------------------------------------------------------------
Speed-up the execution of the tests as much as possible (i.e., get rid
of heuristic waits when present and replace them with exact check of
the condition we're waiting for).

Allow for tests with multiple LyX instances, e.g., for copy&paste
across LyX instances, or multiple applications, i.e., for testing
the interaction between LyX and other applications.

The modified xvkbd forces the focus on the specified target window
(for safety reasons).  Allow for a temporary disable of this within
the scripts, whenever we need to interact with a pop-up dialog.