Commit Graph

85 Commits

Author SHA1 Message Date
Daniel Zaoui 7c47c57383 Isolate legacy code
Only the legacy file read function needs to be public. The H file is not
needed anymore.
2018-05-14 11:09:37 +03:00
Daniel Zaoui 72d998943f Remove unused file (common.c) 2018-05-14 11:09:37 +03:00
Daniel Zaoui 8f9e553d20 Exactness: add the stabilize action to the scenario
This action is needed when the time for the frames to be stable is not
known.
2018-05-14 11:09:37 +03:00
Daniel Zaoui ca185b925a Support of EFL event invocations on named widgets
A new action has been added, permitting the invocation of EFL events on
named widgets.
The name must be set via efl_name_set.
2018-05-14 11:09:37 +03:00
Daniel Zaoui 4373f25dc1 Update ignored files 2018-05-14 11:09:37 +03:00
Daniel Zaoui 2858adbd8d Store delays instead of timestamps in the scenario 2018-05-14 11:09:37 +03:00
Daniel Zaoui 9c3fe1b118 Introduce a remote actions injection mechanism
By executing an application under the player (option
--external-injection), actions can be remotely forwarded.
The communication is done via Eina Debug channel. Therefore, efl_debugd
must be run before the application.
An injection tool has been implemented to show how to communicate with
the application.
2018-05-14 11:09:37 +03:00
Daniel Zaoui 0c30b92bc6 Fix crash when no scenario is present on one side 2018-05-14 11:09:37 +03:00
Daniel Zaoui dc891a41e1 Refactor structures and make them public
The exu doesn't contain the old scenario entries (Variant_st) but the new
(Exactness_Action).
The recorder doesn't create old rec file but only exu.
The player/inspector support rec files by converting them to the new
format internally.
The structures have been tried to be simpler.
2018-05-14 11:09:37 +03:00
Daniel Zaoui ffe0659fbe Inspect: support images displaying from shot entry
A button has been added next to the shot entry. The image itself is set
as the its content.
2018-05-09 21:58:08 +03:00
Daniel Zaoui c3a31c436d Inspect: add --show-only-diffs option
It works only with --compare and in the GUI.
2018-05-09 21:58:08 +03:00
Daniel Zaoui 44cc8381bf Inspect: colorize differences 2018-05-09 21:58:08 +03:00
Daniel Zaoui 56cfef5694 Inspect: add objects information comparison
Genlists management needed to be modified to fit this new feature
2018-05-09 21:58:08 +03:00
Daniel Zaoui fbd75a4356 Add objects information support 2018-05-09 21:58:08 +03:00
Daniel Zaoui 1497fa7336 Recorder: port args to Ecore GetOpt 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 a62f3906e7 Fix images EET handling by using correct APIs 2018-05-06 22:53:30 +03:00
Daniel Zaoui d589c93764 Recorder: support exu 2018-05-06 22:53:30 +03:00
Daniel Zaoui e71334118b Inspect: rename groups names 2018-05-06 22:53:30 +03:00
Daniel Zaoui 5da255c3e8 Inspect: fix timestamps printing 2018-05-06 22:53:30 +03:00
Daniel Zaoui 1086aa6885 Player: support exu as source 2018-05-06 22:53:30 +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 3dd58276a2 Add EET for new Exactness data types 2018-05-06 22:53:30 +03:00
Daniel Zaoui bea26c676e Inspect: introduce a scenario visualizer and compare tool
This replaces the existing exactness_helper. A GUI has been added:
- Compare images
- Compare scenarios
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 76a433273e Introduce a new recorder not using LD_PRELOAD 2018-04-21 22:20:23 +03:00
Daniel Zaoui 7a4e7f2e55 Introduce a new player not using LD_PRELOAD
To make Exactness portable, LD_PRELOAD needs to be replaced by other
mechanisms.
2018-04-21 22:20:23 +03:00
Daniel Zaoui 7c10de63e3 Support adding delay to a specific shot in the scenario
It helps when a shot is not stable and need a few ms more to be ok.
2018-01-01 00:18:27 +02:00
Daniel Zaoui 781f294654 Helper: write recording only if needed 2016-11-06 10:19:37 +02:00
Daniel Zaoui ee1e8f77e1 Print command line when verbose is on 2016-11-06 08:43:47 +02: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 Zaoui 33730b5dcd Destination directory is not needed during simulation
Shots are not needed in this mode too.
2016-10-10 10:42:48 +03:00
Daniel Zaoui 0eb607e7df Separate code related to recording and to playing hooks.
Hooks mixed in a same file leads to less readability.
2016-10-09 10:28:14 +03:00
Daniel Zaoui 905a507ab0 Centralize run command string generation
Most of this command is common to all the run modes.
2016-09-29 08:02:32 +03:00
Daniel Zaoui 95327a0f7c Recording: support new EFL input events
During recording, hooking on Evas functions can't work anymore as they
are no more invoked internally.
The new way to catch the events is to listen to them on the canvas.
Additionally, regular mouse events are now multi events whose tool (device id)
is 0, as well as key events with and without keycode are now always
considered with a keycode that can be 0.

Previous events catching has been kept to support legacy applications.
2016-09-22 07:38:10 +03:00
Daniel Zaoui fefa31d7b2 Fix compilation after Emile API change 2016-09-11 13:14:03 +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
Daniel Zaoui a21c2f39cc Add an new executable to help on recordings maintenance
An issue that currently happens in Exactness is that we don't have any
way to debug the recordings.
Only debug information can help us to figure out what data is stored
inside the rec files.

Three commands are available:
- Clean: remove bad timestamp events and duplicate events
- Add a delay: because of the first event is directly treated if no
first timestamp is present, we need a way to fix recordings by adding
them a delay before the first event.
- List information: display the list of events, as vieet doesn't work at
all. Really helpful to figure out bugs.
2016-03-27 11:53:44 +03: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
Daniel Zaoui 4b2887721b Force scale and finger size
These two environment variables need to be forced to the standard
values to make sure scenarios are well applied.
Without this forcing, mouse clicks are not done at the right
coordinates, leading to a different behavior of the application. In
addition, shots comparison will always fail if the series of images are
based on different values of these variables.
2016-03-02 12:46:26 +02: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
kabeer khan bb051fce2b Prevent deletion of shots having same prefix as test name
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: tasn

Differential Revision: https://phab.enlightenment.org/D2629
2015-06-09 13:52:53 +01:00
kabeer khan 773e539083 Avoid comparing of tests in play step having common prefix
Summary:
Currently genlist_group is also running in play step even if it is
commented in tests.txt. Fixed this issue

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: cedric, stefan_schmidt, tasn

Subscribers: stefan_schmidt

Differential Revision: https://phab.enlightenment.org/D2604
2015-06-04 10:50:33 +01:00
kabeer khan 834021b743 Enabled exactness to use efl beta API's
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: cedric, tasn

Differential Revision: https://phab.enlightenment.org/D2583
2015-05-27 13:12:40 +01:00
kabeer khan e02ad005f1 Using sha1 to compare two images in play step instead of md5
Summary:
Using using emile to calculate image sha1 instead of md5 to compare
two images, hence making exactness independant of md5.

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: cedric, tasn

Differential Revision: https://phab.enlightenment.org/D2569
2015-05-27 11:41:28 +01:00
kabeer khan c883067d4b Added .gitignore in bin folder to ignore exactness binary
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: tasn

Differential Revision: https://phab.enlightenment.org/D2057
2015-02-26 13:10:01 +00: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