From e7e29543ddd6df23faa6e0630e963320eedf4e40 Mon Sep 17 00:00:00 2001
From: madiot <madiot@localhost>
Date: Wed, 27 Jan 2010 09:14:32 +0000
Subject: [PATCH] fix related to code coverage with EMMA - serialize the startDS in the tools function startservers to avoid emma.properties generated file to overwrite each other - skip the kill on OpenDS processes to avoid potential unexpected behaviour with code coverage - generating a new Emma coverage.ec statistics file for each start of any given OpenDS instance
---
opends/tests/staf-tests/shared/functions/tools.xml | 94 ++++++++++++++++++++++++++++++++++------------
1 files changed, 69 insertions(+), 25 deletions(-)
diff --git a/opends/tests/staf-tests/shared/functions/tools.xml b/opends/tests/staf-tests/shared/functions/tools.xml
index 7ea7014..870a1e5 100755
--- a/opends/tests/staf-tests/shared/functions/tools.xml
+++ b/opends/tests/staf-tests/shared/functions/tools.xml
@@ -1043,33 +1043,77 @@
<sequence>
<!-- Start the servers in the list -->
- <paralleliterate var="server" in="serverList">
+ <script>
+ # check if using coverage in which case we'll avoid doing parallele iterate
+ coverage = False
+ if os.path.exists(os.path.join(serverList[0].getDir(),OPENDSNAME,'lib','emma.jar')):
+ coverage = True
+ print 'tools.xml - coverage=%s' % coverage
+ </script>
+ <if expr="coverage == True">
<sequence>
- <message>
- 'Start DS on host %s to run on port %s' % (server.getHostname(),server.getPort())
- </message>
-
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : server.getHostname(),
- 'dsPath' : '%s/%s' % (server.getDir(),OPENDSNAME)
- }
- </call>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'location' : server.getHostname(),
- 'dsPath' : '%s/%s' % (server.getDir(),OPENDSNAME),
- 'dsInstanceHost' : server.getHostname(),
- 'dsInstancePort' : server.getPort(),
- 'dsInstanceDn' : server.getRootDn(),
- 'dsInstancePswd' : server.getRootPwd(),
- 'noOfLoops' : 10 ,
- 'noOfMilliSeconds' : 2000
- }
- </call>
+ <message>'starting servers in sequence using "iterate"'</message>
+ <iterate var="server" in="serverList">
+ <sequence>
+ <message>
+ 'Start DS on host %s to run on port %s' % (server.getHostname(),server.getPort())
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : server.getHostname(),
+ 'dsPath' : '%s/%s' % (server.getDir(),OPENDSNAME)
+ }
+ </call>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'location' : server.getHostname(),
+ 'dsPath' : '%s/%s' % (server.getDir(),OPENDSNAME),
+ 'dsInstanceHost' : server.getHostname(),
+ 'dsInstancePort' : server.getPort(),
+ 'dsInstanceDn' : server.getRootDn(),
+ 'dsInstancePswd' : server.getRootPwd(),
+ 'noOfLoops' : 10 ,
+ 'noOfMilliSeconds' : 2000
+ }
+ </call>
+ </sequence>
+ </iterate>
</sequence>
- </paralleliterate>
+ <else>
+ <sequence>
+ <message>'starting servers in parallel using "paralleliterate"'</message>
+ <paralleliterate var="server" in="serverList">
+ <sequence>
+ <message>
+ 'Start DS on host %s to run on port %s' % (server.getHostname(),server.getPort())
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : server.getHostname(),
+ 'dsPath' : '%s/%s' % (server.getDir(),OPENDSNAME)
+ }
+ </call>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'location' : server.getHostname(),
+ 'dsPath' : '%s/%s' % (server.getDir(),OPENDSNAME),
+ 'dsInstanceHost' : server.getHostname(),
+ 'dsInstancePort' : server.getPort(),
+ 'dsInstanceDn' : server.getRootDn(),
+ 'dsInstancePswd' : server.getRootPwd(),
+ 'noOfLoops' : 10 ,
+ 'noOfMilliSeconds' : 2000
+ }
+ </call>
+ </sequence>
+ </paralleliterate>
+ </sequence>
+ </else>
+ </if>
</sequence>
</function>
--
Gitblit v1.10.0