This is actually working as expected. The return code of the command you are running is returned in the process's "Return Code" field. Note that the "grep" command returns 0 if it finds one or more '&' in the output file. But, grep returns 1 if it does not find '&' in the output file. The process's "Return Code" contains the value that the grep command returns.
You can view grep's return code after running a grep command (without
STAF) via a terminal using"echo $?". For example:
If the output from a command like "ls /usr/local/staf" contains one or
more "S"s in it, grep's return code is 0.
# ls /usr/local/staf | grep 'S' -c
7
# echo $?
0
Note that grep's stdout data contains 7 (the number of times it found an
'S').
However, if the output from a command like "ls /usr/local/staf" does not
contain one or more "&"s in it, grep's return code is 1.
# ls /usr/local/staf | grep '&' -c
0
# echo $?
1
Note that grep's stdout output contains 0 (the number of times it found
'0').
So, similarly, when this grep command is run via a STAF PROCESS START
request and grep does not find a '&' in the output from "ls
/usr/local/staf", the
C:\>staf staf1e process start shell command "ls /usr/local/staf | grep '&'
-c" wait returnstdout stderrtostdout
Response
--------
{
Return Code: 1 <== The return code from the command
Key : <None>
Files : [
{
Return Code: 0
Data : 0 <== The content of stdout/stderr
}
]
}
--------------------------------------------------------------
Sharon Lucas
IBM Austin, [email protected]
(512) 286-7313 or Tieline 363-7313
From: "Gopalakrishna, Monika" <[email protected]>
To: Sharon Lucas/Austin/IBM@IBMUS,
Cc: "[email protected]"
<[email protected]>
Date: 12/18/2011 12:00 PM
Subject: RE: [staf-users] STAF Response code 1
Hi ,
I have a problem in STAF.
when I run a command on linux machine using staf from windows and expect
‘0’ as the output of a command, I am getting Data:0 but response code is
1.
[The command without staf is running fine on linux machine]
Command is :
Staf linuxmachinename process start shell command "(cd
/crawls/gnipjob/gerbil_old/jobs/brighthand/output/ && exec zcat *.gz |
grep ‘&’ -c)"
[This command is just trying to find ’ &’ in the output file]
If the expected output is more than 0 , then
response code is 0.
If Expected output is 0 [if ‘&’ does not exist in the log file]
I am getting return as:
Response
--------
{
Return Code: 1
Key : <None>
Files : [
{
Return Code: 0
Data : 0
}
]
}
Help appreciated
Regards,
Monika
Sr. Quality Assurance Engineer
Scripting Test Automation is my Art Form......
<<image/gif>>
------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev
_______________________________________________ staf-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/staf-users
