Commit Graph

13 Commits

Author SHA1 Message Date
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 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

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 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 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 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
Daniel Zaoui 4effc37ab0 Support reference timestamp
An issue due to timing happens when applying scenarios on applications.

The first event is directly treated, even if the recorder waited a few
seconds without any action.
The reason is that Exactness saves in the .rec file a timestamp that is
the uptime value, i.e an absolute value. A better choice would have been
to save the number of ms relative to the launch of the application.

Because of this, Exactness doesnt have any way to know when the first
event has to be treated and consumes it whenever possible, i.e at the

This patch adds to the recording file a timestamp reference, corresponding
to the uptime at ecore_init. When applying the scenario, this timestamp
is checked and gives an idea of a delay to wait before consuming the first
2016-03-23 11:42:47 +02:00
Daniel Zaoui 1a35f7e8ba Remove struct member that has no reason to be 2016-03-23 09:06:08 +02:00
kabeer khan 450d2888eb Add key up/down with keycode event handler
To catch key press event added key up/down with keycode event handler

Signed-off-by: kabeer khan <>

Reviewers: cedric, tasn

Differential Revision:
2015-03-04 14:55:17 +00:00
Aharon Hillel eb03cf9f84 exactness: Fixed Multuple-evas support
Signed-off-by: Aharon Hillel <>

SVN revision: 67928
2012-02-14 13:52:41 +00:00
Aharon Hillel b9406b348a exactness: Cleaned tsuite_evas_hook
TODO: Need to add support of multiple evas for messaging

Signed-off-by: Aharon Hillel <>

SVN revision: 67922
2012-02-14 13:52:22 +00:00
Aharon Hillel 034738063c exactness: Initial version of recording lib.
TODO: Need to refine, clean code. TODO: Later fix tests issues.

Signed-off-by: Aharon Hillel <>

SVN revision: 67921
2012-02-14 13:52:17 +00:00
Aharon Hillel e820a4033d Exactness: initial commit.
(Commit message by TAsn):
Exactness is a pixel perfect test suite for elm/evas/edje.
Exactness lets you write tests, and then record a specific interaction
with them, while taking windowshots in the process. The tests can later
be played back (windowshots will be automatically taken) and the
pictures will be compared for differences (usage of fail_if is also
There is a premade set of tests and recordings for all (most?) of the
elementary widgets in various scenarios.
Because of the nature of this test suite, it doesn't handle well any
tests with continued running animations/viedos (timing can never be 100%
      right). But you can use it to test widgets with transition
animations. Bottom line: just give it a go.

Read the README for more inforamtion.

I hope it'll be deployed on our servers soon, as we really need
automatic testing.

Signed-off-by: Aharon Hillel <>

SVN revision: 65961
2011-12-06 16:05:14 +00:00