Project: lixa
Code Location: https://lixa.svn.sourceforge.net/svnroot/lixa/tests//tests
Browse
/
Download File
tx_5_19.at
AT_BANNER([TX: 5.19 TX_FAIL])

# In some cases the [TX_FAIL] error description includes the following 
# sentence:
#   The nature of the error is such that the transaction manager and/or one or
#   more of the resource managers can no longer perform work on behalf of the
#   application.
# This means that any of the following can no longer perform work on behalf of
# the application:
# - transaction manager
# - any resource manager
# - any combination of resource managers
# - any combination of resource managers and the transaction manager.

# Again: Appendix B.3 General Rules for Mapping of Return Codes (page 62):
#
# The return code [TX_FAIL] reports that the TM or an RM failed and the TM
# should not be called further.

AT_SETUP([TX/5.19/0.0])
# test tx_set_.... & tx_info
AT_DATA([monkey1s.conf],
[[# monkey R.M.config
xa_open/0
xa_start/-7
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M.config
xa_open/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0003 ; lixa_test_exec.sh reset start case0026 0], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([TX/5.19/0.1])
# test tx_commit/xa_end
AT_DATA([monkey1s.conf],
[[# monkey R.M.config
xa_open/0
xa_start/0
xa_end/-7
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M.config
xa_open/0
xa_end/-7
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0003 ; lixa_test_exec.sh noreset none case0026 1], [0], [ignore], [ignore])
# test tx_commit/xa_commit
AT_DATA([monkey1s.conf],
[[# monkey R.M.config
xa_open/0
xa_start/0
xa_end/0
xa_commit/-7
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M.config
xa_open/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0003 ; lixa_test_exec.sh noreset none case0026 1], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([TX/5.19/0.2])
# test tx_rollback/xa_end
AT_DATA([monkey1s.conf],
[[# monkey R.M.config
xa_open/0
# this rollback recovers the previous commit failure
xa_rollback/0
xa_start/0
xa_end/0
xa_commit/0
xa_start/0
xa_end/-7
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M.config
xa_open/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0003 ; lixa_test_exec.sh noreset none case0026 2], [0], [ignore], [ignore])
# test tx_rollback/xa_rollback
AT_DATA([monkey1s.conf],
[[# monkey R.M.config
xa_open/0
xa_start/0
xa_end/0
xa_commit/0
xa_start/0
xa_end/0
xa_rollback/-7
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M.config
xa_open/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0003 ; lixa_test_exec.sh noreset none case0026 2], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([TX/5.19/0.3])
# test tx_open
AT_DATA([monkey1s.conf],
[[# monkey R.M.config
xa_open/0
# this rollback recovers the previous commit failure
xa_rollback/0
xa_start/0
xa_end/0
xa_commit/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
xa_open/0
xa_close/-7
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M.config
xa_open/0
xa_close/0
xa_open/0
xa_close/-7
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0003 ; lixa_test_exec.sh noreset stop case0026 3], [0], [ignore], [ignore])
AT_CLEANUP