On Fri, Apr 27, 2012 at 11:14:49AM -0400, Bernardo Dal Seno wrote:
> On Fri, Apr 27, 2012 at 04:20, Iustin Pop <[email protected]> wrote:
> > On Thu, Apr 26, 2012 at 07:45:33PM -0400, Bernardo Dal Seno wrote:
> >> On Thu, Apr 26, 2012 at 07:34, Iustin Pop <[email protected]> wrote:
> >> > On Thu, Apr 26, 2012 at 12:07:02AM +0200, Michael Hanselmann wrote:
> >> >> This script can be used to check if an instance is running or stopped at
> >> >> various points during a QA run. Environment variables are used to pass
> >> >> the most essential information.
> >> >
> >> > Not sure if this is a good approach. You rely on manually annotating the
> >> > generic instance function with sprinkled CheckInstance tests.
> >> >
> >> > I think we should not do such manual annotation and instead annotate the
> >> > instance tests themselves with a running yes/no flag after it. In the
> >> > sense that after each test, we should automatically check whether the
> >> > instance is running or not.
> >>
> >> It seems to me that each test should check that the instance is in the
> >> correct state, without any flag (each test should know what the
> >> correct state is).
> >
> > How can a test know this automatically??
> >
> > Tell me how from this test:
> >
> > AssertCommand(["gnt-instance", "stop", instance])
> >
> > You can *automatically* deduce the fact that the instance should be down
> > :)
> 
> That would be nice, but I suppose that something like this could be enough:
> 
>  def TestInstanceShutdown(instance):
>    AssertCommand(["gnt-instance", "shutdown", instance["name"]])
>    CallAFunctionThatRisesAnExceptionIfTheInstanceIsUP(instance["name"])

Well, this is exactly what I meant. Instead of doing it in the caller of
TestInstanceShutdown, do it directly in TestInstanceShutdown, possibly
via a decorator.

"instead annotate the instance tests themselves".

iustin

Reply via email to