Commit Graph

546 Commits

Author SHA1 Message Date
Scott Kostyshak
8a656d95d4 ctests: run only pdf4_systemF for ja knitr/sweave
The "bxjsarticle" class only supports export with XeLaTeX and system
fonts.

This commit uses the new exclusion functionality introduced at
10cd5dd2.

The following tests are now ignored:

  export/examples/ja/knitr_dvi
  export/examples/ja/knitr_pdf
  export/examples/ja/knitr_pdf3
  export/examples/ja/sweave_dvi
  export/examples/ja/sweave_pdf
  export/examples/ja/sweave_pdf3

The following tests are no longer ignored:

  export/examples/ja/knitr_pdf4_systemF
  export/examples/ja/sweave_pdf4_systemF
2018-01-15 16:54:05 -05:00
Scott Kostyshak
10cd5dd223 ctests: allow excluding patterns
This allows us to exclude matches of certain patterns in
invertedTests, ignoredTests, unreliableTests, and suspendedTests.

To use this new functionality, prefix "!" to the pattern.

This functionality serves as a workaround in some cases to not being
able to use advanced regular expression techniques, such as
"negative lookahead", with CMake's regular expression engine.

Output of "ctest -N" is unchanged by this commit.

This functionality will be used soon (see next commits).

Patch from Kornel Benko.
2018-01-15 16:32:05 -05:00
Pavel Sanda
d3163a0bee tests: add ref 2018-01-14 15:04:47 +01:00
Kornel Benko
0e4456ae2e Cmake tests: Don't check in file before creating it 2018-01-06 12:05:51 +01:00
Kornel Benko
c2a5a16d97 Added new testcase to check for correct VCS-Info 2018-01-01 14:05:25 +01:00
Kornel Benko
a5a272ece3 ctests: Ignore lyx2lyx warnings regarding ligature dashes
This may amend 586d16a "Fix lyx2lyx conversion of dashes."
2017-12-29 09:28:12 +01:00
Scott Kostyshak
291d2f1037 ctests: invert tests for Arabic splash
The Arabic splash only compiles with XeTeX + system fonts.
2017-12-18 23:30:37 -05:00
Kornel Benko
597dcbb5be Cmake export tests: Use pre-compiled regular expressions
The expressions are used for determining the used external files
in a lyx-source. Using pre-compiled expr makes it more readable.
2017-11-17 17:53:52 +01:00
Kornel Benko
d8a31f1ee6 Cmake export tests: Collect list of all used wrong paths before terminating
Also try to ignore references for files that are part of latex. If they are wrong, so
latex should handle the errors.
2017-10-27 13:22:17 +02:00
Kornel Benko
6720a8ca7c Cmake export tests: Add the die-message to the diestack() param.
Spotted by Scott.
2017-10-26 22:43:24 +02:00
Kornel Benko
d63a866106 Cmake export tests: Make test fail if there is some non-existant sub-file 2017-10-26 21:48:33 +02:00
Kornel Benko
23e67a3829 Cmake tests: Another case of using temporary files
Ctest misinterprets '#' in filenames as comment start,
2017-10-08 11:04:17 +02:00
Günter Milde
54df2f5446 Seminar export fails with latest TeXLive.
Also update the comment on wrong output with "seminar".
2017-10-08 10:36:24 +02:00
Scott Kostyshak
0c7e5c115d Uninvert Japanese tests after fix to #8823
The export ja/lilypond_pdf fails because ps2pdf gives an error. It
is thus still inverted, under the category 'externalissues'. As
Jürgen discovered, ps2pdf succeeds if the -dNOSAFER flag is used.

Note that Kornel is seeing strange behavior with the sweave test,
and thus the label of that test might be changed soon (e.g. to
"unreliable"). For discussion, see:

https://www.mail-archive.com/search?l=mid&q=20171001032524.fr5xfngylththwv2%40steph
2017-10-07 22:37:42 -04:00
Kornel Benko
92628a2990 cmake tests: Try to use valid locales for testing 2017-10-02 10:35:57 +02:00
Kornel Benko
9a42154107 Cmake export tests: Ignore missing glyphs also for doc/(fr|es)/UserGuide 2017-08-12 14:08:12 +02:00
Kornel Benko
37bcf5392a keytests: Allow for checking multiple log files
Handle name may be arbitrary string mathing '[A-Za-z0-9]*'.
This is then used by appending to the commands for the control file.
For instance select 'Alpha' as handle for the control file 'abc'
'COAlpha: abc' ==> open 'abc' for write
'CCAlpha:' ==> close 'abc'
2017-08-04 11:56:19 +02:00
Kornel Benko
401b54b3f6 ctests: eu_UserGuide_pdf[25] compiles again 2017-07-27 13:39:16 +02:00
Kornel Benko
3cc78bba75 Cmake export tests: Ignore missing glyphs also for doc/de/UserGuide 2017-07-26 12:39:46 +02:00
Kornel Benko
a550f7d91e Cmake export tests: Ignore missing glyphs on some tests
Could not find a suitable tex font for the following tests:
	export/doc/uk/Intro_pdf4_texF
	export/examples/uk/splash_pdf4_texF
	export/examples/minted-filelisting_pdf4_texF
2017-06-27 10:26:27 +02:00
Kornel Benko
195e55d3f4 Cmake export tests: Adapt to minted listings
1.) Handle also 'LatexCommand inputminted' in lyxStatus.pm
2.) Add '-shell-escape' to the appropriate converters.
  This applies only to the ctest-environment iff calling
  the script 'prefTest.pl' in the build directory.
2017-06-16 11:39:26 +02:00
Kornel Benko
bf62343924 Cmake export tests: Ignore some acmart tests for now 2017-06-01 11:07:22 +02:00
Kornel Benko
9e0b09e0a1 keytests: Do not save the session info in bug-10636-test
Otherwise the following tests start with 'display source code' enabled.
2017-05-29 13:53:39 +02:00
Kornel Benko
03df04fd3b Add test for #10636 (fixed in master) 2017-05-27 19:54:59 +02:00
Kornel Benko
ca40fdc569 keytests: Add a small delay to each special key
keytest.py: This gives the os some time to update the status.
  All keys with modifier and all possible shortcuts are affected.

Shortcut use corrected in findadv-11-in.txt and findadv-17-in.txt
2017-05-27 11:18:58 +02:00
Kornel Benko
d547ef7c5e keytests: rewritten testcases to use the new searching engine searchPatterns.pl 2017-05-24 16:29:32 +02:00
Kornel Benko
c03d2f17e9 keytests: Adapt to new shortcuts.
Also, due to resolved shortcut clash in slovak gui, there is now no need to
select 'search whole words' twice.
(\Ac\Ac ==> \Ae)
2017-05-22 18:42:44 +02:00
Kornel Benko
176670fc56 keytests: Move shortcut handling into own class 2017-05-22 08:49:26 +02:00
Kornel Benko
b5229cc5a2 keytests: Wrong check for empty key in associative array 2017-05-21 18:38:48 +02:00
Kornel Benko
fa3e656af7 keytests: Implemented use of additional shortcuts in keytest.py
Now, before starting a test with 'TestBegin' in any *-in.txt file
we can create ne shortcuts used by this test.
Defining a shortcut:
	UseShortcut "<shortcut>" "<function>"
Actually adding the new shortcuts to be used by the next lyx-session:
	PrepareShortcuts

Use example is found in findadv-combined-in.txt
The UseShortcut-entries will be traslated into '\bind "<shortcut>" "<function>"'
and with the PrepareShortcuts-entry added to the active use file 'user.bind'
2017-05-21 12:55:47 +02:00
Kornel Benko
7c72823061 keytests: Shorten the output of wrong matches to 10 lines 2017-05-19 12:58:32 +02:00
Kornel Benko
b8eecc2108 keytests: amend 8f74cac381 2017-05-19 12:56:43 +02:00
Kornel Benko
0abdc3dd59 keytests: Handle function-keys for xvkbd too
Function keys are sent to xvkbd as e.g. \[F15], so we should
not split a sequence like "\C\[F15]" into two text pieces.
(Do it like other keys not having a digit in their name (e.g. \[Return]) )
2017-05-19 12:52:59 +02:00
Kornel Benko
8f74cac381 keytests: Add more controls for the *-in.txt files
The controls are described in hello-world-in.txt as
Cr: not expected regex search pattern before next expected match
Cp: not expected search pattern before next expected match

See also findadv-re-04-in.txt for an example
In this test-case, searching for case sensitive and format considering
search is failing.
2017-05-18 13:05:36 +02:00
Kornel Benko
46e472dcf9 keytests: Allow controlfile (used by searchPatterns.pl) to be opened for 'append'
This allows collecting search strings of multiple tests in one file
2017-05-18 00:03:50 +02:00
Scott Kostyshak
8180b9f97c ctests: invert doc/fr/EmbeddedObjects_pdf4_texF
This test started failing after 8bf3d7bb. I did not look deeply into
why, because the corresponding de and es tests were already
inverted, and because in general we do not expect texF tests to work
well.
2017-05-17 15:18:29 -04:00
Kornel Benko
3bdffab7c8 keytests: Polishing 2017-05-17 13:52:54 +02:00
Kornel Benko
09e5acba11 keytests: Rewritten to use searchPatterns.pl instead of pcregrep
Also corrected output of keytest.py. Messages from called
programs were output to stdout wile own printed messages
were still cached.
2017-05-17 12:12:55 +02:00
Kornel Benko
80bc39ebc9 keytests: Extend the search algorithm to pattern with more as 2 lines 2017-05-16 16:45:18 +02:00
Kornel Benko
9b14eb16f5 keytests: Use flush stdout before exiting
Without the flush, often messages are lost at test-end
2017-05-16 13:01:43 +02:00
Kornel Benko
d870a0f2fd keytests: Added some new controls for the *-in.txt files
The controls are described in hello-world-in.txt as
CO: for control file open for write
CN: control notice
CP: simple search pattern
CR: regex search pattern
CC: close control file

The control-file will be used at the end of test by searchPatterns.pl
2017-05-16 09:16:18 +02:00
Kornel Benko
36a3cca3ea keytests: New script to replace 'pcregrep' in more complex cases.
Suppose, we want to test a key sequence which should produce
logs in defined sequence. ATM, we use pcregrep to see, if
a pattern occurs in the log-file. This is OK, if using only single
tests with only one message to care about.
But it is not OK for combined tests.
As an example, the file 'findadv-combine-in.txt' is combining
tests findadv-re-01-in.txt, findadv-re-02-in.txt and findadv-re-03-in.txt.
This test runns here about 25 seconds, while the time for the other three
is about 144 secs.
(Most time is with starting/stopping lyx)
2017-05-14 18:58:55 +02:00
Scott Kostyshak
00f7a95f62 ctests: invert acmart check_load test
The root issue is known and was reported to maintainer.
2017-05-14 04:30:14 -04:00
Scott Kostyshak
ce390c4e49 ctests: adapt patterns to file move
ACM-siggraph was moved to obsolete folder at 5608f6fd.
2017-05-14 04:24:17 -04:00
Kornel Benko
d06191c990 keytests: Polishing the shutdown of lyx at test-end 2017-05-12 22:32:49 +02:00
Kornel Benko
d9464bfcd6 keytests: Make reading of /proc for lyx-status more robust
Often the relevant entry (e.g. /proc/xxxx/status) exists,
but is empty. This led to many tests fail, mostly at
the first tests after the start of the OS.
2017-05-12 13:55:51 +02:00
Kornel Benko
c200e49d67 keytests: Print proc-info in case lyx_status() signals "dead" 2017-05-12 11:22:05 +02:00
Kornel Benko
6afd654bb6 keytests: more tweaking
Tested with QT5.7 QT5.8 (self compiled) and QT4.8
2017-05-11 00:00:42 +02:00
Kornel Benko
bfc0b09e0c keytests: Added debug 'key' to be able to analyse test results.
There still are keys which do not make it into the lyx logfile.
For instance repeated shortcuts.
2017-05-09 21:08:52 +02:00
Kornel Benko
afd32f7843 keytests: some tweaking 2017-05-09 21:07:35 +02:00
Scott Kostyshak
faea3bdb95 Rename powerdot-example.lyx to powerdot.lyx
The file is already in the examples folder.

Similarly, rename

  examples/fr/exemple-powerdot.lyx -> examples/fr/powerdot.lyx

Consistent with 2f44afcb.
2017-05-09 06:57:55 -04:00
Kornel Benko
cee272e030 Keytests: optimize for speed.
The culprit in keytest is the possibility to lose some keystrokes.
The idead here is that the keystokes are cached by QT until some
control character is entered forcing e.g. new dialog.
So, splitting input lines at these characters should be enough
to ensure that the next chars are not lost.
2017-05-07 14:48:06 +02:00
Kornel Benko
48ecf06d9b Cmake keytests: Don't care for lyx still not finished.
The called script keytest.py already takes care of that.
2017-05-07 13:49:10 +02:00
Kornel Benko
948020d9a3 Keytests: Make logfiles unique.
Each test created log-files, but since they were not uniq it was difficult
to check what went wrong for a failed test.
2017-05-07 13:45:48 +02:00
Günter Milde
275bb44158 ctests: move issue with nomenclature insets to a dedicated test case.
iconv fails, if a nomenclature inset contains an uncodable character
This led to failure of the indonesian UserGuide in the attic.
Fix it there and add a minimal, specific test sample instead.
2017-05-04 18:05:18 +02:00
Kornel Benko
d1271f80ec Keytests: improve handling of strings to be send to xvkbd
1.) Don't modify the line as it happened at start of sendKeystringLocal()
2.) Split lines on each keysym (e.g. \[Return])
3.) Beatify the debug output of the sent text
2017-05-04 13:53:09 +02:00
Kornel Benko
c4c989b9c8 Added testcase for crash with using function word-findadv 2017-05-02 12:22:09 +02:00
Kornel Benko
4436431ea5 Remove xvkbd from cmake build.
The directory still exists because automake build refers it.
2017-04-28 11:42:50 +02:00
Kornel Benko
4495481d97 Added a testcase for #8381 (advanced find & replace for lists) 2017-04-27 13:11:21 +02:00
Kornel Benko
514bcb9d93 Keytests: Make the wrapper sendKeystring() around sendKeystringLocal() be recursive
This makes the wrapper working smoothly even for more complicated
input lines.
Also we do not need the window- parameter in call to xvkbd.
Still, there _is_ something fishy. At first run it can happen that
some keytest fail. But not reproducible at subsequent calls.
It feels like QT would cache some data and therefore lyx reacts
later faster.
This work is a result of collaboration with Tommaso Cucinotta.
2017-04-26 16:03:24 +02:00
Kornel Benko
515ca69359 keytests: Speed up some tests
The idea is, that strings going to the lyx-command-field
can be sent at full speed.
2017-04-25 17:37:25 +02:00
Kornel Benko
39d3308721 make the message about ignoring errors clearer 2017-04-24 17:44:31 +02:00
Kornel Benko
54f2d0ee22 keytests: small improvements in test speed 2017-04-24 17:43:39 +02:00
Kornel Benko
0cda6808d7 keytests: Some improvements to keytest.py
Changes are:
1.) make it python3 compatible
2.) rewritten the lyx_status() routine
3.) routines lyx_sleeping(), lyx_zombie(), lyx_dead() now depend on lyx_status()
4.) dont send keystring "\Afn" at start as it is language dependent
5.) handling of TestEnd uses now lyx-commands to stop the lyx-session.
   Use 'kill -9' only if unsuccessful
2017-04-24 17:42:24 +02:00
Tommaso Cucinotta
9824926b4c findadv: using \w instead of [[:word:]] makes test-case std::regex compatible; also, fixed UI shortcuts changes that made test fail. 2017-04-17 00:15:26 +02:00
Tommaso Cucinotta
664798128a findadv: almost all test cases, including \regex[{}, back to working with std::regex. 2017-04-17 00:15:26 +02:00
Tommaso Cucinotta
a1024781bc autotests: skip overly long export-in.sh test by default. 2017-04-16 11:26:29 +02:00
Tommaso Cucinotta
a8bb3171f1 Recovered working autotests for findadv on Linux/Ubuntu (after a long no-use time).
- from specific dependency on wish8.5, to just wish
- from checking the 2nd line of /proc/*/status, to grep-ing on sleeping (old system was failing on newer kernels)
- mode debugging and python output during tests
2017-04-15 23:38:41 +02:00
Günter Milde
ddacfc0581 ctests: test unicodesymbols also with utf8.
The the default input encoding (utf8) whas somehow dropped from
the list. Restore it with explicit naming.
2017-04-12 12:42:26 +02:00
Kornel Benko
c99e2f1fad Add label 'defaultoutput' to export tests using document default output format 2017-03-10 14:35:11 +01:00
Kornel Benko
ef05496ce9 Cmake tests: Add visual indication if a test is ignoring some latex error messages 2017-03-02 15:53:34 +01:00
Kornel Benko
513bb5dad0 Remove regex which does mot mach any test 2017-03-01 18:49:22 +01:00
Günter Milde
42e9c448b0 ctests: Fix some "unreliable" patterns. 2017-03-01 18:31:44 +01:00
Kornel Benko
b8710d8e16 Amend 34d2f3c.
Regexes in *Tests have to be specified for the whole test-names.
2017-03-01 10:04:29 +01:00
Scott Kostyshak
34d2f3cf06 Ignore missing glyphs in a test after TL update
After a TL 2016 update, a test started to fail due to missing
glyphs. For more information, see the ML thread here:

  https://www.mail-archive.com/search?l=mid&q=20170225203955.nas2qopy4l4ukyqq%40steph
2017-02-28 18:31:02 -05:00
Scott Kostyshak
2298ae05f2 Invert a pdf4 test failing because of iconv
This is consistent with other tests failing for the same reason.
For more information, see #9871 and the discussion at

  https://www.mail-archive.com/search?l=mid&q=20170228190738.cgs3tl3ny2bxiegk%40steph
2017-02-28 18:21:23 -05:00
Günter Milde
443eb7bf79 ctests: invert failing Spanish docs, tag unreliable examples.
Babel-Spanish uses utf8-autostrings if it detects Xe/LuaTeX.
This leads to wrong output and/or failures with
8bit TeX-fonts and 8-bit input encoding.
2017-02-27 23:26:08 +01:00
Günter Milde
d319976566 ctests: sort inverted unreliable tests.
We don't invert unreliable tests for the same reason they are
inverted but, e.g., a nonstandard test that fails for some reason even with the
additional requirements installed or a test that shows wrong output
but also an error.
2017-02-26 19:37:15 +01:00
Scott Kostyshak
0d33c78963 Add references for the inverted linguistics tests 2017-02-22 11:59:20 -05:00
Kornel Benko
b01dd12c72 ctests: linguistic files and spanish UserGuide now compile
Thanks to Jürgen's \texpipa changes for linguistic.
2017-02-22 11:48:51 +01:00
Kornel Benko
b04893be44 Cmake tests: Scheherezade font misses glyph '*'
Added "export/export/latex/arabic_simple_pdf4_systemF"
and "export/doc/ar/Intro_pdf4_systemF"
to the list of tests which ignore "missing glyph" error.

Thanks to Jürgen Spitzmüller.
2017-02-22 11:33:01 +01:00
Scott Kostyshak
9fbc73c4d2 ctests: it_Customization_pdf5_systemF now compiles
An update in TeX Live causes the test to pass (also for Kornel), so
now we uninvert the test.

I looked at the output file, and it seems fine to me (although it is
long, and I just checked briefly).
2017-02-19 16:53:39 -05:00
Günter Milde
b863fb0723 ctests: update inversion patterns.
The new TeXLive uses font encoding TU for Unicode fonts with Xe- and LuaTeX.
The command \textquotedbl for straight quotes is no longer supported,
\textipa no longer supported with LuaTeX.
Problems with Spanish Babel and Xe/LuaTeX with 8-bit fonts lead to new errors
in some cases.
2017-02-14 22:31:12 +01:00
Tommaso Cucinotta
7eb64211b0 Revert "Long time no use of the autotests machinery, needs an update."
Pushed by mistake ... not finished yet ... apologies.

This reverts commit be79d2cda8.
2017-01-25 03:13:14 +01:00
Tommaso Cucinotta
be79d2cda8 Long time no use of the autotests machinery, needs an update. 2017-01-25 03:10:56 +01:00
Kornel Benko
40e6035d94 Cmake tests: Use correct 'if' statement to handle language strings 2017-01-14 12:54:08 +01:00
Kornel Benko
b487e2b050 Cmake tests: Allow ignoring some latex error messages
New file: ignoreLatexErrorsTests
The sublabels in this list of export-testnames specify which error
messages should be ignored.
For each sublabel (for example "xxx") the lyx-command line is expanded with
  "--ignore-error-message xxx"
2017-01-11 10:15:13 +01:00
Kornel Benko
0da3824cf6 Cmake tests: Remove use of 'UNRELIABLE' label
Using this label in invertedTests expands the testname unnecessary, so that
we get e.g. labels like:
  SUSPENDED.UNRELIABLE.WRONG_OUTPUT.UNRELIABLE_export/doc/de/EmbeddedObjects_pdf4_texF
OTOH, if using label 'unreliable', we get a warning about label-names clash.
The best is to reset any previous label setting.
2016-12-20 16:26:07 +01:00
Scott Kostyshak
920f4eb50d ctests: invert two unreliable tests
Invert the following two tests:

  UNRELIABLE.WRONG_OUTPUT_export/doc/es/Math_dvi3_texF (Failed)
  UNRELIABLE.WRONG_OUTPUT_export/doc/es/Math_pdf5_texF (Failed)

For discussion, see:

https://www.mail-archive.com/search?l=mid&q=1482080739.2685.14.camel%40lyx.org
2016-12-18 12:43:20 -05:00
Günter Milde
418016bf79 Remove unsupported encoding "pt254".
This encoding (modified Mac Cyrillic for Asian languages) is rarely used and not supported by Gnu iconv.

Update comments in lib/encodings.

Update ctests: Gnu iconv only supports cp858, if configured with "--enable-extra-encodings".
2016-12-06 14:04:50 +01:00
Scott Kostyshak
67094dd6e6 ctests: require up-to-date TeX Live for reliable
The unreliable sublabel varying_versions is now defined to be about
versions other than TeX Live, because we require a full and
up-to-date TeX Live installation for reliable tests.

For discussion, see:
https://www.mail-archive.com/search?l=mid&q=o1ovd9%24479%241%40blaine.gmane.org
2016-12-03 00:39:01 -05:00
Scott Kostyshak
e8844b87ee ctests: invert ar/Tutorial_pdf4_texF
ar/Tutorial.lyx was recently added at f0bc4d43.

Inverting this test is consistent with ar/{Intro,Shortcuts}.
2016-12-01 23:49:05 -05:00
Scott Kostyshak
2d7fd45b90 ctests: uninvert mathmacro tests
These tests now pass (uninverted), likely due to b14e9d52 and
e8f480e7.
2016-12-01 23:37:36 -05:00
Günter Milde
a0ebae829c ctests: univert aas_sample with LuaTeX test.
The missing character problem is fixed upstream.

Also fix the scaling of the \sun-symbol-index by wrapping the symbol in \text.
(wasysym's \sun is valid in text and math mode. LyX  currently adds a spurious \ensuremath.)
2016-12-01 11:47:12 +01:00
Scott Kostyshak
795fa586a9 Invert failing unreliable tests
These tests are "unreliable" and thus their export status contains
less information than reliable tests. However, it contains some
information and could still be used to find regressions. This commit
helps keep the output of a vanilla "ctest" command clean.

See discussion here:
https://www.mail-archive.com/search?l=mid&q=20161127205800.epvjxkeri5yoeqwj%40steph
2016-11-30 09:45:11 -05:00
Kornel Benko
f09cc78a9c Cmake tests: make unreliable tests independent of inverted tests 2016-11-30 00:53:31 +01:00
Günter Milde
ffe4471700 ctests: update invertedTests. 2016-11-25 18:23:12 +01:00
Scott Kostyshak
7cbbf00eaf Improve ctesting of Arabic documents
- invert the currently failing tests
- add a new test document that shows LyX's support of pdf2

For more details, see the discussion here:
https://www.mail-archive.com/search?l=mid&q=20161114035123.s5lt4ib4x4obtptp%40steph
2016-11-24 23:10:16 -05:00
Günter Milde
5fba6aed21 ctests: correct inversion pattern for utf8-cjk tests. 2016-11-24 11:53:18 +01:00
Günter Milde
f174988b7f ctests: correct encoding tests
* Do not test encodings not supported by iconv (see #10502).
* uninvert export test that work.
2016-11-23 17:43:31 +01:00