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
