Project: lixa
Code Location: https://lixa.svn.sourceforge.net/svnroot/lixa/tests//tests
Browse
/
Download File
tx_3_3.at
AT_BANNER([TX: 3.3 Beginning and Completing Global Transactions])

AT_SETUP([TX/3.3/0.0])
# "An AP calls tx_begin( ) to mark the beginning of a global transaction. 
# This act places the calling AP in transaction mode. 
# The function fails if the caller is already in transaction mode, without
# affecting the transaction active in the thread of control."
AT_DATA([monkey1s.conf],
[[# first monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# second monkey R.M. config
xa_open/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0003 ; lixa_test_exec.sh reset recycle case0005 ], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([TX/3.3/1.0])
# "A call to either tx_commit( ) [or tx_rollback ( )] begins a new global 
# transaction when the previous one is completed, if the AP has selected 
# chained mode."
AT_DATA([monkey1s.conf],
[[# first monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_prepare/0
xa_commit/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# second monkey R.M. config
xa_open/0
xa_end/0
xa_prepare/0
xa_commit/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0003 ; lixa_test_exec.sh reset recycle case0006 commit], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([TX/3.3/1.1])
# "A call to either [tx_commit( )] or tx_rollback ( ) begins a new global 
# transaction when the previous one is completed, if the AP has selected 
# chained mode."
AT_DATA([monkey1s.conf],
[[# first monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_rollback/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# second monkey R.M. config
xa_open/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0003 ; lixa_test_exec.sh reset recycle case0006 rollback], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([TX/3.3/2.0])
# "Many RMs let APs request work outside any global transaction without 
# coordination by an X/Open TM. This can happen when the AP is not in 
# transaction mode and does work with one or more RMs.
AT_DATA([monkey1d.conf],
[[# first monkey R.M. config
xa_open/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# second monkey R.M. config
xa_open/0
xa_close/0
]])
AT_DATA([monkey3d.conf],
[[# third monkey R.M. config
xa_open/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0001 ; lixa_test_exec.sh reset recycle case0007 0], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([TX/3.3/2.1])
# "Many RMs let APs request work outside any global transaction without 
# coordination by an X/Open TM. This can happen when the AP is not in 
# transaction mode and does work with one or more RMs.
AT_DATA([monkey1d.conf],
[[# first monkey R.M. config
xa_open/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# second monkey R.M. config
xa_open/0
xa_close/0
]])
AT_DATA([monkey3d.conf],
[[# third monkey R.M. config
xa_open/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0001 ; lixa_test_exec.sh reset recycle case0007 1], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([TX/3.3/2.2])
# "Many RMs let APs request work outside any global transaction without 
# coordination by an X/Open TM. This can happen when the AP is not in 
# transaction mode and does work with one or more RMs.
AT_DATA([monkey1d.conf],
[[# first monkey R.M. config
xa_open/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# second monkey R.M. config
xa_open/0
xa_close/0
]])
AT_DATA([monkey3d.conf],
[[# third monkey R.M. config
xa_open/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0001 ; lixa_test_exec.sh reset recycle case0007 2], [0], [ignore], [ignore])
AT_CLEANUP