Can be described in a uniform way using a configuration file in such a way that the test generator can figure out if given code run changed the given state or not.
SharedState |
reset() |
has_changed() # did the state change since the last reset? |
Some typical states can be prebuilt, with a small configuration needed to make them work. For example, module/class variables may only need a location, in a dot-style notation: foo.bar.SomeClass.var. Our system will take care of the rest, i.e. replacing the variable with a fake that will sense its value changes.
For more complicated resources all the user have to do to describe the resource is to implement a subclass of SharedState. We'll provide examples once we have a better idea about various ways of using external state in Python.