diff options
Diffstat (limited to 'test/w3c/promela/test250.scxml')
-rw-r--r-- | test/w3c/promela/test250.scxml | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/w3c/promela/test250.scxml b/test/w3c/promela/test250.scxml new file mode 100644 index 0000000..0747224 --- /dev/null +++ b/test/w3c/promela/test250.scxml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- test that the onexit handlers run in the invoked process if it is cancelled. This has to be a +manual test, since this process won't accept any events from the child process once it has been cancelled. +Tester must examine log output from child process to determine success --> +<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="promela"> + <state id="s0"> + <onentry> + <send event="foo"/> + </onentry> + <invoke type="http://www.w3.org/TR/scxml/"> + <content> + <scxml initial="sub0" version="1.0" datamodel="promela"> + <state id="sub0" initial="sub01"> + <onentry> + <send xmlns:scxml="http://www.w3.org/2005/07/scxml" delay="2000" event="timeout"/> + </onentry> + <transition event="timeout" target="subFinal"/> + <onexit> + <log expr="'Exiting sub0'"/> + </onexit> + <state id="sub01"> + <onexit> + <log expr="'Exiting sub01'"/> + </onexit> + </state> + </state> + <final id="subFinal"> + <onentry> + <log expr="'entering final state, invocation was not cancelled'"/> + </onentry> + </final> + </scxml> + </content> + </invoke> + <!-- this transition will cause the invocation to be cancelled --> + <transition event="foo" target="final"/> + </state> + <final id="final"/> +</scxml> |