Commit Graph

57 Commits

Author SHA1 Message Date
Kornel Benko
a99dc05e18 Cmake tests: Make foreach() command robust
Cmake's foreach command includes forms
  foreach(<loop_var> IN LISTS <lists>)
  foreach(<loop_var> IN ITEMS <items>)
  foreach(<loop_var> RANGE ...)
We get the lines to be parsed by
  file(STRINGS "${filepath}" lines)
If in the parsed lyx-file there is a line
containing only the single word 'IN',  or 'RANGE', then
the command
  foreach(_l ${lines})
can create a syntax error (at least with cmake1.16)

In fact, in file pl_Additional.lyx:12913 happens to have
such a beast.

(cherry picked from commit 7b44280da4)
2019-12-31 11:35:54 +01:00
Scott Kostyshak
2c20f06d25 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.

(cherry picked from commit 10cd5dd223)
2018-01-15 16:58:59 -05: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
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
f09cc78a9c Cmake tests: make unreliable tests independent of inverted tests 2016-11-30 00:53:31 +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
Günter Milde
1ff4aeaf1f Complete the renaming of a ctest sample directory.
Rename the directory for test samples  "export/latex/Unicode-characters" to "export/latex/unicodesymbols". This matches the purpose to test the lib/unicodesymbols file.
2016-11-14 14:32:46 +01:00
Kornel Benko
3ade00683c Cmake export tests: Check exports also for different possible input encodigs
Affected are all lyx files in "autotests/export/latex/Unicode-characters" directory.
This completes the commit 6674a91573

Thanks Günter.
2016-11-10 00:56:49 +01:00
Günter Milde
d7d23934bc ctests: rename pattern file "suspiciousTests" to "invertedTests". part 2 2016-09-16 21:02:18 +02:00
Günter Milde
27420e84ad ctests: rename pattern file "suspiciousTests" to "invertedTests". 2016-09-16 12:10:48 +02:00
Kornel Benko
a9a45344b8 Cmake build: Add format V2.2 to export tests 2016-08-29 18:14:37 +02:00
Kornel Benko
4162424762 Cmake xhtml export tests: Use command xmllint to test the export result 2016-05-30 09:50:22 +02:00
Kornel Benko
454b83694a Cmake export tests: Allow also '_' char as part of ctest-label
Missed in previous commit
2016-03-26 13:16:46 +01:00
Kornel Benko
41447b1225 Cmake export tests: Label handling
In collaboration with Günter Milde:
1.) Allow char ':' be part of a ctest-label
2.) Eliminate redundant label naming and directory names
    (The testnames should not repeat the directory name)
2016-03-26 13:06:14 +01:00
Kornel Benko
8e267a7315 Cmake export tests: Initalize the output variable 'inverted' in macro 'matetestname()'
It could happen that the variable was set in creating a previous test-case.
Some combinations in the controlling files (suspiciousTests, unrelibleTests, ...)
did not set this variable.
2016-03-17 00:36:02 +01:00
Kornel Benko
a10b671317 Cmake lyx2lyx tests: Use a loop to execute roundtrips
Exporting to some previous lyx format:
Inside the loop
  Stop at export with errors/warnings
  Stop if exported file not loadable
  Stop if exported file identical to previous exported file (OK case)
    This is done through creating MD5SUM
2015-12-28 06:00:10 +01:00
Kornel Benko
8d1d46743b Cmake lyx2lyx tests: Add roundtrip to exported lyx-files
Until now we exported e.g. to lyx16x ans tested if the result is loadable.
Now we also test if export of the exported is loadable.
2015-12-27 20:05:37 +01:00
Kornel Benko
ddfd228dc3 Cmake check load tests: Allow tests to use the filter .*Tests
Now we can also select which lyx-file may or may not be loaded
in the same way as was for export tests.
2015-12-27 18:56:36 +01:00
Kornel Benko
91a8ae9050 Cmake export tests: Add labels 'lyx2lyx' and 'load' to tests exporting to a lyx format.
The test uses lyx2lyx and loads the exported file.
2015-12-27 18:03:54 +01:00
Kornel Benko
e3cd6db4a7 Cmake export tests: Check if exported lyx files are loadable
Also added tests for export to lyx21 format.
2015-12-25 10:28:40 +01:00
Kornel Benko
e0dd541634 Cmake export tests: Adapt exports to changed mathmacros path.
Missed in last commit.
2015-12-18 10:29:55 +01:00
Kornel Benko
1a3b5a4ea7 Moved development/mathmacros dir to autotests dir 2015-12-18 07:56:20 +01:00
Kornel Benko
4e9fe808d7 Cmake export tests: Correct some quirks
1.) Label lyx2lyx was handled wrong (removed '2')
2.) tests were named '_lyx2lyx' instead of only 'lyx2lyx'
2015-12-17 12:57:34 +01:00
Kornel Benko
8876ad1035 Remove non-lyx file form tests. 2015-12-17 09:43:56 +01:00
Kornel Benko
3ed174cc03 Cmake export tests: Handle default output format 'pdf2' in manuals like 'default'
This is, because almost all manuals are now having pdf2 as default.
2015-12-13 12:31:43 +01:00
Kornel Benko
a9764cf191 Cmake build: Initialize some variables before use. 2015-12-09 15:37:58 +01:00
Kornel Benko
4dd77996a1 Cmake export tests: Allow deeper label nesting.
Previously all labels got the depth '7' while processing 'suspiciousTestss'.
The depth is used to sort how our labels are used to build a test-label.

Say a test gets label a, b, and c, with depth 3, 8 and 2.
The constructed test-label will be "b🅰️c"
For new (to be implemented) 'reason-labels' it is more convenient to assign them higher values.
2015-12-05 19:37:17 +01:00
Kornel Benko
0008e36ff4 Typo 2015-12-04 19:32:09 +01:00
Kornel Benko
548a7ac364 Cmake tests: Rename label 'reverted' to 'inverted'. 2015-12-03 00:23:07 +01:00
Kornel Benko
cf3156d22d Cmake export tests: Create concatenated labels in the form 'export:reverted:examples:chemgreek' 2015-12-02 22:18:43 +01:00
Kornel Benko
e39025797e Cmake export tests: Remove label 'reverted' from suspended tests.
LyXMacros.cmake: Overseen the macro 'setmarkedtestlabel()' which added it automatically
  if the test was to invert the test result.
ExportTests.cmake: Correct label handling
2015-12-02 13:28:16 +01:00
Kornel Benko
037e9051f7 Cmake export tests: Remove assignement doing nothing 2015-11-30 13:12:30 +01:00
Kornel Benko
5d51ec20b5 Cmake export tests: More refactoring. 2015-11-29 02:18:07 +01:00
Kornel Benko
a07f9b7119 Cmake export tests: Ignore spaces after expressions in .*Tests files 2015-11-28 19:08:19 +01:00
Kornel Benko
56ecd464f3 Cmake export tests: Renamed file revertedTests to suspendedTests
Also some refactoring to handle the labes.
2015-11-28 18:23:29 +01:00
Kornel Benko
df22dfdf6b Cmake export tests: Correct some mistakes in commit 4138ab7 2015-11-28 09:30:49 +01:00
Kornel Benko
4138ab7916 Cmake export tests: Implemented multiple sublabels for each test. 2015-11-27 15:12:47 +01:00
Kornel Benko
21c265addb Cmake: ENCODING parameter in file(STRINGS ...) only valid for cmake version >= 3.1 2015-11-26 12:08:13 +01:00
Kornel Benko
72812a2054 Cmake export tests: Removed unneded parameter 2015-11-25 10:19:49 +01:00
Kornel Benko
c178c8ab32 Cmake export tests: Check for reused labels included
Labels defined in .*Tests should be unique. Now at least a warning is
produced.
2015-11-24 21:23:38 +01:00
Kornel Benko
12faf2b161 Cmake export tests: Added sublabel handling also to revertedTests
As an example the inserted label 'chemgreek' shows also
how to reset the sublabels.
2015-11-24 20:18:08 +01:00
Kornel Benko
05b517e614 Cmake export tests: Renamed nonstandardTests to unreliableTests
and introduce sublabels

Sublabels section in *.Tests starts with 'Sublabel: name'
and is valid until start of a new sublabel.
'name' contains only ascii characters [a-z]+
2015-11-24 18:42:36 +01:00
Kornel Benko
2c3e49cb21 Cmake export tests: Added directory "autotests/export" 2015-11-23 13:12:53 +01:00
Kornel Benko
76e0568697 Cmake export tests: Added development/mathmacros to the list 2015-11-22 15:10:46 +01:00
Kornel Benko
5a9ddb31fd Cmake export tests: Created sub-labels manuals, examples, templates, mathmacros, autotests.
To test all export use 'ctest -L export'. This is unchanged.
The following lists directories and assigned sub-label
 lib/doc: manuals
 lib/templates: templates
 lib/examples: examples
 development/mathmacro: mathmacros
 autotests: autotests
2015-11-22 13:44:27 +01:00
Kornel Benko
c818fea3af Cmake export tests: Finished categorizing tests.
Now
'ctest -L export' should be without errors
If there _are_ errors, the appropriate test should go to nonstandardTests

'ctest -L reverted' should be without errors
If there _are_ errors, the appropriate test should go to nonstandardTests

'ctest -L nonstandard'
Tests here may, or may not fail. Depends of installed tex extensions
2015-11-20 10:20:10 +01:00
Kornel Benko
3d766ad241 Cmake export tests: More tests to be inverted, suspended or made non-standard
All comments in revertedTests comes from Günter Milde
Non standard test is new. It should collect all tests
which may not work because of some missing non-standard
tex package or some exotic system font.
2015-11-17 18:22:45 +01:00