From 86f661d72e5502a8e18a9fe66cb91e42a54ef0dc Mon Sep 17 00:00:00 2001
From: gary_williams <gary_williams@localhost>
Date: Thu, 12 Apr 2007 08:23:52 +0000
Subject: [PATCH] Issue 1493 Overide default STAX signals

---
 opends/tests/functional-tests/testcases/runFuncTests.xml   |   10 ++++-
 opends/tests/functional-tests/shared/functions/signals.xml |   76 ++++++++++++++++++++++++++++++++++++++
 opends/tests/functional-tests/shared/functions/utils.xml   |   17 ++++++++
 3 files changed, 101 insertions(+), 2 deletions(-)

diff --git a/opends/tests/functional-tests/shared/functions/signals.xml b/opends/tests/functional-tests/shared/functions/signals.xml
new file mode 100644
index 0000000..19c930b
--- /dev/null
+++ b/opends/tests/functional-tests/shared/functions/signals.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "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
+ !
+ !      Portions Copyright 2007 Sun Microsystems, Inc.
+ ! -->
+<stax>
+
+  <defaultcall function="signals" />
+
+  <function name="signals">
+    <function-prolog>
+      This function contains all signal related functions
+    </function-prolog>
+    <function-no-args/>
+    <sequence>
+    
+      <!-- Signal variables  -->
+      <script>
+        SignalRaised=''
+      </script>
+      
+      <!-- Redefine the default signal handlers-->  
+      <call function="'OverideDefaultSignals'"/>
+    
+    </sequence>
+  
+  </function>
+
+  <function name="OverideDefaultSignals">
+    <function-prolog>
+      This function overides the default STAX signal handlers
+    </function-prolog>
+    <function-no-args/>
+
+    <!-- STAXPythonEvaluationError signal -->
+    <signalhandler signal="'STAXPythonEvaluationError'">
+      <sequence>
+      
+        <log level="'error'"  message="1">
+          ('STAXPythonEvaluationError signal raised. ' + 'Continuing job. %s' % (STAXPythonEvalMsg))
+        </log>
+    
+        <script>
+          SignalRaised='STAXPythonEvaluationError'
+        </script>
+        
+        <message>'SignalRaised = %s' % SignalRaised</message>
+          
+      </sequence>
+    </signalhandler>
+
+  </function>
+  
+</stax>
diff --git a/opends/tests/functional-tests/shared/functions/utils.xml b/opends/tests/functional-tests/shared/functions/utils.xml
index 3c3046d..892456e 100755
--- a/opends/tests/functional-tests/shared/functions/utils.xml
+++ b/opends/tests/functional-tests/shared/functions/utils.xml
@@ -446,6 +446,23 @@
     </function-prolog>
     <function-no-args />
     <sequence>
+
+      <!-- Check the SignalRaised flag -->    
+      <if expr="SignalRaised">
+        <sequence>
+          <message>
+            'A signal (%s) was raised during this test case' % SignalRaised
+          </message>
+          <tcstatus result="'fail'"/>
+        </sequence>
+      </if>
+
+      <!-- Reset the SignalRaised flag -->
+      <script>
+        SignalRaised='' 
+      </script>
+
+      <!-- Query the test case results -->            
       <call function="'queryTestcase'" />
       
       <script>
diff --git a/opends/tests/functional-tests/testcases/runFuncTests.xml b/opends/tests/functional-tests/testcases/runFuncTests.xml
index ef71ae7..03a9b5a 100755
--- a/opends/tests/functional-tests/testcases/runFuncTests.xml
+++ b/opends/tests/functional-tests/testcases/runFuncTests.xml
@@ -54,6 +54,9 @@
 		
 	  <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
         file="'%s/topology.xml' % (TESTS_FUNCTIONS_DIR)" />
+        
+      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+        file="'%s/signals.xml' % (TESTS_FUNCTIONS_DIR)" />
 
       <!-- Load in any standard python libraries -->
       <script>
@@ -94,11 +97,14 @@
         from common import *
       </script>     
 
+      <!-- Set the signal handlers -->          
+      <call function="'signals'"/>
+      
       <!-- Initialize any global variables -->
       <script>
         CurrentTestPath={}
       </script>
-        
+
       <!--- The Functional Tests -->		
       <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
         file="'%s/testcases/setup/setup.xml' % (TESTS_DIR)" />
@@ -111,7 +117,7 @@
       <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
         file="'%s/testcases/security/security.xml' % (TESTS_DIR)" />
       <call function="'main_security'" />
-      
+
       <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
         file="'%s/testcases/aci/aci.xml' % (TESTS_DIR)" />
       <call function="'main_aci'" />

--
Gitblit v1.10.0