Commit Graph

88 Commits

Author SHA1 Message Date
Derek Foreman 586cc70cba Remove EOLIAN_TESTS_EOS_GENERATED
Summary:
commit 74b56eedd1 added these to clean,
but the variable contains some non-generated files.

Turns out these files don't have to be part of the build at all, as
the tests that use them generate them in temp dirs.

Just remove the variable entirely.

Reviewers: bu5hm4n, zmike, q66

Reviewed By: bu5hm4n, zmike, q66

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6850
2018-08-16 12:41:16 -05:00
Mike Blumenkrantz 74b56eedd1 build: explicitly add eolian generated files to CLEANFILES
these are all being generated now so they must also be cleaned for
distcheck to pass

Differential Revision: https://phab.enlightenment.org/D6782
2018-08-08 21:45:19 +02:00
Mike Blumenkrantz ad81ef1364 build: define PACKAGE_BUILD_DIR as $(abs_top_builddir) for all test suites
Summary:
this needs to be consistent so that it can be used reliably across suites

also these build flags really need to be consolidated into a single variable
that can be reused

Depends on D6666

Reviewers: devilhorns, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #committers

Tags: #efl_build

Differential Revision: https://phab.enlightenment.org/D6731
2018-08-08 09:45:30 -04:00
Mike Blumenkrantz 1cff96fb40 build: rewrite remaining $(OBJEXT) rules
fix the naming for these targets based on automake 1.16+ presence and
naming scheme

ref D6594
fix T7154

Differential Revision: https://phab.enlightenment.org/D6675
2018-08-08 12:55:45 +02:00
Mike Blumenkrantz d4bcd7c8eb tests/eolian: remove eolian_decl test
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
2018-08-07 12:10:22 -04:00
Mike Blumenkrantz b8d8928718 build: make object rule for eolian tests a versioned conditional
automake 1.16 changed the naming of object files:

- When subdir-objects is in effect, Automake will now construct
    shorter object file names when no programs and libraries name
    clashes are encountered.  This should make the discouraged use of
    'foo_SHORTNAME' unnecessary in many cases.
https://lists.gnu.org/archive/html/info-gnu/2018-02/msg00008.html

this requires that object-specific rules must be changed to match the new
naming scheme if newer automake is being used. the $am__api_version contains
the version string of the automake version used during autoreconf, so this
should be checked during configure time in order to generate the correct
makefile rule for that automake version

other similar rules should be changed in the same way

note that this conditional speculates on behavior of automake versions past
1.16, which are not yet released and thus may change, meaning that this issue may
reoccur in future automake versions

Differential Revision: https://phab.enlightenment.org/D6594
2018-07-24 12:25:38 +02:00
Daniel Kolesa 42baaa046d eolian: add code to run static checks but don't enable yet
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.
2018-05-17 16:11:03 +02:00
Daniel Kolesa 0a399be7b0 eolian: add source file for the future static checker 2018-05-03 17:14:39 +02:00
Stefan Schmidt 6f6384f0bb tests: eolian: remove reference to no longer existing files
These have been renamed in commit f19a905261
No need to keep the reference in the makefile. distcheck was also
getting confused about them.
2018-04-09 12:24:53 +02:00
Lauro Moura 1d48a5b0c8 efl: general distcheck fixes
Summary:
- Added missing C++ header
- Added missing elementary header
- Removed generated header from elementary_SOURCES
  (Was added by raster in 42dfee37)
  Not sure of what would be the best place for it, though.
- Removed previously removed files from elementary examples Makefile.

Test Plan: Run 'make distcheck'

Reviewers: stefan, felipealmeida

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Marcel Hollerbach 87a93b8521 eolian: unify test directories 2017-12-21 22:24:47 +01:00
Jean-Philippe Andre d49c544e81 eolian: Add API's for part enumeration
@feature
2017-11-23 15:14:41 +09:00
Daniel Kolesa 4b1952796a eolian: include all test eo files in build (for distcheck) 2017-11-20 13:03:32 +01:00
Daniel Kolesa c8e7ad530e eolian: properly free parts 2017-10-31 12:15:23 +01:00
Jean-Philippe Andre c1d21cef89 eolian: Add some color to those warning messages
Note: This is not using eina_log, not entirely sure why, but this
doesn't prevent us from adding some color.
2017-10-31 14:52:34 +09:00
Stefan Schmidt a774fd93b6 tests : eolain: make sure all the needed files for land in dist
All kind of test files for the function pointer test in eolian have been
missing in dist and thus failed distcheck.
2017-06-29 12:45:29 +02:00
Daniel Kolesa c1c30cc6ce eolian tests: pass in generator path externally 2017-01-23 16:14:00 +01:00
Daniel Kolesa 47cebbc1f1 eolian: merge database_fill into parser 2017-01-20 13:43:32 +01:00
Cedric BAIL 8a3e745e1a eolian: remove test for generated Eina_Promise. 2016-11-07 13:43:11 -08:00
Daniel Kolesa 9553fd9640 eolian gen2: move to eolian gen (as the old one is gone) 2016-10-07 13:34:47 +02:00
Daniel Kolesa 4cc17ae28a eolian gen2: remove old eolian gen 2016-10-07 13:26:08 +02:00
Daniel Kolesa 34c2bf66ce eolian gen2: initial stubs for source writing 2016-10-07 11:54:23 +02:00
Daniel Kolesa b105feebb3 eolian gen2: add code to handle doxygen generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 12c3bdee3e eolian gen2: initial header generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 341ef8fc05 eolian gen2: initial type generation bits 2016-10-07 11:54:23 +02:00
Daniel Kolesa e058fdd571 eolian gen2: add logging and main.h 2016-10-07 11:54:23 +02:00
Daniel Kolesa 8d88edfbb0 eolian gen: initial infra for new C generator 2016-10-07 11:54:23 +02:00
Cedric BAIL ed9dff8fbd eolian: add support for future.
Future is the read only side of a Promise. For now, I am not removing
Eina_Promise until everything is in place, but eventually the promise
type of eolian will be gone.
2016-09-08 14:58:05 -07:00
Stefan Schmidt 93eadd76d6 build: split EXTRA_DIST files in src/ off from DISTFILES and handle separately
This is again to avoid the "Argument list too long" error we are hitting more and
more now. Given we just merged elementary, emotion generic players, evas generic
loaders and elm_code it is not surprising we are hitting it again.

This time the number of files being hold in DISTFILES has just grown to big so a
make dist was no longer possible. If one looks at what the DISTFILES variable
from automake holds you can image it grows a lot with all the source files plus
generated files we have in tree now.

DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)

To cut off a big chunk but still keep all the other automagic in place for
SOURCE files I went and renamed the EXTRA_DIST in src/ to EXTRA_DIST2 and handle
the files in a dist-hook now.

Another thing to note here is that this also only happens as we have the one big
Makefile with includes. If we go back to per directory Makefiles this problem
should vanish as well. In any case we need a solution for 1.18 now and this is
what I have to offer. If you have a cleaner solution in mind feel welcome to
test it out and if everything we need keeps working (make, make examples,
make check, make benchmark, make dist and make distcheck) go ahead.
2016-06-10 13:04:18 +02:00
Stefan Schmidt 3f7da730f6 tests/eloian: ship eo file needed for tests in tarball
Without this the make check run inside distcheck fails.
2016-04-08 15:41:03 +02:00
Felipe Magno de Almeida dc954d8dba eolian: add Eolian support for Eina Promises
Add a promise object to allows Eolian interface to include promises
as a way to have asynchronous value return and composibility.

The usage is like this in a .eo file:

class Foo {
   methods {
      bar {
         params {
            @inout promise: Promise<int>;
         }
      }
   }
}

Which will create the following API interface:

void foo_bar(Eo* obj, Eina_Promise** promise);

and a Eina_Promise_Owner for the implementation, like this:

void _foo_bar(Eo* obj, Private_Data* pdata, Eina_Promise_Owner* promise);

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-04-06 14:34:15 -07:00
Stefan Schmidt 35c577578a tests eolian: add test cases for type stub generations
While we had the functionality to generate type stubs header we never had
these tested in our unit test setup. Adding to simple cases for struct
and typedef which we already use for normal header generation tests.
2016-03-08 11:14:56 +01:00
Daniel Kolesa e9688e63a5 eolian/generator: add proper generation of references
Adds proper generation of automatic references in docs.
For now events are missing.

@feature
2015-07-07 17:19:13 +01:00
Daniel Kolesa 51f49642b4 eolian: remove the outdated and ugly database printer (needs rework) 2015-06-17 14:26:07 +01:00
Daniel Kolesa 15a64fdc86 eolian: we need import_types_ref.h included in tarball
If we don't, distcheck fails (because of missing file).

@fix
2015-06-08 11:03:33 +01:00
Daniel Kolesa ac0113ba2b eolian/generator: generation for new documentation system
This commit adds the necessary generator logic to emit doc
comments from the new doc syntax. Old doc comments are kept
in for the time being as they're used within the EFL but they
will be removed eventually. This new generator focuses all the
important code in one place, making usage easy.

@feature
2015-06-05 12:15:51 +01:00
Daniel Kolesa 0c729faf68 eolian: initial test file for docs (no APIs to test yet) 2015-06-03 12:06:36 +01:00
Daniel Kolesa 944e44b17d eolian: tests for declaration api 2015-06-01 15:24:00 +01:00
Daniel Kolesa b647448f84 eolian: tests for import 2015-05-19 15:38:31 +01:00
Stefan Schmidt d48c5accea Revert "autotools: enable make check per individual modules."
This reverts commit 35119e7bfd.

Reverted to bring make check back in a working state. Also the way we
want to handle a more modular testing needs discussion.
2015-05-07 20:50:56 +02:00
kabeer khan 35119e7bfd autotools: enable make check per individual modules.
Currently make check runs tests of whole EFL.Enabled running
of tests of individual modules by make check-<modulename>

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:07 +02:00
Marcel Hollerbach 1b4a80d477 eolian: fix make distcheck
Summary: null.eo was missing in the makefile.

Test Plan: run make distcheck

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D1999
2015-02-19 15:30:02 +01:00
Stefan Schmidt 5271ba069e tests/eolian: Move eo to EXTRA_DIST assignment out of the EFL_ENABLE_TESTS case
When running distcheck with release mode enabled these would not end up in the
tarball. Better make sure these always end up at the right place.
2014-10-21 15:43:01 +02:00
Daniel Zaoui a0b305d853 Eolian: fix Makefile for distcheck.
Files have been added to test descriptions in H files and were missing
in the makefile for distcheck.
2014-10-20 12:20:15 +03:00
Savio Sena 24ac9a223d autotools/tests: Force generation of .eo.{c,h} in Eolian tests. 2014-09-12 16:06:37 -03:00
Savio Sena 32c7d75e37 autotools: Simplify src/Makefile_Eolian.am.
Added a variable to hold .eo files. This patch prepares
Eolian_Makefile.am to force the generation of .eo.c and .eo.h too.
2014-09-12 16:05:19 -03:00
Daniel Kolesa a1646ff61d eolian: remove eo_definitions 2014-09-12 13:42:53 +01:00
Cedric BAIL 3d21c05a40 autotools: let's not forget to include necessary .eo for make check 2014-09-09 12:29:13 +02:00
Daniel Zaoui 56bad2beb0 Eolian/Generator: support @empty and @auto.
Local and base class functions are supported.
When @empty is provided, dummy functions (initializing the parameters with default
values if needed) are generated.
When @auto is provided on properties, access to internal data variables is done. On
set, it will assign parameters values to private data members. On get,
parameters are set with private data members values.

See the supplied tests as examples.

@feature
2014-09-08 10:11:01 +03:00
Daniel Zaoui ffa9ad7daf Eolian/Generator: support params initialization.
This is needed when get properties or methods have to return a
value in case of failure or to initialize parameters.
The way used is to generate an intermediate function that will
initialize the parameters and then invoke the "user" function.
2014-09-03 08:36:20 +03:00