From d5a24fc78d8b50100df9d66416697fdd4f86d710 Mon Sep 17 00:00:00 2001
From: andrug <andrug@localhost>
Date: Wed, 16 Apr 2008 14:42:06 +0000
Subject: [PATCH] new client : verdict for opends instances in one topology

---
 opends/tests/system-tests/scenario/conf.dtd                       |    3 
 opends/tests/system-tests/clients/verdictOpends/verdictOpends.xml |  132 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 134 insertions(+), 1 deletions(-)

diff --git a/opends/tests/system-tests/clients/verdictOpends/verdictOpends.xml b/opends/tests/system-tests/clients/verdictOpends/verdictOpends.xml
new file mode 100755
index 0000000..721600b
--- /dev/null
+++ b/opends/tests/system-tests/clients/verdictOpends/verdictOpends.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License").  You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ !      Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ !      Copyright 2008 Sun Microsystems, Inc.
+ ! -->
+<stax>
+
+  <defaultcall function="verdictOpends"/>
+
+
+
+  <!-- ************************************************************ -->
+  <function name="verdictOpends" scope="local">
+    <function-map-args>
+      <function-arg-def name="workingDir" type="required">
+      </function-arg-def>
+      <function-arg-def name="client" type="required">
+      </function-arg-def>
+      <function-arg-def name="instances" type="required">
+      </function-arg-def>
+      <function-arg-def name="duration" type="required">
+      </function-arg-def>
+      <function-arg-def name="suffix" type="required">
+      </function-arg-def>
+      <function-arg-def name="fileFd" type="required">
+      </function-arg-def>
+    </function-map-args>
+    
+    <sequence>
+    
+      <!-- ===================   Comments   =================== -->
+      <!-- client is run under paralleliterate tag              -->
+      <!-- each variables defined are internal                  -->
+      <!-- client should have its own err_num variable in order -->
+      <!-- to inform scheduler if it has pass/fail status       -->
+      <!-- nb of failed is still managed by ERR_NUM[0]          -->
+      <script>
+        errNum   = STAXGlobal(0)
+        fileList = STAXGlobal([])
+      </script>
+      
+      <!--== Get the list of opends instances in the topology == -->
+      <call function="'getOpendsInstancesInATopology'">
+        { 'suffix' : suffix }
+      </call>
+      <script>
+        opendsInstances = STAXResult
+      </script>
+      <paralleliterate in="opendsInstances" var="instance">
+        <sequence>
+          <!-- parallel process, all variables defined        -->
+          <!-- and values set below are local to the sequence -->
+          <call function="'getLogFileName'">
+            { 'type'   : 'instance',
+              'object' : instance,
+              'prefix' : '%s_id%s' % (client.getName(),client.getId())
+            }
+          </call>
+          <script>
+            logFile = STAXResult
+            
+            fileList.append(logFile)
+            
+            cFileFd = open(logFile,'w')
+          </script>
+          <call function="'writeStartTagInstance'">
+          {
+            'instance'  : instance,
+            'fileFd'    : cFileFd
+          }
+          </call>
+          
+          <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+           file="'%s/phases/shared/functions/opendstools.xml' % TESTS_DIR"/>
+          <call function="'verdict4OpendsInstance'">
+          {
+            'instance'  : instance,
+            'instances' : opendsInstances,
+            'suffix'    : suffix,
+            'fileFd'    : cFileFd
+          }
+          </call>
+          <script>
+            errNum += STAXResult
+          </script>
+          
+          <call function="'writeEndTagInstance'">
+            {'fileFd' : cFileFd}
+          </call>
+          <script>
+            cFileFd.close()
+          </script>
+        </sequence>
+      </paralleliterate>
+      
+      <!--==========  Merge files    ==========-->
+      <call function="'mergeFiles'">
+        {
+          'fileList' : fileList,
+          'fileFd'   : fileFd
+        }
+      </call>
+      
+      <return> errNum </return>
+    </sequence>
+  </function>
+  
+  
+  
+</stax>
diff --git a/opends/tests/system-tests/scenario/conf.dtd b/opends/tests/system-tests/scenario/conf.dtd
index 19db411..d006859 100755
--- a/opends/tests/system-tests/scenario/conf.dtd
+++ b/opends/tests/system-tests/scenario/conf.dtd
@@ -117,7 +117,8 @@
     <!ELEMENT client ANY>
     <!ATTLIST client
       id NMTOKEN #IMPLIED
-      name ( searchLoad | modifyLoad | restartDs | sampleSearchLoad) "searchLoad"
+      name ( searchLoad | modifyLoad | restartDs | sampleSearchLoad |
+             verdictOpends) "searchLoad"
       host NMTOKEN #IMPLIED
       start NMTOKEN #IMPLIED
       stop NMTOKEN #IMPLIED

--
Gitblit v1.10.0