Browse Source

HPCC-24395 Add verbose option to ecl-test so that it logs what commands it's running

Enable '--createEclRunArg' in Regression Test Engine for setup, run and query mode.

If it is enabled then the result log will be somethig similar to this
(each test log block has an extra '[Action] <nnn.> Cmd: ecl run ...' line ):

  [Action] Suite: hthor (setup)
  [Action] Queries: 11
  [Action]   1. Test: roxie_echo.ecl
  [Action]   1. Cmd: ecl run -fpickBestEngine=false --target=hthor --cluster=hthor --port=8010 --exception-level=warning --noroot --name="roxie_echo" -ffailOnLeaks -fdisableLocalOptimizations  -XdestClusterName=myhthor -XdropzonePath=/var/lib/HPCCSystems/mydropzone/ -XespFileSprayUrl=http://192.168.1.56:8010/FileSpray -XespIp=192.168.1.56 -XOriginalTextFilesIp=192.168.1.56 -XdropzoneIp=192.168.1.56 -XOriginalTextFilesEclPath=opt::^H^P^C^C^Systems::testing::regress::download -XOriginalTextFilesOsPath=/opt/HPCCSystems/testing/regress --server=192.168.1.56 --username=avamos --password=Tragya2018#Osz --port=8010  /home/ati/MyPython/RegressionSuite/ecl/setup/roxie_echo.ecl
  [Pass]   1. Pass roxie_echo.ecl - W20200713-163234 (2 sec)
  [Pass]   1. URL http://192.168.1.56:8010/?Widget=WUDetailsWidget&Wuid=W20200713-163234
  ...

Tested manually

Signed-off-by: AttilaVamos <attila.vamos@gmail.com>
AttilaVamos 4 năm trước cách đây
mục cha
commit
6e057b4677
2 tập tin đã thay đổi với 5 bổ sung3 xóa
  1. 2 2
      testing/regress/ecl-test
  2. 3 1
      testing/regress/hpcc/regression/regress.py

+ 2 - 2
testing/regress/ecl-test

@@ -228,6 +228,8 @@ class RegressMain:
                                 nargs=1,  default = ['none'],   metavar="filespec[,filespec,...]")
         executionParser.add_argument('--generateStackTrace', help="Generate stack trace of Thor components before kill a timeouted test case. Trace files are stored into Regression Engine Log directory (see 'LogDir' in ecl-test.json file)",
                                 action = 'store_true')
+        executionParser.add_argument('--createEclRunArg', help="Generate ECL tool command line.",
+                                action='store_true')
 
 
         parser = argparse.ArgumentParser(prog=prog, description=description,  parents=[helperParser, commonParser,  executionParser])
@@ -244,8 +246,6 @@ class RegressMain:
                                  action='store_true')
         parser_list.add_argument('--target', '-t', help="Provide target cluster(s) to list test cases. If target = 'all' then list test cases 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_list.add_argument('--createEclRunArg', help="Generate ECL tool command line.",
-                                action='store_true')
 
 
         parser_setup = subparsers.add_parser('setup', help='Setup help',  parents=[helperParser, commonParser, executionParser])

+ 3 - 1
testing/regress/hpcc/regression/regress.py

@@ -31,7 +31,7 @@ from ..regression.suite import Suite
 from ..util.ecl.cc import ECLCC
 from ..util.ecl.command import ECLcmd
 from ..util.expandcheck import ExpandCheck
-from ..util.util import getConfig, queryWuid,  abortWorkunit, getVersionNumbers, createZAP
+from ..util.util import getConfig, queryWuid,  abortWorkunit, getVersionNumbers, createZAP, getEclRunArgs
 
 
 class Regression:
@@ -503,6 +503,8 @@ class Regression:
 
         logging.debug("runQuery(engine: '%s', cluster: '%s', query: '%s', cnt: %d, publish: %s, thread id: %d" % ( engine, cluster, query.ecl, cnt, publish,  th))
         logging.warn("%3d. Test: %s" % (cnt, query.getBaseEclRealName()),  extra={'taskId':cnt})
+        if 'createEclRunArg' in self.args and self.args.createEclRunArg:
+            logging.warn("%3d. Cmd: %s %s/%s" % (cnt, getEclRunArgs(query, engine, cluster), query.dir_ec, query.getBaseEcl())),
 
         self.loggermutex.release()
         res = 0