|
@@ -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
|
|
|
+from hpcc.util.util import checkPqParam, getVersionNumbers, checkXParam
|
|
|
from hpcc.common.error import Error
|
|
|
|
|
|
prog_version = "0.0.21"
|
|
@@ -88,15 +88,15 @@ class RegressMain:
|
|
|
try:
|
|
|
if len(eclfiles) > 1:
|
|
|
#Execute multiple ECL files like RUN to generates summary results and diff report.
|
|
|
- self.regress.bootstrap(cluster, eclfiles)
|
|
|
- if 'pq' in self.args:
|
|
|
+ self.regress.bootstrap(cluster, self.args, eclfiles)
|
|
|
+ if self.args.pq:
|
|
|
self.regress.runSuiteP(cluster, self.regress.suites[cluster])
|
|
|
else:
|
|
|
self.regress.runSuite(cluster, self.regress.suites[cluster])
|
|
|
elif len(eclfiles) == 1:
|
|
|
# Execute one ECL file on the cluster
|
|
|
for ecl in eclfiles:
|
|
|
- eclfile = ECLFile(ecl, self.regress.dir_a, self.regress.dir_ex, self.regress.dir_r, cluster)
|
|
|
+ eclfile = ECLFile(ecl, self.regress.dir_a, self.regress.dir_ex, self.regress.dir_r, cluster, self.args)
|
|
|
# Check if this query is not skip on this cluster and not part of setup
|
|
|
if (not eclfile.testSkip(cluster)['skip']) and (not eclfile.testSkip('setup')['skip'] ):
|
|
|
if not eclfile.testExclusion(cluster):
|
|
@@ -115,16 +115,16 @@ class RegressMain:
|
|
|
def setup(self):
|
|
|
if self.args.target in self.regress.config.Clusters:
|
|
|
if self.args.pq :
|
|
|
- self.regress.runSuiteP(self.args.target, self.regress.Setup(self.args.target))
|
|
|
+ self.regress.runSuiteP(self.args.target, self.regress.Setup(self.args))
|
|
|
else:
|
|
|
- self.regress.runSuite(self.args.target, self.regress.Setup(self.args.target))
|
|
|
+ self.regress.runSuite(self.args.target, self.regress.Setup(self.args))
|
|
|
else:
|
|
|
logging.error("%s. Unknown target cluster:'%s'!" % (1, self.args.target))
|
|
|
raise Error("4000")
|
|
|
|
|
|
def run(self):
|
|
|
if self.args.target in self.regress.config.Clusters:
|
|
|
- self.regress.bootstrap(self.args.target)
|
|
|
+ self.regress.bootstrap(self.args.target, self.args)
|
|
|
if self.args.pq :
|
|
|
self.regress.runSuiteP(self.args.target, self.regress.suites[self.args.target])
|
|
|
else:
|
|
@@ -208,18 +208,21 @@ class RegressMain:
|
|
|
type=checkPqParam, default = 0, metavar="threadNumber")
|
|
|
|
|
|
self.args = parser.parse_args()
|
|
|
+ try:
|
|
|
+ if self.args.X[0]== "5000":
|
|
|
+ self.regress = None
|
|
|
+ raise Error(self.args.X[0])
|
|
|
|
|
|
- # Resolve Regression Suite starting path for ecl-test.json config file
|
|
|
- # It is necessary when Regression Suite doesn't started from its home directory
|
|
|
- regressionSuiteMainDir = os.path.dirname(__file__)
|
|
|
- regressionSuiteFullPath = os.path.realpath(regressionSuiteMainDir)
|
|
|
- self.args.config = str(os.path.join(regressionSuiteFullPath, self.args.config))
|
|
|
+ # Resolve Regression Suite starting path for ecl-test.json config file
|
|
|
+ # It is necessary when Regression Suite doesn't started from its home directory
|
|
|
+ regressionSuiteMainDir = os.path.dirname(__file__)
|
|
|
+ regressionSuiteFullPath = os.path.realpath(regressionSuiteMainDir)
|
|
|
+ self.args.config = str(os.path.join(regressionSuiteFullPath, self.args.config))
|
|
|
|
|
|
- self.regress = Regression(self.args)
|
|
|
- logging.debug("Suite version:%s", versionStr)
|
|
|
- logging.debug("Suite full path:%s", regressionSuiteFullPath)
|
|
|
+ self.regress = Regression(self.args)
|
|
|
+ logging.debug("Suite version:%s", versionStr)
|
|
|
+ logging.debug("Suite full path:%s", regressionSuiteFullPath)
|
|
|
|
|
|
- try:
|
|
|
if self.args.func == 'list':
|
|
|
self.listClusters()
|
|
|
elif self.args.func == 'query':
|
|
@@ -237,7 +240,8 @@ class RegressMain:
|
|
|
except KeyboardInterrupt:
|
|
|
logging.critical("Keyboard Interrupt Caught.")
|
|
|
finally:
|
|
|
- self.regress.StopTimeoutThread()
|
|
|
+ if self.regress:
|
|
|
+ self.regress.StopTimeoutThread()
|
|
|
exit()
|
|
|
|
|
|
if __name__ == "__main__":
|