|
@@ -28,7 +28,7 @@ import glob
|
|
|
from hpcc.util import argparse
|
|
|
from hpcc.regression.regress import Regression
|
|
|
from hpcc.util.ecl.file import ECLFile
|
|
|
-from hpcc.util.util import checkPqParam, getVersionNumbers, checkXParam, convertPath, getRealIPAddress, parentPath
|
|
|
+from hpcc.util.util import checkPqParam, getVersionNumbers, checkXParam, convertPath, getRealIPAddress, parentPath, checkClusters
|
|
|
from hpcc.common.error import Error
|
|
|
|
|
|
# For coverage
|
|
@@ -170,15 +170,15 @@ class RegressMain:
|
|
|
|
|
|
parser_setup = subparsers.add_parser('setup', help='setup help')
|
|
|
parser_setup.set_defaults(func='setup')
|
|
|
- parser_setup.add_argument('--target', '-t', help="Run the setup on target cluster. If target = 'all' then run setup on all clusters. Default value is thor.",
|
|
|
- nargs='?', type=str, default='thor', metavar="target_cluster | all")
|
|
|
+ parser_setup.add_argument('--target', '-t', help="Run the setup on target cluster(s). If target = 'all' then run setup on all clusters. If not defined then default value(s) come from config (ecl-test.json by default).",
|
|
|
+ nargs='?', type=str, default='', metavar="target_cluster_list | all")
|
|
|
parser_setup.add_argument('--pq', help="Parallel query execution with threadNumber threads. (If threadNumber is '-1' on a single node system then threadNumber = numberOfLocalCore * 2 )",
|
|
|
type=checkPqParam, default = 0, metavar="threadNumber")
|
|
|
|
|
|
parser_run = subparsers.add_parser('run', help='run help')
|
|
|
parser_run.set_defaults(func='run')
|
|
|
- parser_run.add_argument('--target', '-t', help="Run the cluster suite. If target = 'all' then run suite on all clusters. Default value is thor.",
|
|
|
- nargs='?', type=str, default='thor', metavar="target_cluster | all")
|
|
|
+ parser_run.add_argument('--target', '-t', help="Run the cluster(s) suite. If target = 'all' then run suite on all clusters. If not defined then default value(s) come from config (ecl-test.json by default).",
|
|
|
+ nargs='?', type=str, default='', metavar="target_cluster_list | all")
|
|
|
parser_run.add_argument('--publish', '-p', help="Publish compiled query instead of run.",
|
|
|
action='store_true')
|
|
|
parser_run.add_argument('--pq', help="Parallel query execution with threadNumber threads. (If threadNumber is '-1' on a single node system then threadNumber = numberOfLocalCore * 2 )",
|
|
@@ -192,8 +192,8 @@ class RegressMain:
|
|
|
parser_query.set_defaults(func='query')
|
|
|
parser_query.add_argument('query', help="One or more ECL file(s). It can contain wildcards. (mandatory).",
|
|
|
nargs='+', metavar="ECL_query")
|
|
|
- parser_query.add_argument('--target', '-t', help="Target cluster for query to run. If target = 'all' then run query on all clusters. Default value is thor.",
|
|
|
- nargs='?', default='thor', metavar="target_cluster | all")
|
|
|
+ parser_query.add_argument('--target', '-t', help="Target cluster(s) for query to run. If target = 'all' then run query on all clusters. If not defined then default value(s) come from config (ecl-test.json by default).",
|
|
|
+ nargs='?', default='', metavar="target_cluster_list | all")
|
|
|
parser_query.add_argument('--publish', '-p', help="Publish compiled query instead of run.",
|
|
|
action='store_true')
|
|
|
parser_query.add_argument('--pq', help="Parallel query execution with threadNumber threads. (If threadNumber is '-1' on a single node system then threadNumber = numberOfLocalCore * 2 )",
|
|
@@ -224,11 +224,31 @@ class RegressMain:
|
|
|
|
|
|
self.targetClusters = []
|
|
|
if 'target' in self.args:
|
|
|
- if 'all' == self.args.target:
|
|
|
+ if '' == self.args.target:
|
|
|
+ # Target not specified, use default from config
|
|
|
+ try:
|
|
|
+ if self.args.func == 'setup':
|
|
|
+ defaultTargets = self.regress.config.defaultSetupClusters
|
|
|
+ targetSet='defaultSetupClusters'
|
|
|
+ else:
|
|
|
+ defaultTargets = self.regress.config.defaultTargetClusters
|
|
|
+ targetSet='defaultTargetClusters'
|
|
|
+
|
|
|
+ self.targetClusters = checkClusters(defaultTargets, targetSet)
|
|
|
+
|
|
|
+ except AttributeError:
|
|
|
+ # It seems there is no defaultSetupClusters|defaultTargetClusters array in the config file
|
|
|
+ # use the first one of cluster list in config file
|
|
|
+ self.targetClusters.append(self.regress.config.Clusters[0])
|
|
|
+ elif 'all' == self.args.target:
|
|
|
for cluster in self.regress.config.Clusters:
|
|
|
self.targetClusters.append(str(cluster))
|
|
|
else:
|
|
|
- if self.args.target in self.regress.config.Clusters:
|
|
|
+ if ',' in self.args.target:
|
|
|
+ # target is a list, process it
|
|
|
+ targets = self.args.target.split(',')
|
|
|
+ self.targetClusters = checkClusters(targets, 'target')
|
|
|
+ elif self.args.target in self.regress.config.Clusters:
|
|
|
self.targetClusters.append(self.args.target)
|
|
|
else:
|
|
|
logging.error("%s. Unknown target cluster:'%s'!" % (1, self.args.target))
|