This adds many Efl.Text.* that are useful for manipulating the
underlying TEXTBLOCK object's propeties using efl_part.
This has been implemented as part of the "user-defined" properties of
the layout part, so that the changes on the part persist across load of
different groups.
Note that text styles have precedence over the TEXTBLOCK (Canvas.Text)
object's properties. if an edc provides a style, the properties it
manipulates as part of the "base:" string would not be affected by this
API.
In general, this helps reducing the amount of styles for objects (or
modes of the same objects) that share the same setup, but are different
in some properties (e.g. ellipsis, wrap etc).
@feature
Canvas layout: add text part "expand" property
This adds "expansion modes", which are essentially the same as min/max
hints in the edje part's 'description.text' fields.
The user can then customize his widget to different modes without being
forced to create a new edje group in the theme.
Note that there is an added check in case one of the min/max text flags
are provided from the theme. In such case, all flags from this new API
will be ignored.
This fortifies misuse where the flags are set both in theme and the API.
@feature
This will make it easier for generators and utilities to retrieve
the class that implemented a method/property/etc rather than the
class the implement was originally defined for. Thanks to this
it will no longer be necessary to carry the class pointer around
the place.
Summary:
This tagging keyword explicitly asks, for bindings that support it,
that the constructor's parameters are added to the class constructor.
Allowing the user to instantiate the class and call the constructor in
a straightforward way.
Reviewers: q66, woohyun, bu5hm4n, Jaehyun_Cho, segfaultxavi
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers, lauromoura
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7221
there is the need to assemble the search path where the .so files can be
found. This is now added to the test suite.
In future this could ne added to meson directory. Since this is a
general csharp problem.
The tests are added and build. For running C# code please see the wiki.
you can enable -Dmono=true
Differential Revision: https://phab.enlightenment.org/D7203
This uses the meson/ninja depfile functionality + eolian to make
sure proper dependencies between generated files and .eo files
are managed, to ensure consistent re-generation of all generated
files that are affected upon .eo file modification.
For custom rules with multiple outputs, Ninja currently does not
support depfiles. Therefore, split those into two custom rules
so that the depfiles functionality can be enabled. While this
is ugly and slows down the process a little by having to invoke
Eolian twice instead of once, it has to be done and it's still
better than what we had in Autotools anyway.
Differential revision: D7187
Fixes T6700.
the definition is now defined in the buildtools autools / meson. This
reduces the amount of warnings in meson.
Differential Revision: https://phab.enlightenment.org/D7170
Summary:
parent is NULL, this results in a error. And a NULL object. This fixes
that!
Depends on D7163
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7164
Summary:
its the define for the directory where data is installed in the fs. Not
where to find test data in the tree - TESTS_SRC_DIR is defining the
same - however, with this change we are consistent and i dont need to
change the meson automatic define generation.
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7163
Summary:
when the compiler is instructed that symbols are local by default. Then
the testsuite will fail, due to eo_test_general.c including the
indirection header, which uses the ERR macro, which needs the
_eo_log_dom symbol.
Depends on D7145
Reviewers: netstar, zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7147
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.
meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.
Further informations can be gathered from the README.meson
Right now, bindings & windows support are missing.
It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
Summary:
If edje_text_get is called before any edje_text_set function call, it return
null, because rp->typedata.text->text is only set by edje_text_set function.
If there is no available text data, find it from rp(edc).
ref 7bbf18a950
Test Plan: make check
Reviewers: zmike, id213sin, herdsman
Reviewed By: id213sin
Subscribers: Hermet, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6961
The function simply checks if the object is finalized and not
started to be invalidated or invalidated.
Differential Revision: https://phab.enlightenment.org/D6723
ensure that animator ticks are occurring at the same time as render
dumping in order to further speed up tests
Differential Revision: https://phab.enlightenment.org/D6766
Summary: This will allow deep copying the given value from C#.
Reviewers: felipealmeida, vitor.sousa, segfaultxavi
Reviewed By: vitor.sousa, segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7017
Summary:
Use the native event loaded from dlsym directly instead of wrapping it
in a Event_Description structure.
Fixes: T7355
Reviewers: felipealmeida, vitor.sousa, segfaultxavi
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl_language_bindings
Differential Revision: https://phab.enlightenment.org/D6981
Summary:
efl_finalize override is called inside efl_add_end. Previously by this
time the constructor still hadn't saved the C# wrapper handle into the
Eo instance private data, to be recovered in the static delegates that
call the C# overrides.
This commit just changes the order to save the C# handle *before*
calling efl_add_end.
Test Plan: added unit test to be run with make check
Reviewers: felipealmeida, vitor.sousa, Jaehyun_Cho
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6956
Summary:
(1) EFL_START_TEST(TEST_NAME) is defined as follows if you are using
the 0.12.0 check:
START_TEST(TEST_NAME) \
_timing_start();
(2) START_TEST(__testname) is defined as follows
(To make it simple I am using 'blah-blah' here):
static void __testname_fn (blah-blah);\
static const TTest __testname_ttest = { blah-blah };\
static const TTest * __testname = & __testname_ttest;\
static void __testname_fn (blah-blah)
For example we are using as follows in a test case:
EFL_START_TEST(evas_object_smart_paragraph_direction)
{
...
}
EFL_END_TEST
This made a build error.
Test Plan: make check
Reviewers: Hermet, zmike
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6969
Summary:
Using malloc/free as it was used before would cause double frees and
other issues when mixing with eina_values created from the value
mempool inside Eina.
Fixes T7359
Reviewers: felipealmeida, vitor.sousa, segfaultxavi
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7359
Differential Revision: https://phab.enlightenment.org/D6958
Summary: this further increases the speed at which some tests perform
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric
Tags: #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6765
Summary:
The binding user should be able to register to events inside the initialization callback given to the constructor.
Fixes T7346
Reviewers: segfaultxavi, felipealmeida, vitor.sousa
Reviewed By: segfaultxavi, vitor.sousa
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Maniphest Tasks: T7346
Differential Revision: https://phab.enlightenment.org/D6908
Summary:
there is now invalidated & invalidating.
invalidated returns true when all children are invalidated, and the
object is / was requested to be invalidated.
invalidating return true when the object is called to be invalidated but
not all children are invalidated yet. However, the object is garanteed
to be invalidated in near future.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6722
Summary:
Add a feature for moving cursor over a grapheme cluster.
It is applied to edje_entry.c and elm_entry.c for improving
cursor handling just like other modern text editors. ex) gedit
The patch on Evas needs to update libunibreak library.
So, the patch will update libunibreak, too.
@feature
Test Plan:
1. Put "ഹലോ" in your entry.
2. Your cursor can reach at the end of text from the beginning
only in 2 right key event with this feature.
Reviewers: raster, cedric, jpeg, herdsman, zmike, devilhorns
Reviewed By: herdsman, zmike
Subscribers: #reviewers, #committers, zmike, bowonryu, woohyun
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5490
Summary:
This reverts commit 4917910b49.
4917910b break backward compatibility.
Reproduction:
void pipe_handler(...);
pipe = ecore_pipe_add(pipe_handler, NULL);
ecore_pipe_write(pipe, NULL, 0);
Because of the null check condition, pipe_handler isn't called after 4917910b.
Some apps behavior which is written to expected to call pipe_handler was broken.
also, this patch fixed segfault during build on Windows
Test Plan: make on Windows
Reviewers: raster, zmike, vtorri
Reviewed By: zmike, vtorri
Subscribers: woohyun, cedric, #reviewers, #committers, zmike, vtorri
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6824
Summary:
recent safety check patches exposed issues here where tests were
incorrectly written to pass evas objects as edje object parents,
resulting in new test failures after this began to be detected and
treated as an error
Reviewers: netstar
Reviewed By: netstar
Subscribers: netstar, cedric, #reviewers, #committers
Tags: #efl_tests
Differential Revision: https://phab.enlightenment.org/D6851
Summary:
having this enabled slows down test execution by a significant amount
for some reason
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl_tests
Differential Revision: https://phab.enlightenment.org/D6836
Summary:
image object was created in group_add before 868e3308. if you call
elm_image_object_get before file_set, you can get NULL.
this patch avoid that.
Test Plan:
obj = elm_image_add(...);
img = elm_image_object_get(obj);
img should not be NULL.
Reviewers: Hermet, zmike
Reviewed By: zmike
Subscribers: JackDanielZ, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6828
if a test is continually deadlocking then it's useful to know which
test is failing to complete
Differential Revision: https://phab.enlightenment.org/D6785
some tests manage to deadlock themselves on travis, seemingly due to some
hard to reproduce issues which are a result of the extremely low amount of
resources available on travis builds
this adds a simple 'timeout' process which does nothing but sleep(60);
and then returns. the exiting of this process will cause the main test
process to break out of the deadlock and then exit instead of timing out
a ci build
Differential Revision: https://phab.enlightenment.org/D6697
these timer functions are only used by fileselector and I'm trying to consolidate
timer usage
no functional changes
Differential Revision: https://phab.enlightenment.org/D6768
this adds a naviframe with button content and pushes/pops the stack
a couple times to see if a delete callback is called on the button
ref T7236
Differential Revision: https://phab.enlightenment.org/D6762
Summary:
this adds a fairly complete test for simulating the expand and contract
of a tree item in a genlist, as triggered by a user clicking the expand arrow
on an item
presently this test fails, as it is set to abort if any error messages are
logged and there are a number of focus manager errors
ref D6737
ref T6837
Reviewers: bu5hm4n, Hermet
Reviewed By: Hermet
Subscribers: SanghyeonLee, cedric, #committers
Tags: #efl_tests, #efl_widgets
Maniphest Tasks: T6837
Differential Revision: https://phab.enlightenment.org/D6750
Summary:
namespacing test function names makes test output easier to read.
no functional changes
Reviewers: SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: SanghyeonLee, cedric, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D6758
Summary:
<q66> just remove decl.eo and remove the eolian_decl test; it's useless
<q66> the reason: it used to be testing some specific API, which got replaced with more generalized API that is now used everywhere in the tests, so that specific test no longer has a purpose
resolves some compile errors due to type conflicts
Reviewers: q66
Reviewed By: q66
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6773
Summary:
this sets manual render on buffer engine windows and dumps the render at every
interval in order to avoid doing any real rendering or animating or having to
wait on some irrelevant timing.
tests using buffer engine just want to complete as fast as possible, as they are
never being displayed anywhere, so just perform canvas operations (recalcs mostly)
and BAIL
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers
Tags: #efl_tests
Differential Revision: https://phab.enlightenment.org/D6749
Summary:
Timers are not called in the order they were registered.
Because when current timer is deleted, getting next timer is called twice.
Test Plan:
<error>
Timer1 expired after 0.001 seconds.
Timer3 expired after 0.001 seconds.
Timer5 expired after 0.001 seconds.
Timer7 expired after 0.001 seconds.
Timer2 expired after 0.001 seconds.
Timer6 expired after 0.001 seconds.
Timer4 expired after 0.001 seconds.
Timer8 expired after 0.001 seconds.
<correct>
Timer1 expired after 0.001 seconds.
Timer2 expired after 0.001 seconds.
Timer3 expired after 0.001 seconds.
Timer4 expired after 0.001 seconds.
Timer5 expired after 0.001 seconds.
Timer6 expired after 0.001 seconds.
Timer7 expired after 0.001 seconds.
Timer8 expired after 0.001 seconds.|
{F3268233}
Reviewers: Hermet, Jaehyun_Cho, zmike, SanghyeonLee
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl_tests
Differential Revision: https://phab.enlightenment.org/D6700
unit tests should test one thing only: testing timer accuracy and the
effectiveness of resetting a timer in the same test leads to timing issues,
so remove the timing component from the test
ref T6878
Differential Revision: https://phab.enlightenment.org/D6653
this should only affect CI builds, allowing more time for tests to
process on the insanely slow virtual hw
Differential Revision: https://phab.enlightenment.org/D6623
Summary:
the exit status value is not valid unless the process has terminated normally
by calling exit() or _exit(), so only use the status if this is true. otherwise
mark the process as a failed test
Depends on D6597
Reviewers: ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl_tests
Differential Revision: https://phab.enlightenment.org/D6600
this is mostly fine to thrash the cpus on beefy desktop computers, but
it completely destroys travis's wimpy 2cpu/2gb ram configurations and causes
all the tests to fail
instead, restrict forking to the number of cpus detected and wait until a fork
exits before beginning a new one
ref T7151
Differential Revision: https://phab.enlightenment.org/D6597
Summary:
The test was checking that multiple register calls fail. However, we
made this more stable and are making register only error if the
configuration is not the same. This fixes that.
fix T7141
Reviewers: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7141
Differential Revision: https://phab.enlightenment.org/D6588
Summary:
this mimics expected behavior by enlightenment
for 2.0, this behavior should likely be changed since the INVALIDATE event
should be the last expected point at which a parent<->child relationship
continues to exist in any form
ref D6540
Depends on D6554
Reviewers: devilhorns, Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6555
Summary:
this will speed up tests and make it slightly less intimidating to
add new tests
Reviewers: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6554
Summary:
this caused DSO linker issues when enabled and was only testing
init+shutdown for a deprecated component which has not been actively developed
in some time
Reviewers: devilhorns, ManMower, bu5hm4n
Reviewed By: devilhorns, ManMower
Subscribers: bu5hm4n, ManMower, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6539
Summary:
it's possible for many tests in this suite to hang indefinitely, so ensure
that they terminate eventually instead of holding up the build
ref T6838
Reviewers: stefan_schmidt, bu5hm4n, devilhorns, Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6838
Differential Revision: https://phab.enlightenment.org/D6542
Summary:
For whatever reason the test is stalling for me waiting for me to
entire a password at make time. Provide one internally.
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6528
Summary:
signal.h is not included with all build options somehow, making this
a bit unreliable. also check for define existence for random platforms
which don't define this symbol
Reviewers: devilhorns, ManMower
Reviewed By: ManMower
Subscribers: ManMower, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6535
Summary:
these tests will fail if run with root permission, so avoid checking them
when run as root
ref T7094
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7094
Differential Revision: https://phab.enlightenment.org/D6534
Summary:
This mirrors the focus property from the notify to the one from popup.
This is needed to establish legacy behaviour, as earlier popup was able to get focus.
ref T6707
Depends on D6510
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6707
Differential Revision: https://phab.enlightenment.org/D6511
Summary: signal tests can only be used in fork mode or else they just fail
Reviewers: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6477
Summary:
it's unclear to me why this test was implemented with the expected
event ordering of SERVER_DEL -> SERVER_ERROR; going as far back
as efl 1.7, the behavior has always been ERROR -> DEL
this fixes the test to verify the expected event ordering on a dns
resolve failure
Depends on D6481
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6482
Summary:
It was only happened when legacy newline is enabled. By default,
legacy newline is enabled. As I know, legacy newline option has
to change textblock's internal behavior. But, it shouldn't change
the given original text. It fixes T3399.
Test Plan: A Test case is included in Evas test suite.
Reviewers: Jaehyun_Cho, z-wony, tasn, woohyun, herdsman, Blackmole, devilhorns
Subscribers: #committers, zmike, raster, cedric, jpeg
Tags: #efl
Maniphest Tasks: T3399
Differential Revision: https://phab.enlightenment.org/D3874
the corresponding tests cannot be run when using fallback monitoring,
so be sure to skip them when fallback is detected to avoid erroneous
failure reporting
fix T7042
Differential Revision: https://phab.enlightenment.org/D6448
this timer could persist and cause cascading failures for subsequent
tests when running in non-forked mode
@fix
Differential Revision: https://phab.enlightenment.org/D6446
this helps ensure that the fallback monitor can perform an initial
scan during the test while under load
fix T7042
Differential Revision: https://phab.enlightenment.org/D6445
Summary:
ibus module will refuse to load if DISPLAY is not set, so avoid failing
for no reason in this case
Depends on D6433
Reviewers: ManMower, bu5hm4n, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6434
Summary:
these tests explicitly call ecore_imf_init, so they must call ecore_imf_shutdown
even on failure cases to avoid propagating their failure to subsequent tests
ref T7085
Reviewers: ManMower, bu5hm4n, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7085
Differential Revision: https://phab.enlightenment.org/D6433
Summary:
each failure case should always be separate in order to provide the highest
degree of detail available if a test fails
Reviewers: devilhorns, ManMower
Reviewed By: ManMower
Subscribers: ManMower, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6373
failing to call this prior to the thread invocation would result in a CRI
from class initialization in a thread
ref T7003
Differential Revision: https://phab.enlightenment.org/D6333
Summary: I accidently broke the test suite, due to missing rebuilds.
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6421
Summary: Will enable timing info in these tests.
Test Plan: run make check
Reviewers: zmike, felipealmeida, devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6359
Summary:
Some changes broke really basical function behavior of text.
I couldn't get text from an edje object which I just set to the given edje object.
In the past code, edje called recalc function before trying to get text.
So, this patch bring that code to fix this issue.
@fix
Test Plan: Included. Run "make check"
Reviewers: herdsman, raster, cedric, woohyun, devilhorns
Subscribers: #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6364
Summary:
now that eldbus tests can safely run in parallel there is no reason to
prevent them from doing so
fix T6848
Depends on D6204
Reviewers: stefan_schmidt, cedric, ManMower, devilhorns
Reviewed By: cedric, ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6848
Differential Revision: https://phab.enlightenment.org/D6205
Summary:
dbus bus names are unique and cannot be acquired by multiple connections
simultaneously; by making this per-file unique, this part of the test can
run in parallel without bus collisions
ref T6848
Depends on D6201
Reviewers: stefan_schmidt, cedric, bu5hm4n, ManMower, devilhorns
Reviewed By: ManMower
Subscribers: ManMower, cedric, #committers
Tags: #efl
Maniphest Tasks: T6848
Differential Revision: https://phab.enlightenment.org/D6202
Summary:
currently this crashes, so add a simple test to ensure that it works
eventually
ref T7028
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7028
Differential Revision: https://phab.enlightenment.org/D6311
Summary:
build with this disabled is just not working as the thread model of eo
falls apart. The threadmodel is required to have eo_id, as it decoded
the thread information in the eo_id, which is not working without eo_id.
This also fixes the testcases that have never been executed due to the
fact of the missing HAVE_EO_ID
fix T6610
Depends on D6327
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6610
Differential Revision: https://phab.enlightenment.org/D6328
Summary:
cpu usage is not an issue during test runs, we want the tests to finish
as fast as possible in all cases regardless of the cost. this resolves
the last remaining issue with eio tests where sometimes the fallback
monitor would trigger and the test suite would hang for 60+ seconds
fix T6915
Depends on D6248
Reviewers: stefan_schmidt, bu5hm4n, ManMower, devilhorns
Reviewed By: bu5hm4n, ManMower
Subscribers: bu5hm4n, cedric, #committers
Tags: #efl
Maniphest Tasks: T6915
Differential Revision: https://phab.enlightenment.org/D6249
Summary:
remove a lot of duplicated code and make this test suite read more like
all the other suites
fix T6813
Depends on D6247
Reviewers: stefan_schmidt, bu5hm4n, ManMower, devilhorns
Reviewed By: bu5hm4n, ManMower
Subscribers: Hermet, bu5hm4n, cedric, #committers
Tags: #efl
Maniphest Tasks: T6813
Differential Revision: https://phab.enlightenment.org/D6248
with -O3 i get a segfault in this test. (with gcc and clang)
It looks like the compilers are doing constant folding because we
declared the struct as constant, however, due to using the address of
the fild the keyword const is simply not true, thus we are getting a
segfault because the address returned by &desc is not correct anymore,
due to the fact the constants are rolled out.
Differential Revision: https://phab.enlightenment.org/D6309
in many cases, a test will intentionally trigger an error to verify that it
is handled correctly. when the test is manually run with EINA_LOG_ABORT set,
this may cause the test to abort, preventing further debugging. by wrapping
intentional cases where critical errors are triggered, debugging tests
becomes easier
ref T7002
Differential Revision: https://phab.enlightenment.org/D6269
so i noticed it was jerky... to move/resize the video obj. it's
because it set fps to 30... well that was silly. didn't help chasing a
ghost, so remove this to avoid chasing hosts.
Summary:
this option triggers codepaths which require and interface with an
external project not in the EFL tree, so it should not be tested in
the efl tree
also depending on the version of clouseau used, this causes the test
suite to fail 100% of the time
fix T6985
ref T7023
Reviewers: devilhorns, ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6985, T7023
Differential Revision: https://phab.enlightenment.org/D6295
Summary:
A variable was mistakenly removed in a previous commit. (It was used
in places other than the check that was removed).
Reviewers: devilhorns, zmike, vtorri
Reviewed By: zmike, vtorri
Subscribers: cedric, #committers
Tags: #efl, #windows
Differential Revision: https://phab.enlightenment.org/D6262
Summary:
tcase_name() was added in 0.11.0 (2016), which is still not widely enough
distributed to rely upon without version checks
Reviewers: stefan_schmidt, ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6260
Summary:
this is mainly to handle the case of ecore-file, which fetches external
resources during the test and requires an active network connection which
may fail to resolve/connect/download during the test. if this particular test
fails then it is almost certainly a network issue
a future patch should implement some form of http server to remove the
dependency on external network resources
also probably all test suites should have timeout timers just in case
fix T6950
Depends on D6205
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6950
Differential Revision: https://phab.enlightenment.org/D6206
Summary:
a stack variable was incorrectly used here, along with some lazy timing
calcs which did not accurately measure the time for each timer iteration,
resulting in a test which intermittently failed in some cases
fix T6878
Reviewers: stefan_schmidt, bu5hm4n, ManMower
Reviewed By: ManMower
Subscribers: ManMower, cedric, #committers
Tags: #efl
Maniphest Tasks: T6878
Differential Revision: https://phab.enlightenment.org/D6256
Summary:
the reference from efl_reuse was forgotten & the parent relation was not
correctlty setted, which led to the fact that NOREF was never emitted.
This caused that thte object never really was destructed probebly, and
thus the del_interceptor_cb was not executed, and the object simply
leaked.
The test checks that those properties are correctly set, additionally a
error is printed in the efl code when a part has not the expected
reference properties. This also enforces errors when users are doing
wrong things with objects returned by efl_part.
Reviewers: ManMower, zmike
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6254
checks if a object is really freed, even under error conditions.
The test suite now has the following timing:
TC TIME Eo general: 0.035713
SUITE TIME(8227) Eo: 0.036046
Differential Revision: https://phab.enlightenment.org/D6253
Summary:
It should use legacy class in elm_win_add.
this patch fixes T6898, T6899
Test Plan: make check
Reviewers: zmike, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6899, T6898
Differential Revision: https://phab.enlightenment.org/D6233
Summary:
if not unique, these bus names will collide if run from separate
connections resulting in test failure
fix T6848
Depends on D6203
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6848
Differential Revision: https://phab.enlightenment.org/D6204
Summary:
these tests are for eldbus; enlightenment has its own dbus namespace and
should not be mentioned here to avoid confusion
Depends on D6202
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6203
Summary:
these values seem to assume that network latency or some other form
of delay exists in dbus communications. dbus is a local socket protocol,
so such lengthy timers do nothing but waste runtime
ref T6952
Depends on D6198
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6952
Differential Revision: https://phab.enlightenment.org/D6199
Summary:
1eeb3cbdf7 causes all tests to run
inside a dbus session, so use this bus to avoid possible issues with
security policies
ref T6838
Depends on D6197
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6838
Differential Revision: https://phab.enlightenment.org/D6198
Summary:
this is supposed to check an fdo dbus spec implementation, so the test
should exit with success after verifying it instead of waiting for a timeout
ref T6952
Depends on D6196
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6952
Differential Revision: https://phab.enlightenment.org/D6197
Summary:
The efl_gfx_color interface was not applied properly.
The implementation code of evas_object_smart_color_set was moved
to efl_gfx_color_set implementation code. But, these two functions are not same.
In efl_gfx_color_set impl, it has to call super's color set to apply
the given color values to widget object itself.
This bug caused color_set/get test failure and the following bug.
1. elm_image_add
2. evas_object_color_set
3. elm_image_file_set
4. show. See the given color is not applied. It was applied in the past.
Test Plan: color_set/get to elm_image object is included in test suite.
Reviewers: raster, cedric, herdsman, woohyun
Reviewed By: cedric
Subscribers: #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6163
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Also changed the previously failing tests to use ck_assert_int_eqinstead
of fail_if for better reporting.
Test Plan: make check
Reviewers: cedric, felipealmeida
Reviewed By: cedric
Subscribers: #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6194
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
This API require more review, I have just fixed API that return type that are
inconsistent over time and fail to allow for proper lifecycle of event, which
lead to crash when those event trigger at unexpected point.
Differential Revision: https://phab.enlightenment.org/D6102
The interface efl_part_get should not be directly called from C, but the efl_part
wrapper should. It rely on efl_noref to properly destroy the object. Binding can
control the lifecycle of the reference the way they want by either calling the
wrapper or efl_part_get directly. It also means that the ugly ___efl_auto_unref_set
doesn't need to be exposed outside of EFL anymore.
Differential Revision: https://phab.enlightenment.org/D6098
Especially to note, that when giving a message to send, the caller
do not own it anymore and should not unref it.
Differential Revision: https://phab.enlightenment.org/D6092
This reverts commit 2fb5cc3ad0.
Most of this change where wrong as they didn't affect the destruction
of the object. efl_add_ref allow for manual handling of the lifecycle
of the object and make sure it is still alive during destructor. efl_add
will not allow you to access an object after invalidate also efl.parent.get
will always return NULL once the object is invalidated.
Differential Revision: https://phab.enlightenment.org/D6062
Summary:
Plain conversion to IEnumerable, which is the base of LINQ
Depends on D6189
Reviewers: felipealmeida, vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6190
Summary:
As futures are tied to a given promises and are usually handled in
a 'attach and forget' scheme, we can't cancel them as it would cancel
the whole chain.
Reviewers: felipealmeida, vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6189
Summary:
All events must have a type now, otherwise bindings don't know how to handle
the event_info field.
Most of the missing event types were actually "void" (no event_info present).
Some struct definitions had to be moved to eo instead of h files, so they
are available to bindings. Some have not, and are marked with FIXME.
Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb).
In general, there are hundreds of changed files, but mostly to add a type which
was not present before, so there's no harm done.
Also, A lot of FIXMEs have been added which should be, like, fixed.
For example, some events can send different types of event_info, which is
very inconvenient (and error prone).
Test Plan: make with c# bindings works, make check and make examples work too.
Reviewers: cedric, q66, lauromoura
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6169
Summary:
Besides the normal methods returning Futures, we now generate
a wrapper with the "Async" suffix. This wrapper returns a
Systems.Threading.Tasks.Task which can be awaited on and reflect the
status of the Future.
When an eina.Future fails with ECANCELED, TaskCanceledException is
raised in the Task. Otherwise, an efl.FutureException(eina.Error) is
raised.
Depends on D6174
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6175
Summary:
Promise/Future cleanup:
In the promises, we use a wrapper Eina_Promise_Cancel_Cb to
invalidate the wrapper if it ever gets cancelled from outside. When
invalidating from C#, we can do it directly.
For the futures, likewise, in order to be able to invalidate the
wrapper when the chain it belongs to gets resolved we then() an
internal future with a callback to invalidate the wrapper we return to
C#. The return of this intermediate then() is the future we actually
return to the user.
Also added ECANCELED to the list of default eina.Errors
Depends on D6173
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6174
Summary:
eina.Value.Empty now means that we have an zeroed (empty) eina value.
For optional values that are empty use eina.Value.OptionalEmpty.
This was required to support the empty values passed with
EINA_VALUE_EMPTY in some Ecore futures.
Also, returning an eina_value by value is not supported in eolian
for safety reasons, so we removed some tests that tried to use this
behavior.
Depends on D6171
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6172
This adds code to run the Eolian static checker as part of tests,
but considering how many failures there are at this point, does
not enable it. Once they're all fixed, it can be enabled by
removing the #if 0.
Summary:
Calling efl_canvas_text_style_set() with empty key means
setting a default style to object. But, it counldn't store style
as default properly. It caused a crash issue from elementary_test.
@fix
Test Plan:
New test case is included. Run test suite. Or,
1. Run elementary_test
2. Find and launch "Image Zoomable animation" test.
3. Close the image test window.
4. See the crash issue.
Reviewers: raster, herdsman, jpeg, cedric, zmike
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5692
Committer's note: rebased and removed unrelated test.
Summary:
A style tag among a text has to be replcaed by its matched tag when
a format node is created. If the matched tag is changed, format nodes
should be updated.
But, if a style text for Evas Textblock Style is changed,
related format nodes are not updated without setting new text.
The patch changes to update format nodes when new style text is set.
@fix
Test Plan: Included in Evas Test Suite.
Reviewers: raster, tasn, herdsman, subodh6129, zmike
Subscribers: zmike, cedric, z-wony, Blackmole
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D4697
Committer's note: rebased.
Summary:
Due to the absence of typedef from C#, we generate thin structs with
implicit operators to allow reference the data from their typedef'd name
from C#.
The other alternatives would be always converting to the lowest base on
the alias stack (losing the meaningfulness of the typedef name) or using
the 'using' directive. The latter has the restriction that it makes an
alias visible only in the file they are declared.
Reviewers: felipealmeida, cedric, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6157
When there is a redirect there is no need to adjust the focus property
based on a unregister, so just continue and cleanup the history. When
the redirect is unset the focus is restored.
fix T6908
Summary:
hnj_hyphen_hyphenate2() needs properly encoded text based on the given
dictionary. Each dictionary contains its encoding information at the head
of file. So, text will be converted to proper encoding before calling
the function. It fixes T3221.
@fix
Test Plan: Included in Evas test suite.
Reviewers: z-wony, tasn, woohyun, herdsman, Blackmole, minudf
Subscribers: zmike, stefan_schmidt, raster, cedric, jpeg
Tags: #efl
Maniphest Tasks: T3221
Differential Revision: https://phab.enlightenment.org/D3863
Summary: The Textblock Style which is created for user style was managed
application side. It is created and free'd from application - outside
of Evas Textblock. Recently, evas_object_textblock_style_user_push/pop
start to call efl_canvas_text_style_set() instead of legacy code. The
problem is efl_canvas_text_style_set() is always going to call free()
when a style is going to be deleted. It makes conflicts(double free
issue) with application which is used to call
evas_textblock_style_free(). So, the issue will be fixed by this patch.
The patch also revise push/pop/peek code to make clean and avoid
meaningless calculation/events.
@fix
Test Plan:
A test case is Included in this patch.
The test case try to trigger double free.
Reviewers: herdsman, raster, cedric
Subscribers: zmike, woohyun
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5812
Committer's note: formatted commit summary (80 width).
Summary:
by removing the sleep() calls and reducing timeout time, tests remain
as accurate while taking less than 5% of the required time to run
fix T6914
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric
Tags: #efl
Maniphest Tasks: T6914
Differential Revision: https://phab.enlightenment.org/D6047
Summary:
Uses a common helper to open and close namespaces, to get the managed
and unmanaged name of things, the interface, concrete and inherit class
names, etc.
eolian_cxx: Add namespace information to func_def, as it'll avoid
eolian-cxx clients dealing with the eolian C api directly when trying
to access a function pointer namespace.
Depends on D6048
Reviewers: felipealmeida, vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6049
Summary:
edje_object_part_text_cursor_prev/next/up/down has return value.
It has to return EINA_TRUE when only it successed.
But, when these funcs moved to legacy, it changed to return EINA_TRUE
whenever it fails or success. It must return EINA_FALSE when it fails.
@fix
Test Plan:
- Run test suite
make check
Reviewers: herdsman, raster, cedric, woohyun
Subscribers: zmike
Differential Revision: https://phab.enlightenment.org/D5972
Summary:
Also added a blacklist header to temporarily disable generation of eo
methods with futures as arguments or return type.
Once the models branch lands, we should enable future support again with
eina_futures.
Reviewers: cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D6018
This is much more extensive than before and we are now
testing both tree and group items.
This test has been run in 9 stable releases down to 1.12
the only one that fail is 1.18 that is know to be broken
wrt item iteration.
Hopefully definitly close T5938
Summary:
this is especially problematic for elm tests as the fork reset callback
in efreet will cause a huge number of server connections to be created
ref T6864
Depends on D5966
Reviewers: stefan_schmidt
Reviewed By: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6864
Differential Revision: https://phab.enlightenment.org/D5967
Summary:
this avoids the creation of a new win object for each test
ref T6864
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric
Maniphest Tasks: T6864
Differential Revision: https://phab.enlightenment.org/D5965
Summary:
While the test events were declared as by value, the support code passed
by reference, which was - wrongly - the only implementation supported in
event code.
Also added test with Eina_Bool and structs (passed by pointer to events,
while not having the ptr modifier explicitly.
Depends on D5995
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5996
Summary:
Don't try to lazily create the parts when getting them, as it would
modify the owner inside its @const Efl.Part.part.
Depends on D5993
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5994
Summary:
To deal with events with the same name as some methods (Del, Invalidate,
etc), the suffix Evt was added.
Thus, now we use
obj.ButtonClickedEvt += callback;
Instead of
obj.BUTTON_CLICKED += cal
The argument classes use the same scheme, being called <Evt name>_Args.
Depends on D5991
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5992
The file names are derived from the test case names. These two seem to
have been overlooked when copying one test case to another.
I hoped this would fix my problems I have with the eio test suite
recently, but sadly it does not. Time to go on a git bisect tour.
Summary:
avoid having lines from the main pid repeated in forks
Depends on D5963
Reviewers: stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5964
Doc refs no longer introduce new dependencies into files. Instead,
they're parsed globally, and any doc ref lookup is also made
globally. This allows unit based dependencies to correspond more
to what files actually really need at compile time/runtime, with
docs being irrelevant to that; it also simplifies the API.
The doc resolution API now takes Eolian_State instead of
Eolian_Unit, too.
Summary:
init is only called here to verify the refcount, shutdown is only necessary
when not forking in order to preserve the environment
ref T6864
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6864
Differential Revision: https://phab.enlightenment.org/D5958
This changes a lot of things all across the EFL. Previously,
methods tagged @const had both their external prototype and
internal impl generated with const on object, while property
getters only had const on the external API. This is now changed
and it all has const everywhere.
Ref T6859.
Summary:
opening the default theme file can take up to 0.2s in worst case during
a test
ref T6864
Depends on D5914
Reviewers: stefan_schmidt
Reviewed By: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6864
Differential Revision: https://phab.enlightenment.org/D5915
Summary:
jpeg loader tests take 4+ seconds due to manual value comparisons, so ensure
that they run separately
ref T6856
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6856
Differential Revision: https://phab.enlightenment.org/D5911
Summary:
this was only a temporary measure
Depends on D5916
Reviewers: stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5937
Summary:
check whether init+shutdown work explicitly before proceeding to other
tests
Depends on D5913
Reviewers: stefan_schmidt
Reviewed By: stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5914
Previously, class methods were implemented as regular instance methods.
This commits generates C# static methods for @class methods on the
*Concrete classes (and their childs).
Summary:
each test case can run in parallel, so this provides a ~300% speedup
ref T6850
Depends on D5904
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6850
Differential Revision: https://phab.enlightenment.org/D5905
Summary:
these aren't tested so don't init/shutdown for every test
ref T6850
Depends on D5903
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6850
Differential Revision: https://phab.enlightenment.org/D5904
Summary:
* check inside thread callbacks whether thread has been canceled
* clean up (global) objects
* wait for threads to die before exiting each test
ref T6851
Depends on D5889
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6851
Differential Revision: https://phab.enlightenment.org/D5890
Summary:
this function is just a wrapper, avoid downloading the same file
multiple times
ref T6853
Depends on D5885
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6853
Differential Revision: https://phab.enlightenment.org/D5886
Summary:
while it may be the case that we do not control example.com, it is also
the case that loading anything from enlightenment.org takes 10+ seconds
longer (at minimum) than loading example.com
ref T6853
Depends on D5884
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6853
Differential Revision: https://phab.enlightenment.org/D5885
Summary:
unit tests should verify only small pieces of functionality to ensure
that they are testing what they claim to be testing
fix T6852
Depends on D5882
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6852
Differential Revision: https://phab.enlightenment.org/D5883
Summary:
these are able to run now that a dbus session is always launched
Depends on D5880
Reviewers: stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5881
Summary:
this is buggy somehow and prints its info a few dozen times, likely
taking longer to print the info than to run the actual test
Depends on D5879
Reviewers: stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5880
Summary:
check does not internally do any parallelizing and is impossible to use
with threads, so using fork appears to be the only viable option for
using more cpu without radically redesigning all existing tests
ref T6825
ref T6848
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6848, T6825
Differential Revision: https://phab.enlightenment.org/D5877
Looks like a copy and paste left over from another test.
../../../src/tests/elementary/elm_test_genlist.c:58:16: warning: unused variable ‘type’ [-Wunused-variable]
this works out to the same number of total tests as slstr_many but
now split across all the threads
fix T6846
Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>