Re: [Evolution-hackers] vCard test suite

2016-04-12 Thread Milan Crha
On Tue, 2016-04-12 at 15:30 +0100, Philip Withnall wrote:
> With a git submodule, the vCards can be re-used in other projects
> while being updated from a central repository, rather than diverging
> between all the projects.

Hi,
right, I understand it and agree with the code sharing (data sharing,
in this case).

> I’m not sure what you mean. If the vcard-test-suite project builds
> and installs installed-tests for EDS (and other projects), what’s
> going to pull those installed tests into a system? Nobody is going to
> package vcard-test-suite for its own sake. And I wouldn’t want it to
> grow dependencies on every vCard parser library out there just so
> that it can build the tests itself.

The split of the data and the actual code which uses it just feels odd.
Naturally, one cannot live without the other. If nobody is going to
package the vcard-test-suit, then the data sharing will be avoided on
the packaging level, because each project using the data will need to
provide the data too, for example as the submodule.

With the code split, how would it work with the installed tests? We
said the data will be a soft dependency, then the test itself will be
installed only if the data will be available during the build time
(there is actually no guarantee that the data will be available also
during the execution time), or the code will be always installed, but
if it'll not find the shared data, then the test will be skipped and
will be marked as such in the test results with an explanation, thus
one might be able to notice that some more data is needed to run all
installed tests? The later makes more sense, I believe.

The thing with the soft dependency is that nobody would probably
notice. The thing with the submodule is that it doesn't help much, from
my point of view, because the real decision is going to be made on the
packaging level.

That said, I think the best thing would be to have the code in
respective vCard parsing libraries and warn if the shared data is not
available in the execution time, with a reference to the place where
the data can be found, but also look for the data on some common place,
thus the data sharing is encouraged also on the packaging level. Then
there is not needed to have submodules in the (git) repositories of the
respective vCard-parsing libraries, which the packagers might not
probably notice, because it would be a soft dependency.

I hope this makes more sense.
Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] vCard test suite

2016-04-12 Thread Philip Withnall
On Tue, 2016-04-05 at 22:52 +0200, Milan Crha wrote:
> On Tue, 2016-04-05 at 20:44 +0200, Ángel González wrote:
> > 
> > On 2016-04-05 at 08:52 +0100, Philip Withnall wrote:
> > > 
> > > I don’t think I explained clearly enough, sorry. All three
> > > options
> > > are
> > > proposing to keep vcard-test-suite as a separate project, which
> > > EDS
> > > depends on in some way (either as a test-time dependency, a git
> > > submodule, or a build-time dependency).
> > I don't think it should be a build-time dependency. If the
> > dependency
> > is not fulfilled, you should still be able to build and run eds
> > (except
> > for running those tests, of course).
> >  
>   Hi,
> I agree with Ángel, build time dependency is out of question. Also
> because soft dependencies are easy to overlook, thus one might easily
> not even notice the new test suit.
> 
> I'm not sure how you'd like to have done the test-time dependency. If
> the files would not be available, will the whole test suit be
> skipped,
> or the test will fail with an error? The first option is similar to
> build time dependency (being it a soft dependency). The second option
> might be a bit limiting, no?

It would have to be a soft dependency; as you say, a hard dependency is
out of the question. With the installed-tests approach, the EDS vCard
test would be skipped if the vCards were not installed.

> That lefts us with a git submodule. What is the difference between
> the
> git submodule and direct inclusion in the sources?

With a git submodule, the vCards can be re-used in other projects while
being updated from a central repository, rather than diverging between
all the projects.

> If you want to cover
> more than vCard tests for the evolution-data-server (like testing
> also
> other vCard parsers, from other libraries), then it seems to me that
> the cleanest solution would be to provide installed-tests from the
> git
> repo as you have it, just define different "targets". I mean, I miss
> a
> gain in the inclusion of the project as a git submodule in the
> evolution-data-server. It's possible I'm overlooking something
> though.

I’m not sure what you mean. If the vcard-test-suite project builds and
installs installed-tests for EDS (and other projects), what’s going to
pull those installed tests into a system? Nobody is going to package
vcard-test-suite for its own sake. And I wouldn’t want it to grow
dependencies on every vCard parser library out there just so that it
can build the tests itself.

Philip

signature.asc
Description: This is a digitally signed message part
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] vCard test suite

2016-04-05 Thread Milan Crha
On Tue, 2016-04-05 at 20:44 +0200, Ángel González wrote:
> On 2016-04-05 at 08:52 +0100, Philip Withnall wrote:
> > I don’t think I explained clearly enough, sorry. All three options
> > are
> > proposing to keep vcard-test-suite as a separate project, which EDS
> > depends on in some way (either as a test-time dependency, a git
> > submodule, or a build-time dependency).
> 
> I don't think it should be a build-time dependency. If the dependency
> is not fulfilled, you should still be able to build and run eds
> (except
> for running those tests, of course).
> 

Hi,
I agree with Ángel, build time dependency is out of question. Also
because soft dependencies are easy to overlook, thus one might easily
not even notice the new test suit.

I'm not sure how you'd like to have done the test-time dependency. If
the files would not be available, will the whole test suit be skipped,
or the test will fail with an error? The first option is similar to
build time dependency (being it a soft dependency). The second option
might be a bit limiting, no?

That lefts us with a git submodule. What is the difference between the
git submodule and direct inclusion in the sources? If you want to cover
more than vCard tests for the evolution-data-server (like testing also
other vCard parsers, from other libraries), then it seems to me that
the cleanest solution would be to provide installed-tests from the git
repo as you have it, just define different "targets". I mean, I miss a
gain in the inclusion of the project as a git submodule in the
evolution-data-server. It's possible I'm overlooking something though.
Bye,
Milan
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] vCard test suite

2016-04-05 Thread Ángel González
On 2016-04-05 at 08:52 +0100, Philip Withnall wrote:
> I don’t think I explained clearly enough, sorry. All three options
> are
> proposing to keep vcard-test-suite as a separate project, which EDS
> depends on in some way (either as a test-time dependency, a git
> submodule, or a build-time dependency).

I don't think it should be a build-time dependency. If the dependency
is not fulfilled, you should still be able to build and run eds (except
for running those tests, of course).

Regards
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] vCard test suite

2016-04-05 Thread Philip Withnall
Hey,

On Mon, 2016-04-04 at 10:08 +0200, Milan Crha wrote:
> On Sun, 2016-04-03 at 22:13 +0100, Philip Withnall wrote:
> > 
> > How would it be best to include this in the EDS test suite? The
> > options
> > I see are:
> >  • Install the vCards on the system in the installed-tests prefix,
> > for
> > use by unit tests installed by EDS.
> >  • Import them as a git submodule into EDS.
> >  • Keep vcard-test-suite separate and have it install its own unit
> > test
> > for EDS[1].
> > 
> > I think the first option might be the best, but I would appreciate
> > others’ input.
> >  
>   Hi,
> if the Collabora is fine to copy/move the data and the code in the
> evolution-data-server sources, then I do not see any issue with it.

I don’t think I explained clearly enough, sorry. All three options are
proposing to keep vcard-test-suite as a separate project, which EDS
depends on in some way (either as a test-time dependency, a git
submodule, or a build-time dependency).

> I would also prefer to make it part of the installed-tests for the
> evolution-data-server, together with the binary which will process
> all
> those files (install data and do not use them looks incorrect).

That seems like a good goal, regardless of which method we choose to do
it.

Philip

signature.asc
Description: This is a digitally signed message part
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] vCard test suite

2016-04-04 Thread Milan Crha
On Sun, 2016-04-03 at 22:13 +0100, Philip Withnall wrote:
> How would it be best to include this in the EDS test suite? The
> options
> I see are:
>  • Install the vCards on the system in the installed-tests prefix,
> for
> use by unit tests installed by EDS.
>  • Import them as a git submodule into EDS.
>  • Keep vcard-test-suite separate and have it install its own unit
> test
> for EDS[1].
> 
> I think the first option might be the best, but I would appreciate
> others’ input.
> 

Hi,
if the Collabora is fine to copy/move the data and the code in the
evolution-data-server sources, then I do not see any issue with it.

I would also prefer to make it part of the installed-tests for the
evolution-data-server, together with the binary which will process all
those files (install data and do not use them looks incorrect). The
source code for that binary needs a little coding-style changes to
conform the style being used in the evolution-data-server, but that's
only a minor things (apart of the "blah" string there).
Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


[Evolution-hackers] vCard test suite

2016-04-03 Thread Philip Withnall
Hi all,

A while ago, Alex Shtyrov created a test suite of vCards (invalid and
valid) for testing EVCard and other vCard parsers. The intention was
that it would be a project-neutral source of vCard examples and test
vectors.

https://gitlab.com/pwithnall/vcard-test-suite

How would it be best to include this in the EDS test suite? The options
I see are:
 • Install the vCards on the system in the installed-tests prefix, for
use by unit tests installed by EDS.
 • Import them as a git submodule into EDS.
 • Keep vcard-test-suite separate and have it install its own unit test
for EDS[1].

I think the first option might be the best, but I would appreciate
others’ input.

The vcard-test-suite already includes all the vCard test vectors we
could find in the existing EDS unit tests.

Philip

[1]: https://gitlab.com/pwithnall/vcard-test-suite/blob/master/utilitie
s/eds-vcard-tester.c


signature.asc
Description: This is a digitally signed message part
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers