Commit Graph

31 Commits

Author SHA1 Message Date
Daniel Zaoui 3f31c8f72e Suite: fix exu files comparison
To compare two exu files during the test suite, we need to unpack
the images in directories and make the comparison from there.
The problem is that the "orig" exu file was unpacked in the current
directory as well, leading to compare an image with itself.

The fix consists in unpacking the right exu file.
2018-10-03 12:25:50 +03:00
Daniel Zaoui 9831560caf Use source codes stored in the unit as application
This can be useful if the application is not in an official repository
like elementary_test.
This feature allows compiling the source code and using it to run the
scenario on.
The command (e.g gcc...) must be stored in the unit as well. $SRC and
$DEST can be used to specify the source and destination files in the
command.
2018-08-29 12:08:22 +03:00
Daniel Zaoui e59cca6fce Suite: support player --disable-screenshots options 2018-06-10 11:57:28 +03:00
Daniel Zaoui 08a6abd881 Fix how the jobs are consumed
In init mode, we don't need to compare. So we have to check the mode and
then decide if a comparison or the next test execution is needed.
2018-06-07 12:46:32 +03:00
Daniel Zaoui 4d0579aa15 Fix command preparation in simulation mode
The sentinel was forgotten, leading to issues when launching the
application
2018-06-07 12:45:39 +03:00
Daniel Zaoui 0e1f0cf1c5 Exactness: add fonts support
One of the biggest issue in Exactness is related to the system
configuration differences. Among them, the fonts can for example
impact on the height of the widgets.
The solution to not be dependent on the fonts consist in using embedded
fonts and to force their usage when playing the applications.

The -f option has been added to the player and the recorder so the user
can provide the path to a fonts directory. This option must be set in
order to force the fonts replacement. Since tests shots can use different
fonts, the exu file stores the version of fonts that have been used.
This is why it is needed to have in the provided directory different
directories, each pointing to a different version of the fonts. For
example, some old tests can use fonts of 2017 (e.g directory 20170101)
while new tests will use new fonts (20180601). Check the
exactness-elm-data repository (fonts branch) for a better understanding.

During recording, the -f option will apply the indicated fonts on the
launched application and will record the mouse events accordingly. The
fonts datestamp is stored in the exu output.
During playing, the fonts will be loaded by reading the exu fonts path,
and then the application is launched. If no information is provided in
the exu but -f is used, the tool will load the most recent fonts (by
comparing the datestamp directories).
2018-06-05 00:06:18 +03:00
Daniel Zaoui e215368501 Replace arrays with alloca to prevent dumb warnings
snprintf now throws warning during compilation on potential buffer
overflow when using arrays.
2018-06-04 23:37:35 +03:00
Daniel Zaoui e13c15f39e Fix warnings related to string manipulation 2018-06-04 12:20:50 +03:00
Daniel Zaoui 92457031ee Add first support for Windows and fix many other config stuff
Thanks to vtorri for this patch
2018-05-20 21:29:45 +03:00
Daniel Zaoui 7337672562 Compare the shots directly after the test to speed up
The problem that we try to solve is the time taken to compare the shots after
all the scenarios have been run.
Now, comparing the shots sequentially is done right after the test
finished to run. With -j 1, it won't change anything. With more CPUs, it
will compare while other tests are running, i.e when the CPU is not too
much busy.
2018-05-20 21:29:45 +03:00
Daniel Zaoui f56ee0dfac Suite: replace the compare method
Instead of using ImageMagick, we now use an internal function.
2018-05-16 18:00:39 +03:00
Daniel Zaoui 53a52a3419 Suite: support exu files comparison 2018-05-16 15:16:24 +03:00
Daniel Zaoui 1f063e3715 Suite: support multiple base directories
It is needed if, for example, rec and exu files are not stored in the
same place while an unique tests file is used.
2018-05-14 11:09:37 +03:00
Daniel Zaoui fbd75a4356 Add objects information support 2018-05-09 21:58:08 +03:00
Daniel Zaoui a74cc726f0 Player: port args to Ecore GetOpt 2018-05-09 21:58:08 +03:00
Daniel Zaoui 5555a38c1e Support exu file for Exactness
The exu is a EET file for Exactness (Exactness Unit). It currently
contains the scenario and the images shots.
exactness_inspect supports it, as well as the player (only as output).
2018-05-06 22:53:30 +03:00
Daniel Zaoui 3bcd6bb4de Replace preload invocation with exactness_play 2018-05-06 22:53:30 +03:00
Daniel Zaoui e4ac42a7b1 Refactor exactness binary
As all the file have been merged, code cleaning is necessary. In
addition, some structures have been removed.
2018-05-06 22:53:30 +03:00
Daniel Zaoui 83e34fec36 Merge all the source files of exactness binary
It will be easier to refactor everything after that
2018-04-21 22:20:23 +03:00
Daniel Zaoui dd4c1caade Store and compare objects information at every shot
This feature is aimed to provide a new way to debug applications during
scenarios playing.
When a difference happens between two shots of an application, the
investigation can be tough as the cause may be hidden into a tiny
change, such as an update of the theme.
This feature tries to respond to this problem by storing objects of
the application every time a shot is taken. Then during shots comparison,
objects information are compared and differences are displayed on the
screen.

The feature can be used with the -S option.

For the moment, only hierarchy, order and geometry are checked.
2016-10-26 07:57:24 +03:00
Daniel Hirt 365630b8db Use correct output dir for reports
Not really sure if it needs to generate reports on 'init' mode, but at least now
it will be in the correct directory.
2016-07-13 16:30:07 +00:00
Stefan Schmidt 33787ceb6a Revert "replace "compare" utility with custom compare function using only EFL."
This reverts commit 7989552b29.

This change introduces segfaults on my machine as well as Jenkins every time a
test fails and a comparison of the images is needed. We might want to bring this
back later but for now a working solution is preferred.
2016-03-22 14:13:56 +01:00
kabeer khan 7989552b29 replace "compare" utility with custom compare function using only EFL.
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: cedric, tasn

Reviewed By: cedric, tasn

Subscribers: tasn

Differential Revision: https://phab.enlightenment.org/D2684

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-07-29 23:27:29 +02:00
Tom Hacohen 7f40296382 Sort exactness errors. 2013-06-14 13:33:32 +01:00
Tom Hacohen b5523094af Print an error if report file can't be opened for writing. 2013-06-12 15:15:02 +01:00
Tom Hacohen afb0cd3cd1 Added the 'wrap' parameter, to use a wrapping command around the tests.
A good example would be valgrind.
2013-05-21 15:35:35 +01:00
Tom Hacohen 36fe181d8e Moved recordings to exactness-data-elm. 2013-05-17 11:23:24 +01:00
Tom Hacohen 3e4c93bd83 Make the Exactness error report valid XHTML 1.0 Strict. 2013-05-15 17:20:00 +01:00
Tom Hacohen 11cc575120 Added html output for easier viewing of the errors. 2013-05-15 16:48:04 +01:00
Daniel Willmann feac36f368 Fix destdir usage for destdir != ./
Some more checks would be good, but this fixes basic usage for now.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-09 13:59:58 +01:00
Tom Hacohen c2547c0199 Made the exactness script a C program (with improvements).
It's now considerably faster thanks to concurrency.
It's cleaner (almost the same loc).
Better error output.
Easier to use.
2013-05-08 11:47:59 +01:00