cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Girish Shilamkar <gir...@clogeny.com>
Subject Re: [MERGE] marvin-refactor to master
Date Sun, 13 Oct 2013 02:44:01 GMT
Hello Prasanna,

+1 to the new marvin architecture. 
The proposed architecture will make marvin lot more stable, remove defining data in code and
will be easier to add testcases.

Can we have a run in jenkins.cloudstack.org to ensure that the existing tests won't break
with new marvin ?

How much effort would it be to convert existing tests to use new marvin, sooner or later we
might want to do it ?

Going forward it will be critical to maintain these associations via factory hierarchies else
would beat the purpose. 
And needs to be caught using reviews.

In the branch what is the feature/ dir for ?

Could you also put up a Todo list on the wiki ? I did not find one in the branch.

Regards,
Girish


On 02-Oct-2013, at 10:12 PM, Prasanna Santhanam <tsp@apache.org> wrote:

> Once upon a time [1] I had propagated the idea of refactoring marvin to
> make test case writing simpler. At the time, there weren't enough
> people writing tests using marvin however. Now as focus on testing has
> become much more important for the stability of our releases I would
> like to bring back the discussion and to review the refactoring of
> marvin which I've been doing in the marvin_refactor branch.
> 
> The key goal of this refactor was to simplify test case writing. In
> doing so I've transformed the library from its brittle hand-written
> nature to a completely auto-generated set of libraries. In that sense,
> marvin is much closer to cloudmonkey now.
> 
> The two important changes in this refactor are:
> 
> 1. data represented in an object-oriented fashion presented as factories
> 2. test case writing using entities and their operations rather than
> a sequence of disconnected API calls.
> 
> To see the full nature of this proposal I've updated the spec I put up
> on the wiki:
> https://cwiki.apache.org/confluence/x/RI3lAQ
> 
> For a quick comparison I wrote a test for the VPC vm's lifecycle in
> tools/marvin/marvin/test/test_vpc_life_cycle.py which one can compare
> with the existing tests for vpc under
> test/integration/component/test_vpc_vm_life_cycle.py
> 
> These changes being 'architectural' so to speak and in a way
> disruptive even I would like to merge this at the beginning of the
> upcoming cloudstack release.
> 
> This is only a small part of a larger change for marvin which will be
> moving to a more BDD like implementation [2] where tests are written
> using a gherkin-like language. But that will come later.
> 
> I've also tried to disconnect marvin from depending on CloudStack's
> build and repo. This will help split marvin from CloudStack which I
> will discuss in a seperate thread.
> 
> [1] http://markmail.org/message/4tsscn6zvtfsskuj
> [2] http://pythonhosted.org/behave/
> 
> -- 
> Prasanna.,
> 
> ------------------------
> Powered by BigRock.com
> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message