(I assume the off-list reply  was not intentional?)

On Friday 13 November 2015 13:37:10 Dr Nicholas J Bailey wrote:
> Sorry, David, I wasn't being clear. I meant first build several little static 
> libraries, then run the unit tests against them, linking only the necessary 
> ones. Then link all the static libraries to the main executable.

 I see what you mean. But "small" assumes that the dependencies between
the classes aren't a big bowl of spaghetti... I don't know yet if they are or 
not,
we'll see.

I think I wasn't being clear either. I should say "auto tests" rather than 
"unit tests",
because I'm thinking of both unit tests (for one class) and higher-level 
integration
tests (like "load this rg file, export to lilypond, check output against 
baseline,
and/or run lilypond to ensure it compiles").

And for this to be possible, surely I will need to drag in a large number of 
classes
(maybe not the GUI code, but that assumes a clean core/gui separation, don't 
know
if that's the case here, at least the buildsystem never enforced it).

Class-level unit tests are very useful for some things, but sometimes a class
redesign means most of the test doesn't apply anymore. On the other hand
a high-level integration test will always make sense, unless one day you decide
not to use lilypond at all anymore ;).

In conclusion, I don't expect to be able to just use "small static libs", 
unfortunately,
at least not without much more effort like refactorings and redesigns, speaking
from experience with starting from a monolithic app. But maybe I'm wrong, we'll 
see ;)

PS: the cmake buildsystem is almost ready, I just linked rosegarden 
successfully.

-- 
David Faure, [email protected], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to