From 248ed47eb46b93bfbd3d0ddfd583d3374cac02db Mon Sep 17 00:00:00 2001
From: andrug <andrug@localhost>
Date: Wed, 16 Apr 2008 14:57:41 +0000
Subject: [PATCH] allow grep() to return the return code value

---
 opends/tests/system-tests/phases/shared/functions/utils.xml |   68 +++++++++++++++++++---------------
 1 files changed, 38 insertions(+), 30 deletions(-)

diff --git a/opends/tests/system-tests/phases/shared/functions/utils.xml b/opends/tests/system-tests/phases/shared/functions/utils.xml
index f7fdddb..89d343d 100755
--- a/opends/tests/system-tests/phases/shared/functions/utils.xml
+++ b/opends/tests/system-tests/phases/shared/functions/utils.xml
@@ -489,6 +489,7 @@
       </if>
       <!-- ========== -->
       <script>
+        _errNum = 0
         result = 'NOTHING'
         
         if (caseSensitive == TRUE):
@@ -513,44 +514,51 @@
       </script>
       
       <if expr="expect2Find == TRUE">
-        <if expr="(result != 'NOTHING') and (grepRC == 0)">
-          <call function="'checkRC'">
-            { 'returncode' : 0,
-              'result'     : '',
-              'fileFd'     : fileFd }
-          </call>
-        <else>
-          <call function="'checkRC'">
-            { 'returncode' : grepRC,
-              'result'     : result,
-              'fileFd'     : fileFd }
-          </call>
-        </else>
-        </if>
+        <sequence>
+          <if expr="(result != 'NOTHING') and (grepRC == 0)">
+            <call function="'checkRC'">
+              { 'returncode' : 0,
+                'result'     : '',
+                'fileFd'     : fileFd }
+            </call>
+          <else>
+            <call function="'checkRC'">
+              { 'returncode' : grepRC,
+                'result'     : result,
+                'fileFd'     : fileFd }
+            </call>
+          </else>
+          </if>
+          <script> _errNum += STAXResult </script>
+        </sequence>
       
       <!-- == expect2Find == FALSE == -->
       <else>
-        <if expr="(result == '') and (grepRC != 0)">
-          <call function="'checkRC'">
-            { 'returncode' : 0,
-              'result'     : '',
-              'fileFd'     : fileFd }
-          </call>
-        <else>
-          <call function="'checkRC'">
-            { 'returncode' : grepRC,
-              'expected'   : [1],
-              'result'     : result,
-              'fileFd'     : fileFd }
-          </call>
-        </else>
-        </if>
-        
+        <sequence>
+          <if expr="(result == '') and (grepRC != 0)">
+            <call function="'checkRC'">
+              { 'returncode' : 0,
+                'result'     : '',
+                'fileFd'     : fileFd }
+            </call>
+          <else>
+            <call function="'checkRC'">
+              { 'returncode' : grepRC,
+                'expected'   : [1],
+                'result'     : result,
+                'fileFd'     : fileFd }
+            </call>
+          </else>
+          </if>
+        <script> _errNum += STAXResult </script>
+        </sequence>
       </else>
       </if>
       
       <!-- ========== -->
       <call function="'writeEndTagOperation'">{'fileFd'  : fileFd}</call>
+      
+      <return> _errNum </return>
     </sequence>
   </function>
 

--
Gitblit v1.10.0