Copying folks that this change will affect for review. On Wed, Oct 02, 2013 at 10:12:40PM +0530, Prasanna Santhanam 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
-- Prasanna., ------------------------ Powered by BigRock.com