--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/testdev/ite/src/com.nokia.testfw.stf.scripteditor/scripter.xml Tue Mar 30 14:39:29 2010 +0800
@@ -0,0 +1,1312 @@
+<?xml version="1.0"?>
+
+<sections>
+
+<section name="Test" endname="Endtest" proposal="[Test]\ title testcasename\[Endtest]">
+
+<command id="title">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ string
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="words" binding="none" nextvalue="none">
+ value
+ </argument>
+ </optional>
+ <errornote>
+ Title commmand requires test title as an argument
+ </errornote>
+ <commandinfo>
+Specifies a verbal description for a test case.
+
+title testcasedescription
+
+Arguments:
+test case description: A verbal description for a test case.
+ </commandinfo>
+</command>
+
+<command id="timeout">
+ <mandatory>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ value
+ </argument>
+ </mandatory>
+ <errornote>
+ Timeout keyword should have a timeout value as an argument
+ </errornote>
+ <commandinfo>
+Specifies a timeout value for a test case.
+Timeout value is passed in milliseconds.
+
+timeout value
+
+Arguments:
+value:Timeout value,passed in milliseconds.
+ </commandinfo>
+
+</command>
+
+<command id="priority">
+ <mandatory>
+ <argument type="selective" value="none" binding="none" nextvalue="none">
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ normal
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ high
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ low
+ </argument>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ Priority value
+ </argument>
+ </argument>
+ </mandatory>
+ <errornote>
+ Priority keyword should have a priority value as an argument
+ </errornote>
+ <commandinfo>
+Specifies the priority value of the test case. The value can be either an integer
+or the string "high", "normal" or "low". Negative values are low and positive
+values are high.
+ </commandinfo>
+</command>
+
+<command id="setresultdescription">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ setresultdescriptionValue
+ </argument>
+ </mandatory>
+ <errornote>
+ Setresultdescription has invalid argument
+ </errornote>
+ <commandinfo>
+Sets the description of the current executed test case.
+In case of error situation, it will be shown to user in test report.
+
+setresultdescription setresultdescriptionValue
+ </commandinfo>
+</command>
+
+<command id="create">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ TestClassName
+ </argument>
+ <argument type="creative" value="literal" binding="none" nextvalue="none">
+ TestObjectName
+ </argument>
+ </mandatory>
+ <errornote>
+ Create has invalid argument
+ </errornote>
+ <commandinfo>
+Creates keyword is used to create a new instance of a test class.
+
+create TestClassName TestObjectName
+
+Arguments:
+Test class name: The test class name for the new object.
+Test object name: The name of the created new instance of the test class.
+ </commandinfo>
+</command>
+
+<command id="createkernel">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ KernelTestClassName
+ </argument>
+ <argument type="creative" value="literal" binding="none" nextvalue="none">
+ TestObjectName
+ </argument>
+ </mandatory>
+ <errornote>
+ Createkernel has invalid argument
+ </errornote>
+ <commandinfo>
+Creates a new instance of a kernel test class.
+
+createkernel KernelTestClassName TestObjectName
+
+Arguments:
+Test class name: The test class name for the new object. It's the first argument.
+Test object name: The name of the created new instance of the test class.
+ </commandinfo>
+</command>
+
+<command id="delete">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ TestObjectName
+ </argument>
+ </mandatory>
+ <errornote>
+ Delete has invalid argument
+ </errornote>
+ <commandinfo>
+Deletes an instance of a test class
+
+delete TestObjectName
+
+Arguments:
+Test object name: The name of the instance of the test class that is deleted.
+ </commandinfo>
+</command>
+
+<command id="allownextresult">
+ <mandatory>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ errorCode
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="words" binding="none" nextvalue="digit">
+ optionalErrorCode
+ </argument>
+ </optional>
+ <errornote>
+ "allownextresult" keyword must be followed by an error code
+ </errornote>
+ <commandinfo>
+Adds valid result values for a method and for asynchronous commands.
+The default value for the expected result is 0
+
+allownextresult errorCode
+
+Arguments:
+A Symbian OS error codes: A Symbian OS error codes, which is allowed from the next method or waittestclass completion.
+Optional Error Code: Optional.Multiple error codes, separated by space, can be passed.
+ </commandinfo>
+</command>
+
+<command id="allowerrorcodes">
+ <mandatory>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ errorCode
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="words" binding="none" nextvalue="digit">
+ optionalErrorCode
+ </argument>
+ </optional>
+ <errornote>
+ "allowerrorcodes" keyword must be followed by an error code
+ </errornote>
+ <commandinfo>
+Adds valid result values for a method and for asynchronous commands.
+The default value for the expected result is 0
+
+allowerrorcodes errorCode
+
+Arguments:
+A Symbian OS error codes: A Symbian OS error codes, which is allowed from the next method or waittestclass completion.
+Optional Error Code: Optional.Multiple error codes, separated by space, can be passed.
+ </commandinfo>
+</command>
+
+
+<command id="waittestclass">
+ <mandatory>
+ <argument type="normal" value="object" binding="none" nextvalue="none">
+ TestObjectName
+ </argument>
+ </mandatory>
+ <errornote>
+ Delete has invalid argument
+ </errornote>
+ <commandinfo>
+Pauses test case running until the specified test class object calls the
+Signal function to proceed with the test case execution again.
+
+waittestclass TestObjectName
+
+Arguments:
+Test object name: The name of the instance of the test class,
+which must call Signal() to proceed with the test case execution.
+ </commandinfo>
+</command>
+
+<command id="pause">
+ <mandatory>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ pauseValue
+ </argument>
+ </mandatory>
+ <errornote>
+ "pause" keyword takes number of miliseconds as an argument"
+ </errornote>
+ <commandinfo>
+Pauses test case running.
+
+pause pauseValue
+
+Arguments:
+pauseValue: The timeout for the pause, specified in milliseconds.
+ </commandinfo>
+</command>
+
+<command id="loop">
+ <mandatory>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ loopTimes
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ msec
+ </argument>
+ </optional>
+ <errornote>
+ "loop" keyword must be followed by the loop count
+ </errornote>
+ <commandinfo>
+Repeats a section of the test case file for the specified number of iterations.
+The section to be repeated is enclosed with the loop and endloop keywords.
+
+loop loopTimes msec
+
+Arguments:
+Loop times: The loop count, that is, the number of times that the loop is executed.
+Msec: Optional.This keyword says that ‘Loop times’ argument stands for the time in milliseconds during which loop will be looped
+ </commandinfo>
+</command>
+
+<command id="print">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ String
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="words" binding="none" nextvalue="none">
+ yes
+ </argument>
+ </optional>
+ <errornote>
+ incorrect "print" value
+ </errornote>
+ <commandinfo>
+Specifies a description to print, for example, to print progress information to the UI.
+
+print string
+
+Arguments:
+Print string: The string that want to be printed.
+ </commandinfo>
+</command>
+
+<command id="endloop">
+ <errornote>
+ "endloop" keyword takes no arguments
+ </errornote>
+ <commandinfo>
+The endloop keyword is used to specify the end of a looped section.
+
+endloop
+ </commandinfo>
+</command>
+
+
+<command id="oomignorefailure">
+ <mandatory>
+ <argument type="selective" value="none" binding="none" nextvalue="none">
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ on
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ off
+ </argument>
+ </argument>
+ </mandatory>
+ <errornote>
+ "oomignorefailure" keyword must be followed by an on/off value
+ </errornote>
+ <commandinfo>
+Used for OOM testing.
+Defines if a test class’s building block execution result is checked or ignored.
+
+Arguments:
+Indication for the result check: The possible values are on and off:
+on indicates that the building block execution result will be ignored.
+off (default) indicates that the building block execution result will be checked and errors will be handled.
+ </commandinfo>
+</command>
+
+<command id="oomheapfailnext">
+ <mandatory>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ CountValue
+ </argument>
+ </mandatory>
+ <errornote>
+ "oomheapfailnext" keyword must be followed by a failure rate
+ </errornote>
+ <commandinfo>
+Used for OOM testing.
+Defines that heap allocation failure occurs in the test thread.
+
+oomheapfailnext CountValue
+
+Arguments:
+Count value (rate): The failure rate. Heap allocation fails every time that is given as an argument.
+The given argument will be increased by one because the Test Scripter LOOP_COUNTER range starts from 0.
+The oomheapfailnext range starts from 1.
+ </commandinfo>
+</command>
+
+
+<command id="oomheapsetfail">
+ <mandatory>
+ <argument type="selective" value="none" binding="none" nextvalue="none">
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ random
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ truerandom
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ deterministic
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ none
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ failnext
+ </argument>
+ </argument>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ CountValue
+ </argument >
+ </mandatory>
+ <errornote>
+ "oomheapsetfail" keyword must be followed by the type of failure and a count value
+ </errornote>
+ <commandinfo>
+Used for OOM testing.
+Defines that heap allocation failure occurs in the test thread.
+The user can define the failure type and count (rate).
+
+Arguments:
+The type of failure to be simulated: The supported value are: random, truerandom, deterministic, none, failnext
+Count value (rate): The given argument will be increased by one because the Test Scripter LOOP_COUNTER range starts from 0.
+ The oomheapsetfail range starts from 1
+ </commandinfo>
+
+</command>
+
+<command id="oomheaptonormal">
+ <errornote>
+ "oomheaptonormal" takes no parameter
+ </errornote>
+ <commandinfo>
+Used for OOM testing.
+Ends OOM testing and normal testing continues.
+
+oomheaptonormal
+ </commandinfo>
+</command>
+
+<command id="testinterference">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ objectName
+ </argument>
+ <argument type="selective" value="none" binding="none" nextvalue="none">
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ start
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ stop
+ </argument>
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="selective" value="none" binding="none" nextvalue="none">
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ activeobject
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ thread
+ </argument>
+ </argument>
+ <argument type="selective" value="none" binding="none" nextvalue="none">
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ cpuload
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemreadc
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemreadd
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemreade
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemreadz
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemwritec
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemwrited
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemwritee
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemfillandemptyc
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemfillandemptyd
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ filesystemfillandemptye
+ </argument>
+ </argument>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ idleTime
+ </argument>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ activeTime
+ </argument>
+ </optional>
+ <errornote>
+ syntax error error
+ </errornote>
+ <commandinfo>
+Interferes the testing.
+
+Arguments:
+object name: Object name that is used for starting and stopping interference operations.
+command: Command for STIF Test Interference control.
+The supported values are:
+-start
+-stop.
+
+category: Interference category. The supported values are:
+-activeobject
+-thread.
+
+type: Interference type.
+The supported values are:
+-cpuload
+-filesystemreadc
+-filesystemreadd
+-filesystemreade
+-filesystemreadz
+-filesystemwritec
+-filesystemwrited
+-filesystemwritee
+-filesystemfillandemptyc
+-filesystemfillandemptyd
+-filesystemfillandemptye
+
+idle time: Idle time in milliseconds.
+active time: Active time in milliseconds.
+set priority: Optional. Set priority for thread or active object.
+ </commandinfo>
+</command>
+
+<command id="measurement">
+ <mandatory>
+ <argument type="selective" value="none" binding="none" nextvalue="none">
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ start
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ stop
+ </argument>
+ </argument>
+ <argument type="selective" value="none" binding="none" nextvalue="none">
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ measurementplugin01
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ measurementplugin02
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ measurementplugin03
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ measurementplugin04
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ measurementplugin05
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ stifbappeaprofiler
+ </argument>
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ STIFTestMeasurementParameters
+ </argument>
+
+ </optional>
+ <errornote>
+ "measurement" keyword must be follwed by a command, type and optionaly parameters
+ </errornote>
+ <commandinfo>
+easures the testing.
+
+Arguments:
+STIF Test measurement command: Commad for STIF Test Measurement control. The supported values are: start for starting test measurement, stop for stopping test measurement. It also releases all allocated resources.
+STIF Test measurement type: Test measurement type.
+The supported values are: measurementplugin01, measurementplugin02, measurementplugin03, measurementplugin04, measurementplugin05, bappeaprofiler
+STIF Test measurement parameters: Test measurement module configuring etc. user and test measurement module specific.
+ </commandinfo>
+</command>
+
+<command id="var">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ varName
+ </argument>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ varValue
+ </argument>
+ </mandatory>
+ <errornote>
+ "var" keyword requires variable name and value
+ </errornote>
+ <commandinfo>
+Assigns a text value to a specified variable. It can be then used in other part of the script.
+
+var varName varValue
+ </commandinfo>
+</command>
+
+
+<command id="callsub">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ callsubValue
+ </argument>
+ </mandatory>
+ <errornote>
+ "callsub" keyword requires subroutine name as the only agrument
+ </errornote>
+ <commandinfo>
+Makes TestScripter executing pointed section of script.
+
+Section which will be called must start with [Sub name] and end with [EndSub] tags, where name is the identifier of the sub.
+The execution of the sub will continue until its end is reached. There is possibility to call a sub from another sub.
+
+callsub callsubValue
+ </commandinfo>
+</command>
+
+<command id="request">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ requestValue
+ </argument>
+ </mandatory>
+ <errornote>
+ "request" keyword must be follwed by an event name
+ </errornote>
+ <commandinfo>
+Requests an event. If someone wants to use an event, it must first be requested, and after that it can be waited.
+After the event is not used anymore, it must be released.
+
+request requestValue
+
+Arguments:
+Event: The event name.
+ </commandinfo>
+</command>
+
+<command id="wait">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ waitValue
+ </argument>
+ </mandatory>
+ <errornote>
+ "wait" keyword must be follwed by an event name
+ </errornote>
+ <commandinfo>
+Waits for an event.
+A request must be called before wait, and wait blocks until the requested event is set.
+Wait may proceed immediately if the requested event is a state event and already pending (for example, a phone call is already active).
+
+wait waitValue
+
+Arguments:
+Event: The event name.
+ </commandinfo>
+
+</command>
+
+<command id="release">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ releaseValue
+ </argument>
+ </mandatory>
+ <errornote>
+ "release" keyword must be follwed by an event name
+ </errornote>
+ <commandinfo>
+Releases an event.
+Every requested event must be released explicitly when it is not used anymore.
+
+release releaseValue
+
+Arguments:
+Event: The event name.
+ </commandinfo>
+</command>
+
+
+<command id="set">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ setValue
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ state
+ </argument>
+ </optional>
+ <errornote>
+ "set" keyword must be follwed by an event name
+ </errornote>
+ <commandinfo>
+Sets an event. Every set state event must be explicitly unset.
+
+set setValue state
+
+Arguments:
+Event: The event name.
+State: Optional. If a state is given, sets the state event, otherwise sets an indication event.
+ </commandinfo>
+</command>
+
+<command id="unset">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ unsetValue
+ </argument>
+ </mandatory>
+ <errornote>
+ "unset" keyword must be follwed by an event name
+ </errornote>
+ <commandinfo>
+The unset keyword is used to unset a state event.
+Every set state event must be unset.
+Indication events cannot be unset. unset blocks until everyone who has requested the specified event has released the event.
+
+unset unsetValue
+
+Arguments:
+Event: The event name.
+ </commandinfo>
+</command>
+
+
+<command id="bringtoforeground">
+ <errornote>
+ "bringtoforeground" keyword takes no arguments
+ </errornote>
+ <commandinfo>
+Brings UI component container to foreground described in below.
+
+bringtoforeground
+ </commandinfo>
+</command>
+
+<command id="sendtobackground">
+ <errornote>
+ "sendtobackground" keyword takes no arguments
+ </errornote>
+ <commandinfo>
+Sends UI component container to background.
+
+sendtobackground
+ </commandinfo>
+</command>
+
+<command id="presskey">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ presskeyValue
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="words" binding="none" nextvalue="none">
+ presskeyValue
+ </argument>
+ </optional>
+ <errornote>
+ "presskey" keyword takes Key code as an argument.
+ </errornote>
+ <commandinfo>
+Sends key event to tested UI component.
+
+presskey presskeyValue
+
+Arguments:
+Key code Single character or constant defined in TKeyCode enumeration. Must be defined if keycode and keyscancode is not defined
+
+keycode: Numeric value or constant defined in TKeyCode enumeration. If it is defined, then mandatory argument may be omitted
+keyscancode: Numeric key value or constant defined in TStdScanCode enumeration. If it is defined, then mandatory argument or keycode argument may be omitted
+modifier: One of the constant values defined in TEventModifier enumeration
+repeats: Count of auto repeats generated. 0 means an event without repeats. 1 or more means "this many auto repeat events". In most cases this value is ignored and treated as a single event.
+local: Sends key event to focused UI control, constructed under CCoeEnv delivered by STIF.
+global: Sends key event to focused UI control ( constructed under any CCoeEnv, not necessarily CCoeEnv delivered by STIF ) e.g press left softkey of global message box
+
+ </commandinfo>
+</command>
+
+
+<command id="typetext">
+ <mandatory>
+ <argument type="normal" value="quoted" binding="none" nextvalue="none">
+ typetextValue
+ </argument>
+ </mandatory>
+ <errornote>
+ "typetext" keyword takes text as an argument.
+ </errornote>
+ <commandinfo>
+Sends text to tested UI component.
+
+typetext typetextValue
+
+Arguments:
+text: Text in quotation marks which should be send to UI component
+
+ </commandinfo>
+</command>
+
+
+<command id="sendpointerevent">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ sendpointereventValue
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="words" binding="none" nextvalue="none">
+ SendpointereventValue
+ </argument>
+ </optional>
+ <errornote>
+ "sendpointerevent" keyword takes Event type and positon as an arguments.
+ </errornote>
+ <commandinfo>
+Sends pointer event to tested UI component.
+
+sendpointerevent sendpointereventValue
+
+Arguments:
+Event type: Pointer event type.
+Fallowing pointer even types are sypported: EButton1, EButton2, EButton3, EPointerMove, EPointerSwitchOn, EButton1Down, EButton1Up, EButton2Down, EButton2Up, EButton3Down, EButton3Up
+x: Pointer x co-ordinate
+y: Pointer y co-ordinate
+
+ </commandinfo>
+</command>
+
+
+<command id="using">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ TestLibDLLName
+ </argument>
+ <argument type="creative" value="literal" binding="none" nextvalue="none">
+ DllObjectName
+ </argument>
+ </mandatory>
+ <errornote>
+ Create has invalid argument
+ </errornote>
+ <commandinfo>
+Loads STF specific test harness library.
+
+using TestLibDLLName DllObjectName
+
+Arguments:
+DLL name: The test harness library name.
+DLL object name: The alias of the created new instance of the test harness library.
+ </commandinfo>
+</command>
+
+<command id="expectedpanic">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ PanicNumber
+ </argument>
+ </mandatory>
+ <errornote>
+ "expectedpanic" keyword takes one panic number argument
+ </errornote>
+ <commandinfo>
+Declares valid panic result value for a test case. It indicates that the test case MUST panic with this specified panic code in execution, and only can be used once with a single parameter.
+NOTE: expectedpanic does not support UI Testing.
+
+expectedpanic PanicNumber
+
+Arguments:
+Panic Number, An single integer, which represents the expected panic number.
+
+ </commandinfo>
+</command>
+
+<!-- commands below are for test combiner -->
+
+<command id="canceliferror">
+ <errornote>
+ "canceliferror" keyword takes no arguments
+ </errornote>
+ <commandinfo>
+Cancels the execution of the remaining test cases if one of the executed test cases has failed.
+This keyword is normally used to stop the test case execution when some of the test cases are long running.
+
+canceliferror
+ </commandinfo>
+</command>
+
+<command id="run">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ testmodule
+ </argument>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ configfile
+ </argument>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ TestCaseNumber
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="name" binding="=" nextvalue="digit">
+ expect
+ </argument>
+ <argument type="normal" value="name" binding="=" nextvalue="literal">
+ testid
+ </argument>
+ <argument type="normal" value="name" binding="=" nextvalue="literal">
+ ini
+ </argument>
+ <argument type="normal" value="name" binding="=" nextvalue="literal">
+ category
+ </argument>
+ <argument type="normal" value="name" binding="=" nextvalue="digit">
+ timeout
+ </argument>
+ <argument type="normal" value="quoted" binding="none" nextvalue="none">
+ title
+ </argument>
+ </optional>
+ <errornote>
+ "run" keyword takes test module name, configuration file and test case number as argumets
+ </errornote>
+ <commandinfo>
+Starts a specified test case. It has several mandatory and optional arguments.
+
+run testmodule configfile TestCaseNumber expect testid ini category timeout title
+
+Arguments:
+testmodule: The test module name.
+configfile: The test case configuration file.
+Test case number: The test case number to be executed from configfile.
+
+Optional arguments:
+expect: The expected result (0 = KErrNone).
+testid: Test case identification, which is used by other keywords to identify the test case ().
+ini: The initialization file for test module ().
+category: The result category; either normal, leave, panic, exception or timeout.
+timeout: Test case timeout (not supported yet).
+title: Test case title.
+ </commandinfo>
+</command>
+
+
+<command id="cancel">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ testid
+ </argument >
+ </mandatory>
+ <errornote>
+ "cancel" keyword takes test an identification of a test case as an argument
+ </errornote>
+ <commandinfo>
+Cancels a started test case.
+The test case is cancelled by immediately killing the thread that executes the test case.
+
+cancel testid
+
+Arguments:
+testid: The test ID from the run command.
+ </commandinfo>
+</command>
+
+<command id="pausetest">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ testid
+ </argument >
+ </mandatory>
+ <optional>
+ <argument type="normal" value="name" binding="=" nextvalue="digit">
+ time
+ </argument>
+ </optional>
+ <errornote>
+ "pausetest" keyword takes testid as mandatory argument.
+ </errornote>
+ <commandinfo>
+Pauses a test case. The test case is paused by pausing the thread that executes
+the test case. The pausetest keyword has one mandatory argument
+
+pausetest testid time
+
+Arguments:
+testid: the test ID from the run command.
+time: (optional) Pause time in milliseconds. After this time, resume is called automatically (if not given, resume needs to be called explicitly).
+ </commandinfo>
+</command>
+
+<command id="resume">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ testid
+ </argument >
+ </mandatory>
+ <errornote>
+ "resume" keyword takes an identification of a test case as an argument
+ </errornote>
+ <commandinfo>
+Resumes a paused test case.
+
+resume testid
+
+Arguments:
+testid: The test ID from the run command.
+ </commandinfo>
+</command>
+
+<command id="complete">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ testid
+ </argument >
+ </mandatory>
+ <errornote>
+ "complete" keyword takes an identification of a test case as an argument
+ </errornote>
+ <commandinfo>
+Waits and blocks a running test case. This keyword is used to have a started test case wait to complete.
+It blocks until the test case has finished.
+
+complete testid
+
+Arguments:
+testid: The test ID from the run command.
+ </commandinfo>
+</command>
+
+<command id="allocate">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ SlaveType
+ </argument>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ SlaveName
+ </argument>
+ </mandatory>
+ <errornote>
+ "allocate" keyword must be follwed by slave type ans slave name
+ </errornote>
+ <commandinfo>
+Allocates a slave, for example for running a test case on a remote phone.
+It uses Remote Control Protocol (RPC).
+The slave must always be allocated first before it can be used.
+
+Arguments:
+Slave type: The type of the slave.
+STIF only supports slave phone. phone indicates that slave phone is also running STIF.
+Other types must be handled by the slave implementation, i.e. when implementing separate support for external network simulator.
+
+Slave name: A unique name for the slave.
+
+ </commandinfo>
+</command>
+
+
+<command id="free">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ SlaveName
+ </argument>
+ </mandatory>
+ <errornote>
+ "free" keyword must be follwed by slave name
+ </errornote>
+ <commandinfo>
+Frees a slave. Every allocated slave must be freed with free when it becomes unused.
+
+Arguments:
+Slave type: The type of the slave.
+STIF only supports slave phone. phone indicates that slave phone is also running STIF.
+Other types must be handled by the slave implementation, i.e. when implementing separate support for external network simulator.
+
+ </commandinfo>
+</command>
+
+<command id="remote">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ objectName
+ </argument>
+ <argument type="selective" value="none" binding="none" nextvalue="none">
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ run
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ request
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ wait
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ set
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ unset
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ set
+ </argument>
+ <argument type="normal" value="name" binding="none" nextvalue="none">
+ release
+ </argument>
+ </argument>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ module
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ testmodule
+ </argument>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ configfile
+ </argument>
+ <argument type="normal" value="digit" binding="none" nextvalue="none">
+ testCaseNumber
+ </argument>
+ <argument type="normal" value="name" binding="=" nextvalue="digit">
+ expect
+ </argument>
+ <argument type="normal" value="name" binding="=" nextvalue="literal">
+ testid
+ </argument>
+ <argument type="normal" value="name" binding="=" nextvalue="literal">
+ ini
+ </argument>
+ <argument type="normal" value="name" binding="=" nextvalue="literal">
+ category
+ </argument>
+ <argument type="normal" value="name" binding="=" nextvalue="digit">
+ timeout
+ </argument>
+ <argument type="normal" value="quoted" binding="none" nextvalue="none">
+ title
+ </argument>
+ </optional>
+ <errornote>
+ syntax error error
+ </errornote>
+ <commandinfo>
+Starts the execution of a test case in a slave and also to request and release events from the slave.
+Other test case controlling for remote test cases is done with the same keywords as for the local test cases.
+
+Arguments:
+Slave name: The slave name, the same that was given for allocate.
+Command name: The remote command name
+supported commands:
+-run
+-request
+-wait
+-set
+-unset
+-release
+
+
+ </commandinfo>
+</command>
+
+
+<command id="INCLUDE">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ filename
+ </argument>
+ </mandatory>
+ <errornote>
+ missing mandatory argument: filename.
+ </errornote>
+ <commandinfo>
+Includes a file.
+
+Must be written in capital letters and must start from the first column of the line.
+File name (with path and extension) must follow INCLUDE command. Rest of line would be ignored.
+All files included from Unicode file should also be in Unicode format (and vice versa).
+Loops in includes are not allowed (for example incorrect situation is when file A includes file B and file B includes file A). In that case, the second include will be ignored, but STF parser will continue working).
+ </commandinfo>
+</command>
+
+<!-- end test combiner commands -->
+
+<!-- commands for shareobject -->
+<command id="createshareobj">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ TestClassName
+ </argument>
+ <argument type="creative" value="literal" binding="none" nextvalue="none">
+ TestObjectName
+ </argument>
+ </mandatory>
+ <errornote>
+ syntax error
+ </errornote>
+ <commandinfo>
+Creates an object, wihch can be shared to other test cases in the same test script file.
+
+createshareobj TestClassName TestObjectName
+
+Arguments:
+Test Class Name: The test class name for the new object.
+Test Object Name: the name of the created new instance of the test class
+ </commandinfo>
+</command>
+
+<command id="restoreshareobj">
+ <mandatory>
+ <argument type="creative" value="literal" binding="none" nextvalue="none">
+ TestObjectName
+ </argument>
+ </mandatory>
+ <errornote>
+ syntax error
+ </errornote>
+ <commandinfo>
+Restores an object, which has been created by the createshareobj keyword.
+
+restoreshareobj TestObjectName
+
+Arguments:
+Test Object Name: the name of the instance of the test class
+ </commandinfo>
+</command>
+
+<command id="deleteshareobj">
+ <mandatory>
+ <argument type="creative" value="literal" binding="none" nextvalue="none">
+ TestObjectName
+ </argument>
+ </mandatory>
+ <errornote>
+ syntax error
+ </errornote>
+ <commandinfo>
+Deletes an instance of a test class created with createshareobj.
+
+deleteshareobj TestObjectName
+
+Arguments:
+Test Object Name: the name of the instance of the test class
+ </commandinfo>
+</command>
+
+<!-- end commands for shareobject -->
+
+</section>
+
+<section name="StifSettings" endname="EndStifSettings" proposal="[StifSettings]\[EndStifSettings]">
+
+</section>
+
+
+<section name="Define" endname="Enddefine" proposal="[Define]\[Enddefine]">
+</section>
+
+
+<section name="New_Include_Module" endname="End_Include_Module" proposal="[New_Include_Module]\[End_Include_Module]">
+</section>
+
+<section name="Data" endname="Enddata" proposal="[Data]\ file sectionfile.ini sectiondescriptor
+\ section SectionName SectionObjectName\[Enddata]">
+
+<command id="file">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ sectionfile.ini
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="creative" value="literal" binding="none" nextvalue="none">
+ da
+ </argument>
+ </optional>
+ <errornote>
+ Create has invalid argument
+ </errornote>
+ <commandinfo>
+Specifies data file name.
+
+file sectionfile.ini da
+
+Arguments:
+sectionfile.ini: the data file name
+da: Optional.A short name used in the script to reference the data file
+ </commandinfo>
+</command>
+
+
+<command id="section">
+ <mandatory>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ SectionName
+ </argument>
+ </mandatory>
+ <optional>
+ <argument type="normal" value="literal" binding="none" nextvalue="none">
+ SectionShortName
+ </argument>
+ </optional>
+ <errornote>
+ Create has invalid argument
+ </errornote>
+ <commandinfo>
+Specify which section in the data file will be referred
+
+section SectionName SectionShortName
+
+Arguments:
+SectionName: The section name defined in the data file.
+SectionShortName: Optional.The short name.
+ </commandinfo>
+</command>
+
+
+</section>
+
+<section name="Sub" endname="Endsub" proposal="[Sub subname]\[Endsub]">
+</section>
+
+</sections>