summaryrefslogtreecommitdiff
path: root/scripts/Component.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Component.py')
-rw-r--r--scripts/Component.py37
1 files changed, 30 insertions, 7 deletions
diff --git a/scripts/Component.py b/scripts/Component.py
index 6054dd5bd0c..f6af470aa0b 100644
--- a/scripts/Component.py
+++ b/scripts/Component.py
@@ -8,8 +8,8 @@ from Util import *
class Ice(Component):
- # All option values for Ice/IceBox tests.
- coreOptions = {
+ # Options for all transports (ran only with Ice client/server tests defined for cross testing)
+ transportOptions = {
"protocol" : ["tcp", "ssl", "wss", "ws"],
"compress" : [False, True],
"ipv6" : [False, True],
@@ -17,15 +17,24 @@ class Ice(Component):
"mx" : [False, True],
}
- # All option values for IceGrid/IceStorm/Glacier2/IceDiscovery tests.
- serviceOptions = {
- "protocol" : ["tcp", "wss"],
+ # Options for Ice tests, run tests with ssl and ws/ipv6/serial/mx/compress
+ coreOptions = {
+ "protocol" : ["ssl", "ws"],
"compress" : [False, True],
"ipv6" : [False, True],
"serialize" : [False, True],
"mx" : [False, True],
}
+ # Options for Ice services, run tests with ssl + mx
+ serviceOptions = {
+ "protocol" : ["ssl"],
+ "compress" : [False],
+ "ipv6" : [False],
+ "serialize" : [False],
+ "mx" : [True],
+ }
+
def __init__(self):
self.nugetVersion = None
@@ -174,10 +183,24 @@ class Ice(Component):
return [IceGridServer()]
def getOptions(self, testcase, current):
+
parent = re.match(r'^([\w]*).*', testcase.getTestSuite().getId()).group(1)
- if isinstance(testcase, ClientServerTestCase) and parent in ["Ice", "IceBox"]:
+ if parent not in ["Ice", "IceBox", "IceGrid", "Glacier2", "IceStorm", "IceDiscovery", "IceBridge"]:
+ return None
+
+ if isinstance(testcase, CollocatedTestCase):
+ return None
+
+ # Define here Ice tests which are slow to execute and for which it's not useful to test different options
+ if testcase.getTestSuite().getId() in ["Ice/binding", "Ice/faultTolerance", "Ice/location"]:
+ return self.serviceOptions
+
+ # We only run the client/server tests defined for cross testing with all transports
+ if testcase.__class__.__name__ == 'ClientServerTestCase' and self.isCross(testcase.getTestSuite().getId()):
+ return self.transportOptions
+ elif parent in ["Ice", "IceBox"]:
return self.coreOptions
- elif parent in ["IceGrid", "Glacier2", "IceStorm", "IceDiscovery", "IceBridge"]:
+ else:
return self.serviceOptions
def getRunOrder(self):