From 7816c5f049a3810325e92b45764a4483fcaabaac Mon Sep 17 00:00:00 2001
From: gary_williams <gary_williams@localhost>
Date: Tue, 25 Nov 2008 17:19:55 +0000
Subject: [PATCH] Issue 3632: known issue feature in test reports unreliable

---
 opends/tests/staf-tests/functional-tests/testcases/monitoring/monitoring_provider.xml                |   20 
 opends/tests/staf-tests/functional-tests/testcases/schema/schema_rfc_tests.xml                       |   11 
 opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml |   80 +--
 opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml    |   27 -
 opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkbehavior.xml              |   14 
 opends/tests/staf-tests/functional-tests/testcases/replication/conflict/conflict.xml                 |   50 -
 opends/tests/staf-tests/shared/functions/dsconfig.xml                                                |   47 ++
 opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapmodify_checkoptions.xml               |   42 -
 opends/tests/staf-tests/functional-tests/testcases/sample/sample.xml                                 |    6 
 opends/tests/staf-tests/shared/functions/environment.xml                                             |    5 
 opends/tests/staf-tests/functional-tests/testcases/backends/import.xml                               |   18 
 opends/tests/staf-tests/functional-tests/shared/xsl/gen-tests-report.xsl                             |   21 
 opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldifsearch_checkbehavior.xml              |    4 
 opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml           |   10 
 opends/tests/staf-tests/functional-tests/testcases/replication/ldifimport/ldifimport.xml             |    6 
 opends/tests/staf-tests/shared/functions/dsadm.xml                                                   |  153 ++++++
 opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl                            |    8 
 opends/tests/staf-tests/functional-tests/testcases/replication/basic/basic.xml                       |    4 
 opends/tests/staf-tests/shared/functions/tools.xml                                                   |   38 +
 opends/tests/staf-tests/functional-tests/testcases/replication/schema/schema.xml                     |   14 
 opends/tests/staf-tests/shared/functions/utils.xml                                                   |  112 +++++
 opends/tests/staf-tests/shared/functions/ldap.xml                                                    |  144 ++++++
 opends/tests/staf-tests/functional-tests/testcases/replication/encryption/encryption.xml             |   18 
 opends/tests/staf-tests/shared/functions/snmp.xml                                                    |   26 +
 opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkoptions.xml               |   70 +--
 opends/tests/staf-tests/functional-tests/testcases/backends/import-tasks.xml                         |   15 
 opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapcompare_checkbehavior.xml             |   14 
 opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl                            |    9 
 opends/tests/staf-tests/functional-tests/testcases/backends/export.xml                               |   12 
 opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldif-diff_checkbehavior.xml               |   25 
 opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_customconf.xml                     |   27 -
 opends/tests/staf-tests/functional-tests/testcases/replication/totalupdate/totalupdate.xml           |    8 
 opends/tests/staf-tests/functional-tests/testcases/schema/schema_dynamic.xml                         |    4 
 opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_grace_login.xml      |   21 
 opends/tests/staf-tests/shared/tests/runTestJob.xml                                                  |   40 +
 opends/tests/staf-tests/functional-tests/testcases/clu/clu_verify-index_checkbehavior.xml            |    5 
 opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml                                 |   26 
 opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_defaultconf.xml                    |   18 
 38 files changed, 695 insertions(+), 477 deletions(-)

diff --git a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl
index 8fe194b..0f944d5 100644
--- a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl
+++ b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl
@@ -29,12 +29,7 @@
 
 <xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes"/>
 
-<xsl:param name="tests-log">''</xsl:param>
-
 <xsl:template match="/">
-
-  <!-- Tests log XML document -->
-  <xsl:variable name="tests-log-doc"  select="document($tests-log)"/>
   
   <!-- Test Groups Report Header Variables -->
   <xsl:variable name="ft"             select="qa/functional-tests"/>
@@ -55,7 +50,7 @@
   <xsl:variable name="testcase"       select="$testsuite/testcase"/>
   <xsl:variable name="total-tests"    select="count($testcase)"/>
   <xsl:variable name="pass-tests"     select="count($testcase[@result='pass'])"/>
-  <xsl:variable name="kfail-tests"    select="count($tests-log-doc/qa/functional-tests/results/test[result='known'])"/>
+  <xsl:variable name="kfail-tests"    select="count($testcase/issues)"/>
   <xsl:variable name="fail-tests"     select="count($testcase[@result='fail'])"/>
   <xsl:variable name="inconc-tests"   select="count($testcase[@result='unknown'])"/>
   
@@ -388,7 +383,7 @@
           <xsl:variable name="test-pass" select="count($all-tests[@result = 'pass'])"/>
           <xsl:variable name="test-fail" select="count($all-tests[@result = 'fail'])"/>
           <xsl:variable name="test-inc" select="count($all-tests[@result = 'unknown'])"/>
-          <xsl:variable name="test-kfail" select="count($tests-log-doc/qa/functional-tests/results/test[group=$group and result='known'])"/>
+          <xsl:variable name="test-kfail" select="count($all-tests[@group=$group]/issues)"/>
           <xsl:variable name="test-percent" select="round((($test-pass div $test-num) * 100) - 0.5)"/>
 
           <xsl:variable name="end-time">
diff --git a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl
index f014251..d0f393b 100644
--- a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl
+++ b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl
@@ -30,14 +30,10 @@
 <xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes"/>
 
 <xsl:param name="group">''</xsl:param>
-<xsl:param name="tests-log">''</xsl:param>
 
 <xsl:variable name="groupdir" select="translate($group, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
 
 <xsl:template match="/">
-
-  <!-- Tests log XML document -->
-  <xsl:variable name="tests-log-doc"             select="document($tests-log)"/>
     
   <!--- Test Suites Report Header Variables -->
   <xsl:variable name="ft"             select="qa/functional-tests"/>
@@ -59,7 +55,7 @@
   <xsl:variable name="pass-tests"     select="count($testcase[@result='pass'])"/>
   <xsl:variable name="fail-tests"     select="count($testcase[@result='fail'])"/>
   <xsl:variable name="inconc-tests"   select="count($testcase[@result='unknown'])"/>
-  <xsl:variable name="kfail-tests"    select="count($tests-log-doc/qa/functional-tests/results/test[result='known'])"/>
+  <xsl:variable name="kfail-tests"    select="count($testcase/issues)"/>
   
   <xsl:element name="html">
   
@@ -390,7 +386,7 @@
           <xsl:variable name="test-pass" select="count($all-tests[@result = 'pass'])"/>
           <xsl:variable name="test-fail" select="count($all-tests[@result = 'fail'])"/>
           <xsl:variable name="test-inc"  select="count($all-tests[@result = 'unknown'])"/>
-          <xsl:variable name="test-kfail" select="count($tests-log-doc/qa/functional-tests/results/test[suite=$suite and result='known'])"/>
+          <xsl:variable name="test-kfail" select="count($all-tests[@suite=$suite]/issues)"/>
           <xsl:variable name="test-percent" select="round((($test-pass div $test-num) * 100) - 0.5)"/>
           <xsl:variable name="suitename" select="translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
 
diff --git a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-tests-report.xsl b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-tests-report.xsl
index aed8aa1..ff73760 100644
--- a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-tests-report.xsl
+++ b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-tests-report.xsl
@@ -31,14 +31,10 @@
 
 <xsl:param name="group">''</xsl:param>
 <xsl:param name="suite">''</xsl:param>
-<xsl:param name="tests-log">''</xsl:param>
 
 <xsl:variable name="groupdir" select="translate($group, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
 
 <xsl:template match="/">
-
-  <!-- Tests log XML document -->
-  <xsl:variable name="tests-log-doc"             select="document($tests-log)"/>
     
   <!--- Test Report Header Variables -->
   <xsl:variable name="ft"             select="qa/functional-tests"/>
@@ -61,7 +57,7 @@
   <xsl:variable name="pass-tests"     select="count($testcase[@result='pass' and @suite=$suite])"/>
   <xsl:variable name="fail-tests"     select="count($testcase[@result='fail' and @suite=$suite])"/>
   <xsl:variable name="inconc-tests"   select="count($testcase[@result='unknown' and @suite=$suite])"/>
-  <xsl:variable name="kfail-tests"    select="count($tests-log-doc/qa/functional-tests/results/test[result='known' and suite=$suite])"/>
+  <xsl:variable name="kfail-tests"    select="count($testcase[@suite=$suite]/issues)"/>
   
   <xsl:element name="html">
   
@@ -396,7 +392,7 @@
           <xsl:value-of select="'Result'"/>
         </xsl:element>
         <xsl:element name="th">
-          <xsl:value-of select="'Issue'"/>
+          <xsl:value-of select="'Issues'"/>
         </xsl:element>
       </xsl:element>
 
@@ -411,7 +407,7 @@
               <xsl:when test="@result = 'pass'">
                 <xsl:value-of select="'lightgreen'" />
               </xsl:when>
-              <xsl:when test="$tests-log-doc/qa/functional-tests/results/test[result='known' and translate(normalize-space(name),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')=translate(normalize-space($tcname), 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')]">
+              <xsl:when test="issues">
                 <xsl:value-of select="'yellow'" />
               </xsl:when>
               <xsl:otherwise>
@@ -466,12 +462,19 @@
           </xsl:element>
 
           <!-- Issue -->
-          <xsl:variable name="issue" select="$tests-log-doc/qa/functional-tests/results/test/issues/issue"/>
           <xsl:element name="td">
             <xsl:attribute name="align">
               <xsl:value-of select="'center'"/>
             </xsl:attribute>
-            <xsl:value-of select="''"/>
+            <xsl:for-each select="issues/issue">
+              <xsl:value-of select="' '"/>
+              <xsl:element name="a">
+                <xsl:attribute name="href">
+                  <xsl:value-of select="concat('https://opends.dev.java.net/issues/show_bug.cgi?id=',@id)"/>
+                </xsl:attribute>
+                <xsl:value-of select="@id"/>
+              </xsl:element>
+            </xsl:for-each>
           </xsl:element>
               
         </xsl:element>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/backends/export.xml b/opends/tests/staf-tests/functional-tests/testcases/backends/export.xml
index 5476b12..73d575b 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/backends/export.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/backends/export.xml
@@ -197,17 +197,11 @@
               <call function="'importLdif'">
                 { 'ldifFile'    : '%s/backends/Export_schema.ldif' % remote.data,
                   'backEnd'     : 'schema',
-                  'dsPath'      : '%s/server2/%s' % (DIRECTORY_INSTANCE_DIR, OPENDSNAME)
+                  'dsPath'      : '%s/server2/%s' % (DIRECTORY_INSTANCE_DIR, OPENDSNAME),
+                  'knownIssue'  : '2173'
                 }
               </call>
-              <script>
-                knownIssue(2173)
-              </script>
-              <call function="'checktestRC'">
-                { 'returncode' : RC ,
-                  'result'     : STAXResult
-                }
-              </call>
+
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/backends/import-tasks.xml b/opends/tests/staf-tests/functional-tests/testcases/backends/import-tasks.xml
index 49a4920..61c83a2 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/backends/import-tasks.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/backends/import-tasks.xml
@@ -911,17 +911,12 @@
                   'startDS'         : 'no'
                 }
               </call>
-              <!-- This test should fail. -->
-              <tcstatus result="'fail'"/>
-              <message log="1" level="'Error'">
-               'Error: Known bug. Issue 839: Encrypted LDIF export is not implemented'
-              </message>
-               <script>
-                knownIssue(839)
-              </script>
+
               <call function="'checktestRC'">
-                { 'returncode' : RC ,
-                  'result'     : STAXResult
+                { 'returncode' : 1 ,
+                  'expected'   : 0 ,
+                  'result'     : 'Encrypted LDIF export is not implemented',
+                  'issue'      : '839'
                 }
               </call>
               <call function="'testCase_Postamble'"/>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/backends/import.xml b/opends/tests/staf-tests/functional-tests/testcases/backends/import.xml
index 509d5bd..4766ddc 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/backends/import.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/backends/import.xml
@@ -1086,15 +1086,15 @@
                 }
               </call>
               
-              <!-- This test should fail. -->
-              <tcstatus result="'fail'"/>
-              <message log="1" level="'Error'">
-                'Error: Known bug. Issue 839: Encrypted LDIF export is not implemented'
-              </message>
-              <script>
-                knownIssue(839)
-              </script>
-    
+              <!-- Known issue -->
+              <call function="'checktestRC'">
+                { 'returncode' : 1 ,
+                  'expected'   : 0 ,
+                  'result'     : 'Encrypted LDIF export is not implemented',
+                  'issue'      : '839'
+                }
+              </call>
+
               <call function="'testCase_Postamble'"/>
     
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapcompare_checkbehavior.xml b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapcompare_checkbehavior.xml
index 30b26ce..29a20a1 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapcompare_checkbehavior.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapcompare_checkbehavior.xml
@@ -87,14 +87,11 @@
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsDn'             : ['postalCode:63792' ,
                                       '%s' % dsdn] ,
-                'expectedRC'       : 6
+                'expectedRC'       : 6,
+                'knownIssue'       : '2761'
                 }
               </call>
 
-              <script>
-                knownIssue(2761)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
@@ -131,14 +128,11 @@
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsDn'             : ['postalCode:00000' ,
                                       '%s' % dsdn] ,
-                'expectedRC'       : 5
+                'expectedRC'       : 5,
+                'knownIssue'       : '2761'
                 }
               </call>
 
-              <script>
-                knownIssue(2761)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapmodify_checkoptions.xml b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapmodify_checkoptions.xml
index 08d24a6..3f14d04 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapmodify_checkoptions.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapmodify_checkoptions.xml
@@ -123,14 +123,11 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsFilename'       : dsfilename ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89,
+                'knownIssue'       : '2619'
                 }
               </call>
               
-              <script>
-                knownIssue(2619)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
@@ -203,14 +200,11 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsFilename'       : dsfilename ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2619'
                 }
               </call>
               
-              <script>
-                knownIssue(2619)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
@@ -244,14 +238,11 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsFilename'       : dsfilename ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2762'
                 }
               </call>
               
-              <script>
-                knownIssue(2762)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
@@ -363,13 +354,10 @@
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsFilename'       : dsfilename ,
-                'expectedRC'       : 48
+                'expectedRC'       : 48 ,
+                'knownIssue'       : '2624'
                 }
               </call>
-              
-              <script>
-                knownIssue(2624)
-              </script>
 
               <call function="'testCase_Postamble'"/>
               
@@ -443,14 +431,11 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsFilename'       : ' ' ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2619'
                 }
               </call>
               
-              <script>
-                knownIssue(2619)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
@@ -484,14 +469,11 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsFilename'       : 'bad' ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2763'
                 }
               </call>
               
-              <script>
-                knownIssue(2763)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkbehavior.xml b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkbehavior.xml
index 79f20c4..3442726 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkbehavior.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkbehavior.xml
@@ -92,7 +92,8 @@
                 'dsTypesOnly'      : 'True' ,
                 'dsCountEntries'   : 'True' ,
                 'dsBaseDN'         : basedn ,
-                'dsFilter'         : 'uid=user.1*'
+                'dsFilter'         : 'uid=user.1*' ,
+                'knownIssue'       : '2764'
                 }                
               </call>
               
@@ -107,10 +108,6 @@
                 }
               </call>
 
-              <script>
-                knownIssue(2764)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
@@ -373,7 +370,8 @@
               <call function="'checktestString'">
                 { 
                 'returnString'     : returnString ,
-                'expectedString'   : 'Total number of matching entries: 11' 
+                'expectedString'   : 'Total number of matching entries: 11',
+                'issue'            : '2934'
                 }
               </call>
               
@@ -392,10 +390,6 @@
                 }
               </call>
               
-              <script>
-                knownIssue(2934)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkoptions.xml b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkoptions.xml
index 7d3b48f..12fdac7 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkoptions.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldapsearch_checkoptions.xml
@@ -124,14 +124,11 @@
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsBaseDN'         : basedn ,
                 'dsFilter'         : dsfilter ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2619'
                 }
               </call>
 
-              <script>
-                knownIssue(2619)
-              </script>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -202,14 +199,11 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsFilter'         : dsfilter ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2619'
                 }
               </call>
 
-              <script>
-                knownIssue(2619)
-              </script>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -245,14 +239,11 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsFilter'         : dsfilter ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2619'
                 }
               </call>
 
-              <script>
-                knownIssue(2619)
-              </script>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -329,14 +320,11 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsBaseDN'         : basedn ,
                 'dsFilter'         : dsfilter ,
-                'expectedRC'       : 48
+                'expectedRC'       : 48 ,
+                'knownIssue'       : '2624'
                 }
               </call>
 
-              <script>
-                knownIssue(2624)
-              </script>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -413,14 +401,11 @@
                 'dsScope'          : ' ' ,
                 'dsBaseDN'         : basedn ,
                 'dsFilter'         : dsfilter ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2619'
                 }
               </call>
 
-              <script>
-                knownIssue(2619)
-              </script>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -456,14 +441,11 @@
                 'dsScope'          : 'bad_scope' ,
                 'dsBaseDN'         : basedn ,
                 'dsFilter'         : dsfilter ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2619'
                 }
               </call>
 
-              <script>
-                knownIssue(2619)
-              </script>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -573,14 +555,11 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsBaseDN'         : basedn ,
-                'expectedRC'       : 89
+                'expectedRC'       : 89 ,
+                'knownIssue'       : '2619'
                 }
               </call>
 
-              <script>
-                knownIssue(2619)
-              </script>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -1010,14 +989,11 @@
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'dsSortOrder'      : 'bad_sort' ,
                 'dsBaseDN'         : basedn ,
-                'dsFilter'         : dsfilter
+                'dsFilter'         : dsfilter ,
+                'knownIssue'       : '2623'
                 }
               </call>
 
-              <script>
-                knownIssue(2623)
-              </script>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -1095,14 +1071,11 @@
                 'dsDereferencePolicy' : 'bad_ref' ,
                 'dsBaseDN'            : basedn ,
                 'dsFilter'            : dsfilter ,
-                'expectedRC'          : 89
+                'expectedRC'          : 89 ,
+                'knownIssue'          : '2619'
                 }
               </call>
 
-              <script>
-                knownIssue(2619)
-              </script>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -1179,14 +1152,11 @@
                 'dsSimplePageSize'    : '0' ,             
                 'dsBaseDN'            : basedn ,
                 'dsFilter'            : 'objectclass=*' ,
-                'expectedRC'          : 89
+                'expectedRC'          : 89 ,
+                'knownIssue'          : '2619'
                 }
               </call>
               
-              <script>
-                knownIssue(2619)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
 
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldif-diff_checkbehavior.xml b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldif-diff_checkbehavior.xml
index e55ff1e..0bc1d34 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldif-diff_checkbehavior.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldif-diff_checkbehavior.xml
@@ -91,10 +91,6 @@
                 }
               </call>
               
-              <script>
-                knownIssue(3111)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
@@ -130,14 +126,11 @@
                 'targetLdif' : targetldif ,
                 'outputLdif' : '%s/ldif-diff_withdiffs.out' \
                                % DIRECTORY_INSTANCE_DIR ,
-                'expectedRC' : 1
+                'expectedRC' : 1 ,
+                'knownIssue' : '2641'
                 }
               </call>
               
-              <script>
-                knownIssue(2641)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
@@ -179,14 +172,11 @@
               <call function="'compareFile'">
                 { 
                 'outputFile' : 'ldif-diff.out' ,
-                'refFile'    : 'ldif-diff.ref'
+                'refFile'    : 'ldif-diff.ref',
+                'knownIssue' : '3111'
                 }
               </call>
 
-              <script>
-                knownIssue(3111)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
@@ -230,14 +220,11 @@
               <call function="'compareFile'">
                 { 
                 'outputFile' : 'ldif-diff_singlevalue.out' ,
-                'refFile'    : 'ldif-diff_singlevalue.ref'
+                'refFile'    : 'ldif-diff_singlevalue.ref' ,
+                'knownIssue' : '3111'
                 }
               </call>
 
-              <script>
-                knownIssue(3111)
-              </script>
-              
               <call function="'testCase_Postamble'"/>
               
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldifsearch_checkbehavior.xml b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldifsearch_checkbehavior.xml
index 4cf1615..f430b0f 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldifsearch_checkbehavior.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_ldifsearch_checkbehavior.xml
@@ -234,10 +234,6 @@
                 }                
               </call>              
               
-              <script>
-                returnString = STAXResult[0][1]
-              </script>
-              
               <call function="'CheckMatches'">
                 { 
                 'string2find' : 'dn: ' ,
diff --git a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml
index 734df96..e28d782 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml
@@ -383,7 +383,8 @@
               <call function="'checktestString'">
                 { 
                 'returnString'   : returnString ,
-                'expectedString' : '%s %s %s' % (msg1, msg2, msg3)
+                'expectedString' : '%s %s %s' % (msg1, msg2, msg3) ,
+                'issue'          : '3102'
                 }
               </call>
               
@@ -432,7 +433,8 @@
               <call function="'checktestString'">
                 { 
                 'returnString'   : returnString ,
-                'expectedString' : '%s %s %s' % (msg1, msg2, msg3)
+                'expectedString' : '%s %s %s' % (msg1, msg2, msg3) ,
+                'issue'          : '3102'
                 }
               </call>
               
@@ -538,7 +540,7 @@
               <call function="'checktestString'">
                 { 
                 'returnString'   : returnString ,
-                'expectedString' : msg
+                'expectedString' : msg 
                 }
               </call>
 
@@ -557,7 +559,7 @@
                 'noOfMilliSeconds' : 2000
                 }
               </call>             
-                            
+
               <call function="'testCase_Postamble'"/>
               
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_verify-index_checkbehavior.xml b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_verify-index_checkbehavior.xml
index 4e1dea9..d7e7274 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/clu/clu_verify-index_checkbehavior.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/clu/clu_verify-index_checkbehavior.xml
@@ -270,10 +270,11 @@
               <call function="'checktestString'">
                 { 
                 'returnString'   : returnString ,
-                'expectedString' : msg
+                'expectedString' : msg ,
+                'issue'          : '3102'
                 }
               </call>          
-              
+
               <call function="'testCase_Postamble'"/>
               
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/monitoring/monitoring_provider.xml b/opends/tests/staf-tests/functional-tests/testcases/monitoring/monitoring_provider.xml
index 5167871..f43b888 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/monitoring/monitoring_provider.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/monitoring/monitoring_provider.xml
@@ -301,13 +301,14 @@
             <!-- Check the entry on cn=System Info,cn=monitor is available -->  
             <message>'######  Monitor the System Info  ###### '</message>     
             <call function="'SearchObject'">
-              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
-              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
-              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
-              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,	
-              'dsBaseDN'           : 'cn=System Info,cn=monitor',
-              'dsFilter'           : 'objectclass=*',
-              'expectedRC'	   :  0 }
+              { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST ,
+              'dsInstancePort'    : DIRECTORY_INSTANCE_PORT ,
+              'dsInstanceDn'      : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd'    : DIRECTORY_INSTANCE_PSWD ,	
+              'dsBaseDN'          : 'cn=System Info,cn=monitor',
+              'dsFilter'          : 'objectclass=*',
+              'expectedRC'        :  0 ,
+              'knownIssue'        : '2619' }
             </call>  	    
             
             <message>'-- Disable the System Info monitor provider --'</message>   
@@ -332,12 +333,9 @@
               'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,	
               'dsBaseDN'            : 'cn=System Info,cn=monitor',
               'dsFilter'            : 'objectclass=*',
-              'expectedRC'	    :  32 }
+              'expectedRC'          :  32 }
             </call> 
             
-            <script>
-		knownIssue(2873)
-            </script>            
             <call function="'testCase_Postamble'"/>
           </sequence>
         </testcase>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/replication/basic/basic.xml b/opends/tests/staf-tests/functional-tests/testcases/replication/basic/basic.xml
index c05598d..5237c4e 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/replication/basic/basic.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/replication/basic/basic.xml
@@ -1339,10 +1339,6 @@
                 [ clientHost, clientPath, master, consumerList, synchroSuffix ]
               </call> 
 
-              <script>
-                knownIssue(3006)
-              </script>
-
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>     
diff --git a/opends/tests/staf-tests/functional-tests/testcases/replication/conflict/conflict.xml b/opends/tests/staf-tests/functional-tests/testcases/replication/conflict/conflict.xml
index a79a38a..f71fdb0 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/replication/conflict/conflict.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/replication/conflict/conflict.xml
@@ -744,10 +744,6 @@
                 }
               </call>
 
-              <script>
-                knownIssue(3392)
-              </script>
-                
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>     
@@ -1101,10 +1097,6 @@
                 }
               </call>
 
-              <script>
-                knownIssue(3394)
-              </script>
-
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>     
@@ -1444,10 +1436,6 @@
                 }
               </call>
 
-              <script>
-                knownIssue(3397)
-              </script>
-
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>     
@@ -1616,12 +1604,6 @@
                 }
               </call>
 
-              <!-- Issue visible in the error log, so not detectable so far.
-              <script>
-                knownIssue(3399)
-              </script>
-              -->
-
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>     
@@ -2508,10 +2490,6 @@
                 }
               </call>
 
-              <script>
-                knownIssue(3397)
-              </script>
-
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>     
@@ -2763,7 +2741,7 @@
                         'dsInstancePort' : server.getPort(),
                         'dsInstanceDn'   : server.getRootDn(),
                         'dsInstancePswd' : server.getRootPwd(),
-                        'dsDn'           : [entryToDelete]
+                        'dsDn'           : [entryToDelete] 
                       }
                     </call>
                   </paralleliterate>
@@ -2772,9 +2750,9 @@
 
               <!-- Issue visible in the conflict counters, so not automatically
                !   detectable so far.
-              <script>
-                knownIssue(3400)
-              </script>
+              <call function="'setKnownIssue'">
+                { 'issueId' : '3400' }
+              </call>
               -->
 
               <call function="'testCase_Postamble'"/>
@@ -3037,9 +3015,9 @@
 
               <!-- Issue visible in the conflict counters, so not automatically
                !   detectable so far.
-              <script>
-                knownIssue(3400)
-              </script>
+              <call function="'setKnownIssue'">
+                { 'issueId' : '3400' }
+              </call>
               -->
 
               <call function="'testCase_Postamble'"/>
@@ -3278,17 +3256,14 @@
                         'dsInstancePort' : server.getPort(),
                         'dsInstanceDn'   : server.getRootDn(),
                         'dsInstancePswd' : server.getRootPwd(),
-                        'dsDn'           : [entryToDelete]
+                        'dsDn'           : [entryToDelete],
+                        'knownIssue'     : '3401'
                       }
                     </call>
                   </paralleliterate>
                 </if>
               </paralleliterate>
 
-              <script>
-                knownIssue(3401)
-              </script>
-
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>
@@ -3539,17 +3514,14 @@
                         'dsInstancePort' : server.getPort(),
                         'dsInstanceDn'   : server.getRootDn(),
                         'dsInstancePswd' : server.getRootPwd(),
-                        'dsDn'           : [entryToDelete]
+                        'dsDn'           : [entryToDelete],
+                        'knownIssue'     : '3401'
                       }
                     </call>
                   </paralleliterate>
                 </if>
               </paralleliterate>
 
-              <script>
-                knownIssue(3401)
-              </script>
-
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/replication/encryption/encryption.xml b/opends/tests/staf-tests/functional-tests/testcases/replication/encryption/encryption.xml
index 545e4df..532a6b3 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/replication/encryption/encryption.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/replication/encryption/encryption.xml
@@ -136,9 +136,9 @@
 
               <!-- #3315: dsreplication initialize-all returns before peer has
                    completed initialisation -->
-              <script>
-                knownIssue(3315)
-              </script>
+              <call function="'setKnownIssue'">
+                { 'issueId' : '3315' }
+              </call>
 
               <call function="'testCase_Postamble'"/>
             </sequence>
@@ -196,9 +196,9 @@
 
               <!-- #3315: dsreplication initialize-all returns before peer has
                    completed initialisation -->
-              <script>
-                knownIssue(3315)
-              </script>
+              <call function="'setKnownIssue'">
+                { 'issueId' : '3315' }
+              </call>
 
               <call function="'testCase_Postamble'"/>
             </sequence>
@@ -253,9 +253,9 @@
 
               <!-- #3315: dsreplication initialize-all returns before peer has
                    completed initialisation -->
-              <script>
-                knownIssue(3315)
-              </script>
+              <call function="'setKnownIssue'">
+                { 'issueId' : '3315' }
+              </call>
          
               <call function="'testCase_Postamble'"/>
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/replication/ldifimport/ldifimport.xml b/opends/tests/staf-tests/functional-tests/testcases/replication/ldifimport/ldifimport.xml
index d073e6f..700ba3f 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/replication/ldifimport/ldifimport.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/replication/ldifimport/ldifimport.xml
@@ -229,9 +229,9 @@
                 [ clientHost, clientPath, master, consumerList, synchroSuffix ]
               </call> 
 
-              <script>
-                knownIssue(3122)
-              </script>
+              <call function="'setKnownIssue'">
+                { 'issueId' : '3122' }
+              </call>
 
               <call function="'testCase_Postamble'"/>
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/replication/schema/schema.xml b/opends/tests/staf-tests/functional-tests/testcases/replication/schema/schema.xml
index b6f66f1..89abb62 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/replication/schema/schema.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/replication/schema/schema.xml
@@ -716,11 +716,10 @@
                 [ clientHost, clientPath, master, consumerList, synchroSuffix ]
               </call> 
 
+              <call function="'setKnownIssue'">
+                { 'issueId' : '2355' }
+              </call>
 
-              <script>
-                knownIssue(2355)
-              </script>                                 
-                                
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>
@@ -820,11 +819,10 @@
                 [ clientHost, clientPath, master, consumerList, synchroSuffix ]
               </call> 
 
+              <call function="'setKnownIssue'">
+                { 'issueId' : '2355' }
+              </call>
 
-              <script>
-                knownIssue(2355)
-              </script> 
-                                                                
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>                                                                     
diff --git a/opends/tests/staf-tests/functional-tests/testcases/replication/totalupdate/totalupdate.xml b/opends/tests/staf-tests/functional-tests/testcases/replication/totalupdate/totalupdate.xml
index 232420fa..f3da29d 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/replication/totalupdate/totalupdate.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/replication/totalupdate/totalupdate.xml
@@ -355,10 +355,10 @@
                 [ clientHost, clientPath, master, consumerList, 'o=example' ]
               </call>                
 
-              <script>
-                knownIssue(2599)
-              </script>
-
+              <call function="'setKnownIssue'">
+                { 'issueId' : '2599' }
+              </call>
+              
               <call function="'testCase_Postamble'"/>
             </sequence>
           </testcase>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/sample/sample.xml b/opends/tests/staf-tests/functional-tests/testcases/sample/sample.xml
index daaa144..d3caacc 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/sample/sample.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/sample/sample.xml
@@ -176,11 +176,9 @@
               'dsInstanceDn'     : DIRECTORY_INSTANCE_DN   ,
               'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
               'dsBaseDN'         : DIRECTORY_INSTANCE_SFX  ,
-              'dsFilter'         : 'wrongfilter'         }
+              'dsFilter'         : 'wrongfilter' ,
+              'knownIssue'       : '2619'         }
             </call>
-            <script>
-              knownIssue(828)
-            </script>
             <call function="'testCase_Postamble'" />
           </sequence>
         </testcase>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml b/opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml
index f3c6dc6..a871f2a 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml
@@ -52,19 +52,21 @@
           
           <call function="'testGroup_Preamble'"/>
       
-      
+          <script>
+            suiteList=[]
+            suiteList.append('schema_rfc_tests')
+            suiteList.append('schema_dynamic')
+          </script>
 
-          <!-- Call the test suites -->
-          <import machine="STAF_LOCAL_HOSTNAME"
-            file="'%s/testcases/schema/schema_rfc_tests.xml' % TESTS_DIR" />
-          <call function="'schema_rfc_tests'" />
-          
-          <import machine="STAF_LOCAL_HOSTNAME"
-            file="'%s/testcases/schema/schema_dynamic.xml' % TESTS_DIR" />
-          <call function="'schema-dynamic'" />
-
-          
-                          
+          <!-- Run the test suites -->
+          <iterate  var="__test" in="suiteList">
+            <sequence> 
+              <import machine="STAF_LOCAL_HOSTNAME"
+                file="'%s/testcases/schema/%s.xml' % (TESTS_DIR,__test)" />
+              <call function="'%s' % __test" />
+            </sequence>
+          </iterate>    
+  
           <call function="'testGroup_Postamble'"/>
 
         </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/schema/schema_dynamic.xml b/opends/tests/staf-tests/functional-tests/testcases/schema/schema_dynamic.xml
index ed258fc..33f5cb0 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/schema/schema_dynamic.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/schema/schema_dynamic.xml
@@ -28,9 +28,9 @@
 
 <stax>
 
-  <defaultcall function="schema-dynamic"/>
+  <defaultcall function="schema_dynamic"/>
 
-  <function name="schema-dynamic">
+  <function name="schema_dynamic">
   
     <sequence>
 
diff --git a/opends/tests/staf-tests/functional-tests/testcases/schema/schema_rfc_tests.xml b/opends/tests/staf-tests/functional-tests/testcases/schema/schema_rfc_tests.xml
index 2128af6..dfc1473 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/schema/schema_rfc_tests.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/schema/schema_rfc_tests.xml
@@ -768,16 +768,11 @@
                     'subcommand'             : 'set-attribute-syntax-prop' ,
                     'objectType'             : 'syntax-name' ,
                     'objectName'             : 'Generalized Time',
-                    'optionsString'          : '--set enabled:false'
+                    'optionsString'          : '--set enabled:false',
+                    'knownIssue'             : '2046'
                     }
             </call> 
-            <script>
-              knownIssue(2046)
-            </script>
-            <call function="'checktestRC'">
-                { 'returncode' : RC ,
-                  'result'     : STAXResult }
-            </call>
+
             <call function="'testCase_Postamble'"/>
           </sequence>
         </testcase>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_grace_login.xml b/opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_grace_login.xml
index aeb46a9..54335bd 100755
--- a/opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_grace_login.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_grace_login.xml
@@ -329,13 +329,10 @@
             
             <call function="'checktestString'">
                 { 'returnString'       : returnString ,
-                  'expectedString'     : 'Remaining Grace Login Count:  2' }
+                  'expectedString'     : 'Remaining Grace Login Count:  2' ,
+                  'issue'              : '3430' }
             </call>
             
-            <script>
-              knownIssue(3430)
-            </script>
-            
             <message>
              '%s Verify grace login use times with manage-account ' % msg
             </message>
@@ -390,13 +387,10 @@
             
             <call function="'checktestString'">
                 { 'returnString'       : returnString ,
-                  'expectedString'     : 'Remaining Grace Login Count:  1' }
+                  'expectedString'     : 'Remaining Grace Login Count:  1',
+                  'issue'              : '3430' }
             </call>
             
-            <script>
-              knownIssue(3430)
-            </script>
-               
             <message>
                'Security: Grace Login:  Search Bind 3'
             </message>
@@ -543,13 +537,10 @@
                     'dsInstanceDn'           : 'uid=kwinters,%s' % basedn ,
                     'dsInstancePswd'         : 'forsook' ,
                     'dsAuthzID'              : 'dn:uid=kwinters,%s' % basedn ,
-                    'dsNewPassword'          : 'newforsook' }
+                    'dsNewPassword'          : 'newforsook' ,
+                    'knownIssue'             : '3249' }
              </call>
              
-            <script>
-              knownIssue(3249)
-            </script>
-    
             <message>
                'Security: Grace Login: Reset Pwd, Admin reset max password age'
             </message>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml b/opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml
index 6869041..f707165 100755
--- a/opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml
@@ -234,11 +234,10 @@
                     'propertyName'           : 'Dictionary' ,
                     'attributeName'          : 'test-reversed-password' ,
                     'attributeValue'         : 'false' ,
-                    'modifyType'             : 'set' }
+                    'modifyType'             : 'set' ,
+                    'knownIssue'             : '2361' }
             </call>
-            <script>
-              knownIssue(2361)
-            </script>
+
             <call function="'testCase_Postamble'"/>
             
           </sequence>
@@ -272,13 +271,10 @@
                 'dsInstancePswd'   : 'tcilfni' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base' }
+                'extraParams'      : '-s base' ,
+                'knownIssue'       : '2361' }
             </call>
 
-            <script>
-              knownIssue(2361)
-            </script>
-            
             <call function="'testCase_Postamble'"/>
             
           </sequence>
@@ -340,19 +336,10 @@
                 'dsInstancePswd'   : 'zymochemistry' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base' }
+                'extraParams'      : '-s base' ,
+                'knownIssue'       : '2361' }
             </call>
             
-            <!--  
-              On Windows platforms:
-              "Dictionary: Using Using Reverse Password 2" testcase failed due
-              to issue 2361 and the password for user "uid=abergin" is not 
-              changed => so this testcase failed for this reason
-            -->
-            <script>
-              knownIssue(2361)
-            </script>
-            
             <call function="'testCase_Postamble'"/>
             
           </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml b/opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml
index 7ed2967..f265de1 100755
--- a/opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml
@@ -124,12 +124,10 @@
                     'dsInstancePswd'         : 'sprainone' ,
                     'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
                     'dsNewPassword'          : 'sprain' ,
-                    'expectedRC'             : 53 }
+                    'expectedRC'             : 53 ,
+                    'knownIssue'             : '3270' }
             </call>
             
-	    <script>
-              knownIssue(3270)
-            </script>
             <message>
             '%s user binding with password 1' % msg
             </message>
@@ -141,13 +139,10 @@
                 'dsInstancePswd'   : 'sprainone' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base' }
+                'extraParams'      : '-s base' ,
+                'knownIssue'       : '3270' }
             </call>
 
-            <script>
-              knownIssue(3270)
-            </script>
-
             <call function="'testCase_Postamble'"/>
             
           </sequence>
@@ -183,13 +178,10 @@
                     'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprainone' ,
                     'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
-                    'dsNewPassword'          : 'spraintwo'  }
+                    'dsNewPassword'          : 'spraintwo' ,
+                    'knownIssue'             : '3270'  }
             </call>
            
-            <script>
-              knownIssue(3270)
-            </script>
- 
             <message>
             '%s user modifying password back to old passwords' % msg
             </message>
@@ -206,14 +198,11 @@
                     'dsInstancePswd'         : 'spraintwo' ,
                     'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
                     'dsNewPassword'          : '%s' % pwds ,
-                    'expectedRC'             : 53 }
+                    'expectedRC'             : 53 ,
+                    'knownIssue'             : '3270' }
               </call>
             </iterate>
  
-            <script>
-              knownIssue(3270)
-            </script>
-           
             <message>
             '%s user binding with password 2' % msg
             </message>
@@ -225,15 +214,13 @@
                 'dsInstancePswd'   : 'spraintwo' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base' }
+                'extraParams'      : '-s base' ,
+                'knownIssue'       : '3270' }
             </call>
 
-            <script>
-              knownIssue(3270)
-            </script>
             
-                        <message>
-            '%s Check manage-account get-password-history  ' % msg
+            <message>
+              '%s Check manage-account get-password-history  ' % msg
             </message>
 
             <call function="'manageAccountWithScript'">
@@ -287,13 +274,10 @@
                     'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'spraintwo' ,
                     'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
-                    'dsNewPassword'          : 'sprainthree'  }
+                    'dsNewPassword'          : 'sprainthree' ,
+                    'knownIssue'             : '3270'  }
             </call>
 
-            <script>
-              knownIssue(3270)
-            </script>
-            
             <message>
             '%s user modifying password back to old passwords' % msg
             </message>
@@ -310,15 +294,11 @@
                     'dsInstancePswd'         : 'sprainthree' ,
                     'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
                     'dsNewPassword'          : '%s' % pwds ,
-                    'expectedRC'             : 53 }
+                    'expectedRC'             : 53 ,
+                    'knownIssue'             : '3270' }
               </call>
             </iterate>
 
-            <script>
-              knownIssue(3270)
-            </script>
-
-            
             <message>
             '%s user binding with password 3' % msg
             </message>
@@ -330,13 +310,10 @@
                 'dsInstancePswd'   : 'sprainthree' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base' }
+                'extraParams'      : '-s base' ,
+                'knownIssue'       : '3270' }
             </call>
 
-            <script>
-              knownIssue(3270)
-            </script>
-
             <call function="'testCase_Postamble'"/>
             
           </sequence>
@@ -373,13 +350,10 @@
                     'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprainthree' ,
                     'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn ,
-                    'dsNewPassword'          : 'sprainfour'   }
+                    'dsNewPassword'          : 'sprainfour' ,
+                    'knownIssue'             : '3270'   }
             </call>
 
-            <script>
-              knownIssue(3270)
-            </script>
-            
             <message>
             '%s user modifying password back to old passwords' % msg
             </message>
@@ -396,14 +370,11 @@
                     'dsInstancePswd'         : 'sprainfour' ,
                     'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
                     'dsNewPassword'          : '%s' % pwds ,
-                    'expectedRC'             : 53 }
+                    'expectedRC'             : 53 ,
+                    'knownIssue'             : '3270' }
               </call>
             </iterate>
             
-            <script>
-              knownIssue(3270)
-            </script>
-
             <message>
             '%s user modifying password to original one' % msg
             </message>
@@ -414,13 +385,10 @@
                     'dsInstanceDn'           : 'uid=scarter,%s' % basedn ,
                     'dsInstancePswd'         : 'sprainfour' ,
                     'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
-                    'dsNewPassword'          : 'sprain'   }
+                    'dsNewPassword'          : 'sprain' ,
+                    'knownIssue'             : '3270'   }
             </call>
  
-            <script>
-              knownIssue(3270)
-            </script>
-           
             <message>
             '%s user binding with original password' % msg
             </message>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_customconf.xml b/opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_customconf.xml
index 8aa59e7..5b68831 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_customconf.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_customconf.xml
@@ -284,16 +284,11 @@
                 {
                 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
-                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD
+                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
+                'knownIssue'       : '3435'
                 }
               </call>
               
-              <if expr="is_windows_platform(DIRECTORY_INSTANCE_HOST)">
-                <script>
-                  knownIssue(3435)
-                </script>
-              </if>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -447,16 +442,11 @@
                 {
                 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
-                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD
+                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
+                'knownIssue'       : '3435'
                 }
               </call>
 
-              <if expr="is_windows_platform(DIRECTORY_INSTANCE_HOST)">
-                <script>
-                  knownIssue(3435)
-                </script>
-              </if>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -856,16 +846,11 @@
                 {
                 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
-                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD
+                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
+                'knownIssue'       : '3435'
                 }
               </call>
 
-              <if expr="is_windows_platform(DIRECTORY_INSTANCE_HOST)">
-                <script>
-                  knownIssue(3435)
-                </script>
-              </if>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_defaultconf.xml b/opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_defaultconf.xml
index e0d5cb1..80b22c0 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_defaultconf.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/snmp/snmp_trap_defaultconf.xml
@@ -149,16 +149,11 @@
                 'location'      : STAF_REMOTE_HOSTNAME ,
                 'outputFile'    : outputFile ,
                 'timerDuration' : timerDuration ,
-                'timerRC'       : timerRC
+                'timerRC'       : timerRC ,
+                'issue'         : '3435'
                 }
               </call>
               
-              <if expr="is_windows_platform(STAF_REMOTE_HOSTNAME)">
-                <script>
-                  knownIssue(3435)
-                </script>
-              </if>
-
               <call function="'testCase_Postamble'"/>
 
             </sequence>
@@ -360,16 +355,11 @@
                 'location'      : STAF_REMOTE_HOSTNAME ,
                 'outputFile'    : outputFile ,
                 'timerDuration' : timerDuration ,
-                'timerRC'       : timerRC
+                'timerRC'       : timerRC ,
+                'issue'         : '3435'
                 }
               </call>
               
-              <if expr="is_windows_platform(STAF_REMOTE_HOSTNAME)">
-                <script>
-                  knownIssue(3435)
-                </script>
-              </if>
-              
               <call function="'testCase_Postamble'"/>
 
             </sequence>
diff --git a/opends/tests/staf-tests/shared/functions/dsadm.xml b/opends/tests/staf-tests/shared/functions/dsadm.xml
index bb4a922..6fb138c 100755
--- a/opends/tests/staf-tests/shared/functions/dsadm.xml
+++ b/opends/tests/staf-tests/shared/functions/dsadm.xml
@@ -135,6 +135,12 @@
         </function-arg-description>
         <function-arg-property name="help" value="option"/>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -191,7 +197,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'path'      : dsPath,
-          'expectedRC': 'noCheck'
+          'expectedRC': 'noCheck',
+          'knownIssue': knownIssue
         }
       </call>
     </sequence>
@@ -251,6 +258,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -291,7 +304,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'location'  : location,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>STAXResult</return>
@@ -448,6 +462,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -531,7 +551,8 @@
           'name'      : 'Stop DS Script',
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <call function="'Sleep'">
@@ -736,6 +757,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
       
     <sequence>
@@ -752,7 +779,8 @@
           'name'      : 'Offline Import',
           'command'   : '%s/import-ldif%s' % (dsBinPath,fileExt),
           'arguments' : '-l %s -n %s %s' % (ldifFile,backEnd,extraParams),
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>RC</return>
@@ -936,6 +964,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -1033,7 +1067,8 @@
           'name'      : 'Offline Import Script',
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
 
@@ -1201,7 +1236,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
       </function-arg-def>    
-      
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>      
     </function-map-args>
     <sequence>
     
@@ -1616,7 +1656,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>
       </function-arg-def>
- 
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def> 
     </function-map-args>
 
     <sequence>
@@ -1659,7 +1704,8 @@
           'name'      : 'Export Script',
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -1798,6 +1844,7 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
       </function-arg-def>
+
     </function-map-args>
 
     <sequence>
@@ -1995,6 +2042,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>
 	    </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
 
     <sequence>
@@ -2036,7 +2089,8 @@
           'name'      : 'Backup Script',
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }              
       </call> 
       
@@ -2332,6 +2386,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>
       </function-arg-def>      
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
 
@@ -2370,7 +2430,8 @@
           'name'      : 'Restore Script',
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call> 
       
@@ -3647,6 +3708,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -3684,7 +3751,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'path'      : dsPath,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       
@@ -3766,6 +3834,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -3815,7 +3889,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'path'      : dsPath,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       
@@ -4190,6 +4265,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -4275,7 +4356,8 @@
           'name'       : 'manage-tasks Script',
           'command'    : STAFCmd,
           'arguments'  : STAFCmdParams,
-          'expectedRC' : expectedRC
+          'expectedRC' : expectedRC,
+          'knownIssue' : knownIssue
         }
       </call>
       <return>
@@ -4320,6 +4402,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -4333,7 +4421,8 @@
           'location'  : location,
           'command'   : _cmd,
           'arguments' : _args,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>STAXResult</return>
@@ -4369,6 +4458,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
 
     <sequence>
@@ -4382,7 +4477,8 @@
           'location'  : location,
           'command'   : _cmd,
           'arguments' : _args,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>STAXResult</return>
@@ -4551,6 +4647,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>     
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       <!-- Build the Command -->
@@ -4589,7 +4691,8 @@
         'command'    : STAFCmd,
         'arguments'  : STAFCmdParams,
         'location'   : location,
-        'expectedRC' : expectedRC
+        'expectedRC' : expectedRC,
+        'knownIssue': knownIssue
         }
       </call>
       
@@ -4652,6 +4755,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>     
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       <!-- Build the Command -->
@@ -4684,7 +4793,8 @@
         'command'    : STAFCmd,
         'arguments'  : STAFCmdParams,
         'location'   : location,
-        'expectedRC' : expectedRC
+        'expectedRC' : expectedRC,
+        'knownIssue' : knownIssue
         }
       </call>
       
@@ -4789,6 +4899,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>     
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       <!-- Build the Command -->
@@ -4842,7 +4958,8 @@
         'command'    : STAFCmd,
         'arguments'  : STAFCmdParams,
         'location'   : location,
-        'expectedRC' : expectedRC
+        'expectedRC' : expectedRC,
+        'knownIssue': knownIssue
         }
       </call>
       
diff --git a/opends/tests/staf-tests/shared/functions/dsconfig.xml b/opends/tests/staf-tests/shared/functions/dsconfig.xml
index 6b1c508..475e0ea 100755
--- a/opends/tests/staf-tests/shared/functions/dsconfig.xml
+++ b/opends/tests/staf-tests/shared/functions/dsconfig.xml
@@ -52,7 +52,7 @@
   
   
   <!-- Set property value using dsconfig -->
-  <function name="dsconfigSet">
+  <function name="dsconfigSet" scope="local">
     <function-prolog>
       This function modifies a property value using dsconfig
     </function-prolog>
@@ -156,6 +156,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="string" />
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       
@@ -192,7 +198,8 @@
           'location'  : location,
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       
@@ -204,7 +211,7 @@
   
   
   <!-- Get property value using dsconfig -->
-  <function name="dsconfigGet">
+  <function name="dsconfigGet" scope="local">
     <function-prolog>
       This function get a property value using dsconfig
     </function-prolog>
@@ -308,6 +315,14 @@
         </function-arg-description>
         <function-arg-property name="type" value="string" />
       </function-arg-def>
+
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
+
     </function-map-args>
     <sequence>
       <!-- Local variables -->
@@ -342,7 +357,8 @@
           'location'  : location,
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <script>
@@ -366,7 +382,7 @@
   <!-- generic wrapper on dsconfig -->
   <!-- can be used to list, get or set a list of attribues -->
   
-  <function name="dsconfig">
+  <function name="dsconfig" scope="local">
     <function-prolog>
       This function lists, get or set a list of attributes using dsconfig
     </function-prolog>
@@ -454,6 +470,13 @@
         </function-arg-description>
         <function-arg-property name="type" value="string" />
       </function-arg-def>
+
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       <!-- Local variables -->
@@ -482,7 +505,8 @@
           'location'  : location,
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -696,6 +720,14 @@
         </function-arg-description>
         <function-arg-property name="type" value="string" />
       </function-arg-def>
+
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
+
     </function-map-args>
     <sequence>
       <call function="'dsconfigSet'">
@@ -711,7 +743,8 @@
           'attributeName'       : attributeName,
           'attributeValue'      : attributeValue,
           'modifyType'          : modifyType,
-          'expectedRC'          : expectedRC
+          'expectedRC'          : expectedRC,
+          'knownIssue'          : knownIssue
         }
       </call>
       <return>
diff --git a/opends/tests/staf-tests/shared/functions/environment.xml b/opends/tests/staf-tests/shared/functions/environment.xml
index 408852a..dc3e333 100755
--- a/opends/tests/staf-tests/shared/functions/environment.xml
+++ b/opends/tests/staf-tests/shared/functions/environment.xml
@@ -162,11 +162,6 @@
         def getTestCaseName(name):
           return '%s: %s: %s' % (CurrentTestPath['group'],CurrentTestPath['suite'],name)
 
-        # this functions adds a known issue to a testcase's known issues list
-        issuesList=[]
-        def knownIssue(issue):
-          issuesList.append(issue)
-                
         DSCONFIG = 'dsconfig'       
         DSREPLICATION = 'dsreplication'   
           
diff --git a/opends/tests/staf-tests/shared/functions/ldap.xml b/opends/tests/staf-tests/shared/functions/ldap.xml
index 6ece1ef..67d6278 100755
--- a/opends/tests/staf-tests/shared/functions/ldap.xml
+++ b/opends/tests/staf-tests/shared/functions/ldap.xml
@@ -92,6 +92,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>
         </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       <!-- Local variables -->
@@ -128,7 +134,8 @@
           'arguments'   : STAFCmdParams,
           'location'    : mylocation,
           'name'        : 'Add Entry From LDIF',
-          'expectedRC'  : expectedRC
+          'expectedRC'  : expectedRC,
+          'knownIssue'  : knownIssue
         }
       </call>
       <return>
@@ -354,7 +361,13 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
-        </function-arg-def>    
+      </function-arg-def>    
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -479,7 +492,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'location'  : location,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       
@@ -549,7 +563,13 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
-        </function-arg-def>    
+      </function-arg-def>    
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
     
@@ -590,7 +610,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'name'      : 'Modify Entry from ldif file',
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       
@@ -932,6 +953,12 @@
           <function-arg-property-data type="choice" value="False"/>
         </function-arg-property>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -1100,7 +1127,8 @@
           'location'  : location,
           'outputFile': '%s/%s' % (outputPath, outputFile) ,
           'expectedRC': expectedRC ,
-          'logStderr' : logStderr
+          'logStderr' : logStderr,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -1193,7 +1221,13 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
-        </function-arg-def>    
+      </function-arg-def>    
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
     
@@ -1247,7 +1281,8 @@
           'arguments' : STAFCmdParams,
           'location'  : location,
           'name'      : 'ldapsearch',
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -1317,6 +1352,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       <call function="'runCommand'" >
@@ -1324,7 +1365,8 @@
           'command'   : '%s/ldapsearch%s' % (dsBinPath,fileExt),
           'arguments' : '-h %s -p %s -D "%s" %s -b "%s" "%s"' % (dsInstanceHost,dsInstancePort,dsInstanceDn,extraParams,dsBaseDN,dsFilter),
           'location'  : location,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -1387,7 +1429,13 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
-        </function-arg-def>    
+      </function-arg-def>    
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       <call function="'runCommand'" >
@@ -1395,7 +1443,8 @@
           'location'  : location,
           'command'   : '%s/ldapsearch%s' % (dsBinPath,fileExt),
           'arguments' : '-h %s -p %s %s -b "%s" "%s"' % (dsInstanceHost,dsInstancePort,extraParams,dsBaseDN,dsFilter),
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -1598,6 +1647,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
       </function-arg-def>    
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -1708,7 +1763,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'location'  : location,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -1778,6 +1834,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
       </function-arg-def>    
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -1820,7 +1882,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'location'  : location,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -2036,6 +2099,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
       </function-arg-def>    
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -2145,7 +2214,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'location'  : location,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -2221,6 +2291,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
       </function-arg-def>    
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
     
@@ -2260,7 +2336,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'location'  : location,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -2456,6 +2533,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>      
       </function-arg-def>    
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -2546,7 +2629,8 @@
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
           'location'  : location,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -2653,6 +2737,13 @@
       </function-arg-description>
       <function-arg-property name="type" value="string"/>
     </function-arg-def>      
+
+    <function-arg-def name="knownIssue" type="optional" default="None">
+      <function-arg-description>
+        Known issue. Corresponds to an issue number.
+      </function-arg-description>
+      <function-arg-property name="type" value="string" />
+    </function-arg-def>
   
     </function-map-args>
     <sequence>
@@ -2717,7 +2808,8 @@
           'location'  : location,
           'envCmd'    : ['CLASSPATH=%s/../%s/ldap' % (dsPath,remote.reljavadir)],
           'path'      : '%s/../%s/ldap' % (dsPath,remote.reljavadir),
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       
@@ -2928,6 +3020,12 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       <!-- Local variables -->
@@ -2960,7 +3058,8 @@
           'location'  : location,
           'envCmd'    : ['CLASSPATH=%s/../%s/ldap' % (dsPath,remote.reljavadir)],
           'path'      : '%s/../%s/ldap' % (dsPath,remote.reljavadir),
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
@@ -3037,6 +3136,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
     
@@ -3072,7 +3177,8 @@
           'location'  : location,
           'envCmd'    : ['CLASSPATH=%s/../%s/ldap' % (dsPath,remote.reljavadir)],
           'path'      : '%s/../%s/ldap' % (dsPath,remote.reljavadir),
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>
diff --git a/opends/tests/staf-tests/shared/functions/snmp.xml b/opends/tests/staf-tests/shared/functions/snmp.xml
index 65390d1..d351034 100755
--- a/opends/tests/staf-tests/shared/functions/snmp.xml
+++ b/opends/tests/staf-tests/shared/functions/snmp.xml
@@ -556,6 +556,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="string" />
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
 
     <sequence>
@@ -606,7 +612,8 @@
         'location'  : location ,
         'command'   : STAFCmd ,
         'arguments' : '%s --set enabled:true' % STAFCmdParams ,
-        'expectedRC': expectedRC
+        'expectedRC': expectedRC ,
+        'knownIssue': knownIssue
         }
       </call>
 
@@ -742,6 +749,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>
       </function-arg-def>
+      <function-arg-def name="issue" type="optional" default="None">
+        <function-arg-description>
+          Issue id. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string"/>
+      </function-arg-def>
     </function-map-args>
 
     <sequence>
@@ -823,7 +836,16 @@
           </if>
         </sequence>
         <else>
-          <tcstatus result="'fail'">'Timer failed to begin.'</tcstatus>
+           <if expr="issue == None">
+              <tcstatus result="'fail'"/>
+            <else>
+              <sequence>
+                <call function="'setKnownIssue'">
+                  { 'issueId' : issue }
+                </call>
+              </sequence>
+            </else>
+            </if>
         </else>
       </if>
 
diff --git a/opends/tests/staf-tests/shared/functions/tools.xml b/opends/tests/staf-tests/shared/functions/tools.xml
index f788d58..bc24285 100755
--- a/opends/tests/staf-tests/shared/functions/tools.xml
+++ b/opends/tests/staf-tests/shared/functions/tools.xml
@@ -92,6 +92,14 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
+
     </function-map-args>
     <sequence>
       <!-- Build the Command -->
@@ -125,7 +133,8 @@
           'location'  : location,
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>STAXResult</return>
@@ -296,6 +305,7 @@
         </function-arg-description>
         <function-arg-property name="help" value="option"/>
       </function-arg-def> 
+
     </function-map-args>
     <sequence>
       <!-- Build the Command -->
@@ -335,7 +345,7 @@
         'Running command:\n %s %s\nlocation: %s\nworkdir: %s' \
         % (STAFCmd,STAFCmdParams,location,dsBinPath)
       </message>
-      
+    
       <process name="'LDIF Diff Script'">
         <location>location</location>
         <command>STAFCmd</command>
@@ -349,7 +359,7 @@
         <returnstdout/>          
         <returnfile>outputLdif</returnfile>
       </process>
-      
+    
       <script>
         STAXCode=RC
         STAXReason=STAXResult
@@ -431,6 +441,14 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
+
     </function-map-args>
     <sequence>
       <!-- Build the Command -->
@@ -464,7 +482,8 @@
           'location'  : location,
           'command'   : STAFCmd,
           'arguments' : STAFCmdParams,
-          'expectedRC': expectedRC
+          'expectedRC': expectedRC,
+          'knownIssue': knownIssue
         }
       </call>
       <return>STAXResult</return>
@@ -515,6 +534,7 @@
         </function-arg-description>
         <function-arg-property name="type" value="DN"/>
       </function-arg-def>
+
     </function-list-args>
     <sequence>
       <script>
@@ -660,6 +680,7 @@
         </function-arg-description>
         <function-arg-property name="type" value="filename"/>
       </function-arg-def>
+
     </function-list-args>
     <sequence>
       <script>
@@ -1278,6 +1299,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>     
       </function-arg-def>      
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     <sequence>
       <!-- Build the Command -->
@@ -1319,7 +1346,8 @@
         'command'    : STAFCmd,
         'arguments'  : STAFCmdParams,
         'location'   : location,
-        'expectedRC' : expectedRC
+        'expectedRC' : expectedRC ,
+        'knownIssue' : knownIssue
         }
       </call>
       
diff --git a/opends/tests/staf-tests/shared/functions/utils.xml b/opends/tests/staf-tests/shared/functions/utils.xml
index 1ec8596..e181b27 100755
--- a/opends/tests/staf-tests/shared/functions/utils.xml
+++ b/opends/tests/staf-tests/shared/functions/utils.xml
@@ -103,8 +103,14 @@
           the expected return code
         </function-arg-description>
         <function-arg-property name="type" value="integer"/>
+      </function-arg-def> 
+      <function-arg-def name="issue" type="optional" default="None">
+        <function-arg-description>
+          Issue id. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string"/>
       </function-arg-def>
-    </function-map-args>  
+    </function-map-args>
     <sequence>    
       <if expr="expected == 'noCheck'">
         <return/>
@@ -113,7 +119,7 @@
         <sequence>
           <if expr="STAXCurrentTestcase != None">
             <sequence>
-              <tcstatus result="'pass'"/>          
+              <tcstatus result="'pass'"/>
             </sequence>
           </if>
           <if expr="VERBOSE_MODE == 'True'">
@@ -134,7 +140,17 @@
         <sequence>
           <if expr="STAXCurrentTestcase != None">
             <sequence>
-              <tcstatus result="'fail'"/>          
+              <if expr="issue == None">
+                <tcstatus result="'fail'"/>
+              <else>
+                <sequence>
+                  <call function="'setKnownIssue'">
+                    { 'issueId' : issue }
+                  </call>
+                </sequence>
+              </else>
+              </if>
+                        
             </sequence>
           </if>                   
           <message log="1" level="'Error'">
@@ -146,7 +162,36 @@
     </sequence>
   </function>
 
-  
+<!-- Set Known Issue -->
+  <function name="setKnownIssue">
+    <function-prolog>
+      This function set the known issue flag and maintains list of known issues
+    </function-prolog>
+    
+    <function-map-args>
+      <function-arg-def name="issueId" type="required">
+        <function-arg-description>
+          Issue ID
+        </function-arg-description>
+        <function-arg-property name="type" value="string"/>
+      </function-arg-def>
+    </function-map-args>
+      <sequence>
+        <script>
+          try:
+            issuesList.append(issueId)
+          except:
+            print 'Issues list undefined. Unable to add issue %s' % issueId
+        </script>
+        <message log="1" level="'Error'">
+          'ERROR: HIT **** Known Issue (%s) ****' % issueId
+        </message>
+        <tcstatus result="'fail'">
+          'KnownIssue: %s' % issuesList
+        </tcstatus>
+    </sequence>
+  </function>
+
 <!-- testPassed  -->
 <!-- Set the test status to PASS -->   
   
@@ -194,7 +239,13 @@
           the return string received from command
         </function-arg-description>
         <function-arg-property name="type" value="string"/>
-      </function-arg-def>          
+      </function-arg-def>
+      <function-arg-def name="issue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>               
     </function-map-args>
     
     <sequence>
@@ -211,7 +262,16 @@
         </sequence>
         <else>
           <sequence>
-            <tcstatus result="'fail'"/>
+            <if expr="issue == None">
+              <tcstatus result="'fail'"/>
+            <else>
+              <sequence>
+                <call function="'setKnownIssue'">
+                  { 'issueId' : issue }
+                </call>
+              </sequence>
+            </else>
+            </if>
             <message log="1" level="'Error'">
               'ERROR : Did not find substring, %s, in the return string, %s' % (expectedString, returnString)
             </message>
@@ -238,6 +298,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="string"/>
       </function-arg-def>          
+      <function-arg-def name="issue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
 
     <sequence>
@@ -253,7 +319,16 @@
         </sequence>
         <else>
           <sequence>
-            <tcstatus result="'fail'"/>
+            <if expr="issue == None">
+              <tcstatus result="'fail'"/>
+            <else>
+              <sequence>
+                <call function="'setKnownIssue'">
+                  { 'issueId' : issue }
+                </call>
+              </sequence>
+            </else>
+            </if>
             <message log="1" level="'Error'">
               'Found substring, %s, in the return string, %s' % (testString, returnString)
             </message>
@@ -1596,6 +1671,11 @@
           Wildcard 'noCheck' to not check the RC
         </function-arg-description>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+      </function-arg-def>
       <function-arg-def name="logStderr" type="optional" default="True">
         <function-arg-description>
           If true, stderr for the command is redirect to stdout.
@@ -1686,7 +1766,8 @@
         <call function="'checktestRC'">
           { 'returncode' : cmdRC,
             'result'     : cmdOutput,
-            'expected'   : expectedRC
+            'expected'   : expectedRC,
+            'issue'      : knownIssue
           }
         </call>
       </if>
@@ -1985,6 +2066,12 @@
         </function-arg-description>
         <function-arg-property name="type" value="filepath"/>
       </function-arg-def>
+      <function-arg-def name="knownIssue" type="optional" default="None">
+        <function-arg-description>
+          Known issue. Corresponds to an issue number.
+        </function-arg-description>
+        <function-arg-property name="type" value="string" />
+      </function-arg-def>
     </function-map-args>
     
     <sequence>
@@ -2102,7 +2189,14 @@
             </sequence>
             <else>
               <sequence>
-                <tcstatus result="'fail'"/>      
+                <if expr="knownIssue == None">
+                  <tcstatus result="'fail'"/>
+                <else>
+                  <call function="'setKnownIssue'">
+                    { 'issueId' : knownIssue }
+                  </call>
+                  </else>
+                </if>
                 <message log="1">
                   'ERROR : Differences were found between %s and %s\n%s' % \
                   (outputFile, refFile, diff)
diff --git a/opends/tests/staf-tests/shared/tests/runTestJob.xml b/opends/tests/staf-tests/shared/tests/runTestJob.xml
index a6ff613..b795eb9 100644
--- a/opends/tests/staf-tests/shared/tests/runTestJob.xml
+++ b/opends/tests/staf-tests/shared/tests/runTestJob.xml
@@ -345,6 +345,7 @@
 
               startValueDict={}
               stopValueDict={}
+              failValueDict={}
               statusValueDict={}
 
               if level == 'Start':
@@ -387,6 +388,26 @@
                 else:
                   errorfh.write('Warning: No match Stop element %s.\n' % element)
 
+              elif level == 'Fail':
+
+                tcpattern=re.compile("(Testcase): (.*),.*,.*, Last Status: fail, Message: KnownIssue: (.*)")
+                tcmatch = tcpattern.search(message)
+
+                if tcmatch:
+                  tctype=tcmatch.group(1)
+                  tcname=tcmatch.group(2)
+                  tcissues=tcmatch.group(3)
+                  if testDict.has_key(tcname):
+                    for key in testDict[tcname].keys():
+                      value=testDict[tcname][key]
+                      failValueDict[key]=value
+
+                  failValueDict['issue']=tcissues
+                  testDict[tcname]=failValueDict
+
+                else:
+                  errorfh.write('Warning: No match Fail element %s.\n' % element)
+
               elif level == 'Status':
 
                 tcpattern=re.compile("(Testcase): (.*), Pass: (.*), Fail: (.*), ElapsedTime: (.*), NumStarts: (.*)")
@@ -625,7 +646,12 @@
             if testDict[tcname].has_key('duration'):
               tcduration=testDict[tcname]['duration']
             else:
-              duration='unknown'
+              tcduration='unknown'
+
+            if testDict[tcname].has_key('issue'):
+              tcissues=testDict[tcname]['issue']
+            else:
+              tcissues='unknown'
 
           else:
             errorfh.write('No key for testcase %s.\n' % tcname)
@@ -661,6 +687,14 @@
           case.setAttribute("start", "%s" % tcstart)
           case.setAttribute("stop", "%s" % tcstop)
           case.setAttribute("duration", "%s" % tcdurationsecs)
+          if tcissues != 'unknown':
+            issues = doc.createElement("issues")
+            tcissuesList=eval(tcissues)
+            for attr in tcissuesList:
+              issue = doc.createElement("issue")
+              issue.setAttribute("id", attr)
+              issues.appendChild(issue)
+            case.appendChild(issues)
           suite.appendChild(case)
 
         # Write out the results
@@ -703,7 +737,7 @@
         htmlfile= '%s/groups.html' % logsReportDir
         testslog= '%s/tests-log.xml' % logsTestsDir
         groupsReport=report_generation()
-        stringParamsDict={ 'tests-log' : testslog }
+        stringParamsDict={}
 
         try:
           groupsReport.transformReport(xslfile,xmlfile,htmlfile,stringParamsDict)
@@ -732,7 +766,7 @@
             xslfile= '%s/xsl/gen-suites-report.xsl' % TESTS_SHARED_DIR
 
             suitesReport=report_generation()
-            stringParamsDict={ 'group' : testGroupName, 'tests-log' : testslog }
+            stringParamsDict={ 'group' : testGroupName }
 
             try:
               suitesReport.transformReport(xslfile,xmlfile,htmlfile,stringParamsDict)

--
Gitblit v1.10.0