Hi Sharon,
Thank you very much for the help. This cleared my concepts very well. Now I
am able to save the RC code and verify it.
Really appreciate your help.
Thanks,
Sandeep
On Fri, Oct 18, 2013 at 9:06 PM, Sharon Lucas <luc...@us.ibm.com> wrote:
> As talked about in section "process: Run a process" in the STAX User's
> Guide at
> http://staf.sourceforge.net/current/STAX/staxug.html#Header_Process,
> after a <process> has completed (or if it could not be started) the
> following variables are set and can be referenced by the job:
>
> - *RC* - the return code from the process. It is numeric. If it's the
> actual return code from the process, it is a Python Long numeric type (e.g.
> 0L, 25L). If an error occurred starting the process, it is a Python Integer
> numeric type.
> - *STAFResult* - the STAF result from starting the process. If the
> process failed to start successfully, it contains any error messages from
> starting the process in a Python string type. If the process started
> successfully, it is set to special Python object None.
> - *STAXResult* - contains any files specified by *returnstdout*, *
> returnstderr*, and/or *returnfile(s)*
>
>
> So, if you have a <process>, it sets these three variables. If you then
> run another process, it will again set these three variables (so the
> previous values are overwritten). If you don't want to check the RC
> immediately after a <process> for some reason, then you can save the
> process's RC (and STAFResult and STAXResult if desired), e.g. saveRC = RC.
> Note that in addition to the <process> element setting RC, other elements
> such as <stafcmd>, <job>, or <timer> also set RC, so if you don't check the
> RC variable immediately following the element, then the value of RC may
> have been changed by these elements.
>
> I made some changes in blue in your examples to show how you could save
> the RC and STAFResult from the first process, run another process, and then
> check the RC of the first process. Or, you could check the RC immediately
> after the <process> (e.g. before running another <process>, <stafcmd>, etc).
>
> <if expr="TestComponent == 'Fitnesse'">
> <sequence>
> <!--pname2 = '"SecurityTemplates?suite"'-->
> <script>
> jarName = 'C:\\Fitnesse\\fitnesse-standalone.jar'
> cmd = 'java'
> param1 = ' -jar '
> pname1 = " -c "
>
> var1 = '?test'
> pname2 = TestDriverName + var1
> myworkdir = 'C:\\Fitnesse'
> pname3 = ' -b "C:\FitnesseResults.html"'
> pname4 = ' -p 8080'
> </script>
>
> <log message="1">'%s %s %s %s %s %s %s' % (cmd, param1, jarName,
> pname4, pname1,pname2,pname3)</log>
> <process>
> <location>machine</location>
> <command mode="'shell'">
> '%s %s %s %s %s %s %s' % (cmd, param1, jarName, pname4, pname1,
> pname2, pname3)
> </command>
> <workdir>myworkdir</workdir>
> </process>
> <script>
> # Save the process's RC and result to check later
> tcRC = RC
> tcResult = STAFResult
> </script>
>
> <script>
> SendResult ='C:\\Automation_STAF\\Dependacies\\ParseResults.exe'
> newworkdir ='C:\\Automation_STAF\\Dependacies'
> </script>
> <process>
> <location>machine</location>
> <command mode="'shell'">'%s %s' %
> (SendResult,TestDriverName)</command>
> <workdir>newworkdir</workdir>
> </process>
> </sequence>
> </if>
>
> <if expr="tcRC == 0">
> <sequence>
> <log message="1">tcRC</log>
> <tcstatus result="'pass'"/>
> <script>val = 'Passed'</script>
> <call function="'RunTestsInQC'">TCID,val</call>
> <call function="'Etrack'">TCID,TestDriverName,"PASS"</call>
> </sequence>
> <else>
> <sequence>
> <log message="1">tcRC</log>
> <!--<tcstatus result="'fail'">'RC=%s ' % (tcRC)</tcstatus>-->
> <call function="'RunTestsInQC'">TCID,"Failed"</call>
> <call function="'Etrack'">TCID,TestDriverName,"FAIL"</call>
> </sequence>
> </else>
> </if>
>
> --------------------------------------------------------------
> Sharon Lucas
> IBM Austin, luc...@us.ibm.com
> (512) 286-7313 or Tieline 363-7313
>
>
>
>
> From: Sandeep Bhosale <sandeep.bhos...@gmail.com>
> To: staf-users@lists.sourceforge.net,
> Date: 10/18/2013 06:22 AM
> Subject: [staf-users] Difficulty in Identifying RC Code
> ------------------------------
>
>
>
> Hi all,
>
> I have my framework defined in STAF/STAX. I am using the STAF/STAX to run
> the fitness test cases in parallel. In the fitness test case I am using the
> SEND message method to send the test case result back to STAF. And
> depending
> on RC I am marking the test case PASS/FAIL in QC and changing he defect
> status in ETRACK.
>
> Here I have written below functions. Here I am able to run the test cases
> on
> remote machine. I have used process element to run test cases on remote
> machine. But the issue is when the test case is PASS/FAIL i am getting the
> RC two times. One is if the test case is launched on remote machine then I
> am getting RC code as 0 and second is from my test case I am sending the
> message PASS/FAIL. Now the issue is when the test case is failed I am
> getting the RC code is 0(coz the test case is launched successfully.) and
> then 1 (From the the test case result where I have used to send the Fail
> message to the STAF).
>
> Here I want the RC code which is returned from my test case(PASS/FAIL). How
> can I suppress the process element RC code and get the actual test case
> code. My functions are written as below (Fitnesse is my function name)
>
> <if expr="TestComponent == 'Fitnesse'">
> <sequence>
> <!--pname2 = '"SecurityTemplates?suite"'-->
> <script>
> jarName = 'C:\\\Fitnesse\\fitnesse-standalone.jar'
> cmd = 'java'
> param1 = ' -jar '
> pname1 = " -c "
>
> var1 = '?test'
> pname2 = TestDriverName + var1
> myworkdir = 'C:\\\Fitnesse'
> pname3 = ' -b "C:\FitnesseResults.html"'
> pname4 = ' -p 8080'
> </script>
>
> <log message="1">'%s %s %s %s %s %s %s' % (cmd, param1, jarName,
> pname4, pname1,pname2,pname3)</log>
> <process>
> <location>machine</location>
> <command mode="'shell'">'%s %s %s %s %s %s %s' % (cmd, param1,
> jarName, pname4, pname1,pname2,pname3)</command>
> <workdir>myworkdir</workdir>
> </process>
> <script>
> SendResult
> ='C:\\Automation_STAF\\Dependacies\\ParseResults.exe'
> newworkdir ='C:\\Automation_STAF\\Dependacies'
> </script>
> <process>
> <location>machine</location>
> <command mode="'shell'">'%s %s' %
> (SendResult,TestDriverName)</command>
> <workdir>newworkdir</workdir>
> </process>
> </sequence>
> </if>
>
> <if expr="RC == 0">
>
> <sequence>
> <log message="1">RC</log>
> <tcstatus result="'pass'"/>
> <script>val = 'Passed'</script>
> <call function="'RunTestsInQC'">TCID,val</call>
> <call function="'Etrack'">TCID,TestDriverName,"PASS"</call>
> </sequence>
> </if>
>
> <if expr="RC != 0">
>
> <sequence>
> <log message="1">RC</log>
> <!--<tcstatus result="'fail'">'RC=%s ' % (RC)</tcstatus>-->
> <call function="'RunTestsInQC'">TCID,"Failed"</call>
> <call function="'Etrack'">TCID,TestDriverName,"FAIL"</call>
> </sequence>
> </if>
>
>
> In the If statement I am checking the RC code returning from the test
> cases.
> But here I am getting the RC value 2 times. One from the process element
> and
> second from the test case. How can I check the value from test case only?
>
> Thanks in advance.
>
>
>
>
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
> from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
> _______________________________________________
> staf-users mailing list
> staf-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/staf-users
>
>
>
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users