lyx_mirror/development/autotests
Scott Kostyshak b9c8f2c3e2 ctests: uninvert xhtml test thanks to fix
Thanks to the fix at 18657384, this test is fixed.
2024-10-16 19:03:40 +02:00
..
xvkbd
beginEndStructureCheck.pl
bug-7673-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
bug-7673.lyx
bug-7673b-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
bug-8370-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
bug-8370.lyx
bug-8482-in.txt keytests: Add a small delay to each special key 2017-05-27 11:18:58 +02:00
bug-8540-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
bug-8684-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
bug-8684.lyx
bug-10636-in.txt Modify 2 tests to reflect actual GUI 2020-05-30 11:14:26 +02:00
bug-10636.lyx Add test for #10636 (fixed in master) 2017-05-27 19:54:59 +02:00
bug-export-latex-in.txt Modify 2 tests to reflect actual GUI 2020-05-30 11:14:26 +02:00
bug-math-undo-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
check_load.cmake
CheckLoadErrors.cmake
CMakeLists.txt Cmake tests: Save the number of ignored tests in file for later review 2020-11-27 00:51:36 +01:00
ctests-costs-benefits.txt ctests: log a fixed issue 2022-12-19 22:35:38 -05:00
examineXmllintOutput.pl Cmake export xhtml tests: load dtd if checking ouput with xmllint 2020-09-20 11:47:04 +02:00
export-in.sh
export.cmake Cmake tests: Amend 6e05409d 2024-09-22 11:40:28 +02:00
ExportTests.cmake Cmake export tests. Add validation of lyxhtml exported files 2023-01-08 17:18:30 +01:00
filterCheckWarnings ctests: adapt ignored warnings to new messages 2022-04-29 19:05:30 -04:00
filterXml4Sax.pl Fix filterXml4Sax.pl to work under Windows 2020-10-13 21:38:38 +02:00
findadv-01-in.txt Amend 1dedd398: Adapt some tests to use unspecified unbind. 2022-07-27 20:27:59 +02:00
findadv-02-in.txt Amend 1dedd398: Adapt some tests to use unspecified unbind. 2022-07-27 20:27:59 +02:00
findadv-03-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
findadv-04-in.txt Amend 1dedd398: Adapt some tests to use unspecified unbind. 2022-07-27 20:27:59 +02:00
findadv-05-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-06-in.txt Ctests: Adapt test 06 to changed shortcut 2022-05-14 14:49:03 +02:00
findadv-07-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-08-in.txt Cmake key-tests: Adapted to changed shortcuts 2022-03-26 19:38:55 +01:00
findadv-09-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-10-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-11-in.txt Cmake tests: findadv-01 - findadv-21 working 2021-01-17 14:30:34 +01:00
findadv-12-in.txt Amend 1dedd398: Adapt some tests to use unspecified unbind. 2022-07-27 20:27:59 +02:00
findadv-13-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
findadv-14-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-15-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-16-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-17-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-18-in.txt Cmake key-tests: Adapted to changed shortcuts 2022-03-26 19:38:55 +01:00
findadv-19-in.txt Cmake key-tests: These are very touchy in respect to timings 2021-01-29 16:11:16 +01:00
findadv-20-in.txt Amend 1dedd398: Adapt some tests to use unspecified unbind. 2022-07-27 20:27:59 +02:00
findadv-21-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-22-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-combined-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-crash-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
findadv-logo-in.txt Amend 1dedd398: Adapt some tests to use unspecified unbind. 2022-07-27 20:27:59 +02:00
findadv-re-01-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-re-02-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-re-03-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
findadv-re-04-in.txt Amend 1dedd398: Adapt some tests to use unspecified unbind. 2022-07-27 20:27:59 +02:00
findadv-re-05-in.txt Cmake key-tests: These are very touchy in respect to timings 2021-01-29 16:11:16 +01:00
findadv-re-06-in.txt FindAdv tests: update to new shortcuts 2022-05-10 15:03:11 +02:00
first-time-in.txt keytests: Added debug 'key' to be able to analyse test results. 2017-05-09 21:08:52 +02:00
getTempDir.pl
hello-world-in.txt keytests: amend 8f74cac381 2017-05-19 12:56:43 +02:00
ignoredTests ctests: adapt inverted & ignored to renamings 2023-02-11 14:44:47 -05:00
ignoreLatexErrorsTests Revert "Ignore missing glyphs for fr/Customization.lyx" 2020-08-29 15:20:49 +02:00
invertedTests ctests: uninvert xhtml test thanks to fix 2024-10-16 19:03:40 +02:00
keytest.py Final (?) update to the TODO 2022-11-28 15:16:19 +01:00
lyx2lyxtest.cmake ctests: adapt ignored warnings for lyx2lyx tests 2022-04-29 20:43:48 -04:00
lyxStatus.pm Cmake docbook5 tests: Use absolute path-hints for 'bibfiles' entries in lyx-file 2020-11-29 08:48:16 +01:00
Makefile
readDefaultOutputFormat.pl Cosmetics 2024-10-15 10:47:26 +02:00
README
run-tests.sh findadv: almost all test cases, including \regex[{}, back to working with std::regex. 2017-04-17 00:15:26 +02:00
searchPatterns.pl Correct typos of "occurred" in warnings/errors 2022-11-06 10:06:50 -05:00
simplehtml_validity.py Cmake tests: Nothing to output in case of no error in simplehtml_validity.py 2023-01-11 06:45:38 +01:00
single-test.cmake keytests: New script to replace 'pcregrep' in more complex cases. 2017-05-14 18:58:55 +02:00
single-test.sh keytests: New script to replace 'pcregrep' in more complex cases. 2017-05-14 18:58:55 +02:00
stop_autotests.tcl
stop.gif
suspendedTests DocBook: deploy fix for acknowledgements. 2020-11-27 02:12:29 +01:00
tabular-footnote-in.txt keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
unreliableTests ctests: do not mark Hebrew + Lua as unreliable 2023-04-04 15:30:02 -04:00
useSystemFonts.pl Revert "Revert "Cmake export tests: Add epub-format to be tested"" 2021-02-17 22:41:40 -05:00
xmlParser.pl Cmake docbook tests: Check for correct use of namespaces 2020-08-22 17:40:34 +02: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.

Alternatively, a test-case can be an arbitrary executable script with
name ending in "-in.sh", that is launched inside a dedicated folder,
and to which the variables LYX_ROOT and LYX_EXE are exported, so that
you can easily reference the root LyX sources folder and the program
executable. The test script needs to complete with a no-error return
value (zero), otherwise a failure is reported (see export-in.sh for
an example).

Whenever LyX is launched, in both cases, the LYX_USERDIR variable is
set to autotests/out-home, in order to rely on clean preferences
settings (use make clean or make without arguments in order to let
that folder be created again).


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.