Transaction Management

Each test is executed in a separate transaction. This transaction is broken only :

  1. when a message goes from one module to the other

  2. if asynchronous actions are defined

  3. if a synchronous action is defined with the "waitForExpr" attribute

  4. when starting the post actions

The third statement is usefull when a user wants to wait for an attribute to change its value : by breaking the transaction, the object will not be read-locked for ever, and any consecutive action won't be executed while this one does not complete. The fourth statement is usefull when users want to trigger some actions at the end of a test (to check that there is no leak, to clean some stuff, etc).