2 Replies Latest reply on Jan 25, 2008 4:33 PM by rrajesh

    transaction (crash recovery) tests.

    jhalliday

      Hi all

      I know this is a long shot, but is there any documentation for the test suite framework? I'm interested in the mechanisms used to e.g. configure, start and stop the app server.

      To provide some background, I'm looking at how to approach the problem of testing transactions crash recovery in the app server. This has not been an issue until fairly recently, as the old tm did not support crash recovery anyhow. Hence there is almost certainly no support for it currently.

      JBossTS has an extensive crash recovery test suite, built on the DTF framework. The framework provides for configuring, starting and stopping processes, just like the AS test suite. But it also supports configuration for external resources, mainly the various XA aware databases we test against. It also supports crashing (rather than shutting down) processes at various points. Thus we have fairly good automated test coverage for JBossTS standalone edition.

      Crash recovery for JBossTS inside the app server requires different configuration and pretty clearly can't be run without the app server. The choices seem to be: drive these tests through the DTF, perhaps by writing additional plugins to support the app server configure/start/stop/crash, or drive the tests through the app server test suite.

      There is a certain amount of less technical discussion to be had regarding where, conceptually speaking, these tests should reside. Are they part of the AS or part of the transaction service? Should they still be expected to pass if JBossTS is swapped out for another transactions engine, as is the case with existing tm tests in the AS test suite? Can they link against JBossTS internal classes, or only the integration SPI?

      Mainly though I'm initially interested in determining how much help the existing AS test suite framework may be in providing a starting point for the functionality I need to e.g. wire up databases to the AS, crash and restart the AS, etc.