runltp: fix shellcheck error for sending email
PATCH v2 1/1 runltp: fix shellcheck error for sending email
runltp:894:11: error: Couldn't parse this test expression. [SC1073] runltp:894:13: error: If grouping expressions inside [..], use \( ..\). [SC1026] runltp:894:15: error: Expected test to end here (don't wrap commands in []/[[]]).
Fix any mentioned problems and try again. [SC1072]
Change '-o' to '&&' according to the comment and context. Then as "$LOGFILE_NAME" is always not empty, remove below "if" statement and update indentation accordingly:
if [ -z "$HTMLFILE_NAME" ] && [ -z "$OUTPUTFILE_NAME" ] && [ -z "$LOGFILE_NAME" ]; then
##User does not have output/logs/html-output, nothing to be mailed in this situation echo "Nothing to be mailed here...."
--- runltp | 139 +++++++++++++++++++++++++++++++---------------------------------- 1 file changed, 67 insertions(+), 72 deletions(-)
runltp +67 -72
@@ -890,78 +890,73 @@ main() fi - if [ "$ALT_EMAIL_OUT" -eq 1 ] ; then ## User wants reports to be e-mailed - if [ [ ! "$HTMLFILE_NAME" ] -o [ ! "$OUTPUTFILE_NAME" ] -o [ ! "$LOGFILE_NAME" ] ] ; then - ##User does not have output/logs/html-output, nothing to be mailed in this situation - echo "Nothing to be mailed here...." - else - TAR_FILE_NAME=LTP_RUN_$version_date$DEFAULT_FILE_NAME_GENERATION_TIME.tar - if [ "$HTMLFILE_NAME" ] ; then ## HTML file Exists - if [ "$ALT_HTML_OUT" -ne 1 ] ; then ## The HTML file path is absolute and not $LTPROOT/output - mkdir -p $LTPROOT/output ## We need to create this Directory - cp $HTMLFILE_NAME $LTPROOT/output/ - fi - fi - if [ "$OUTPUTFILE_NAME" ] ; then ## Output file exists - if [ "$ALT_DIR_OUT" -ne 1 ] ; then ## The Output file path is absolute and not $LTPROOT/output - mkdir -p $LTPROOT/output ## We need to create this Directory - cp $OUTPUTFILE_NAME $LTPROOT/output/ - fi - fi - if [ "$LOGFILE_NAME" ] ; then ## Log file exists - if [ "$ALT_DIR_RES" -ne 1 ] ; then ## The Log file path is absolute and not $LTPROOT/results - mkdir -p $LTPROOT/results ## We need to create this Directory - cp $LOGFILE_NAME $LTPROOT/results/ - fi - fi - if [ -d $LTPROOT/output ] ; then - tar -cf ./$TAR_FILE_NAME $LTPROOT/output - if [ $? -eq 0 ]; then - echo "Created TAR File: ./$TAR_FILE_NAME successfully, added $LTPROOT/output" - else - echo "Cannot Create TAR File: ./$TAR_FILE_NAME for adding $LTPROOT/output" - fi - fi - if [ -d $LTPROOT/results ] ; then - tar -uf ./$TAR_FILE_NAME $LTPROOT/results - if [ $? -eq 0 ]; then - echo "Updated TAR File: ./$TAR_FILE_NAME successfully, added $LTPROOT/results" - else - echo "Cannot Update TAR File: ./$TAR_FILE_NAME for adding $LTPROOT/results" - fi - fi - if [ -e $LTPROOT/nohup.out ] ; then ## If User would have Chosen nohup to do ltprun - tar -uf ./$TAR_FILE_NAME $LTPROOT/nohup.out - if [ $? -eq 0 ]; then - echo "Updated TAR File: ./$TAR_FILE_NAME successfully, added $LTPROOT/nohup.out" - else - echo "Cannot Update TAR File: ./$TAR_FILE_NAME for adding $LTPROOT/nohup.out" - fi - fi - gzip ./$TAR_FILE_NAME ## gzip this guy - if [ $? -eq 0 ]; then - echo "Gunzipped TAR File: ./$TAR_FILE_NAME" - else - echo "Cannot Gunzip TAR File: ./$TAR_FILE_NAME" - fi - if which mutt >/dev/null 2>&1; then - echo "Starting mailing reports to: $EMAIL_TO, file: ./$TAR_FILE_NAME.gz" - mutt -a ./$TAR_FILE_NAME.gz -s "LTP Reports on $test_start_time" -- $EMAIL_TO < /dev/null - if [ $? -eq 0 ]; then - echo "Reports Successfully mailed to: $EMAIL_TO" - else - echo "Reports cannot be mailed to: $EMAIL_TO" - fi - else ## Use our Ageold mail program - echo "Starting mailing reports to: $EMAIL_TO, file: ./$TAR_FILE_NAME.gz" - uuencode ./$TAR_FILE_NAME.gz $TAR_FILE_NAME.gz | mail $EMAIL_TO -s "LTP Reports on $test_start_time" - if [ $? -eq 0 ]; then - echo "Reports Successfully mailed to: $EMAIL_TO" - else - echo "Reports cannot be mailed to: $EMAIL_TO" - fi - fi - fi + if [ "$ALT_EMAIL_OUT" -eq 1 ] ; then ## User wants reports to be e-mailed + TAR_FILE_NAME=LTP_RUN_$version_date$DEFAULT_FILE_NAME_GENERATION_TIME.tar + if [ "$HTMLFILE_NAME" ] ; then ## HTML file Exists + if [ "$ALT_HTML_OUT" -ne 1 ] ; then ## The HTML file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directory + cp $HTMLFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$OUTPUTFILE_NAME" ] ; then ## Output file exists + if [ "$ALT_DIR_OUT" -ne 1 ] ; then ## The Output file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directory + cp $OUTPUTFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$LOGFILE_NAME" ] ; then ## Log file exists + if [ "$ALT_DIR_RES" -ne 1 ] ; then ## The Log file path is absolute and not $LTPROOT/results + mkdir -p $LTPROOT/results ## We need to create this Directory + cp $LOGFILE_NAME $LTPROOT/results/ + fi + fi + if [ -d $LTPROOT/output ] ; then + tar -cf ./$TAR_FILE_NAME $LTPROOT/output + if [ $? -eq 0 ]; then + echo "Created TAR File: ./$TAR_FILE_NAME successfully, added $LTPROOT/output" + else + echo "Cannot Create TAR File: ./$TAR_FILE_NAME for adding $LTPROOT/output" + fi + fi + if [ -d $LTPROOT/results ] ; then + tar -uf ./$TAR_FILE_NAME $LTPROOT/results + if [ $? -eq 0 ]; then + echo "Updated TAR File: ./$TAR_FILE_NAME successfully, added $LTPROOT/results" + else + echo "Cannot Update TAR File: ./$TAR_FILE_NAME for adding $LTPROOT/results" + fi + fi + if [ -e $LTPROOT/nohup.out ] ; then ## If User would have Chosen nohup to do ltprun + tar -uf ./$TAR_FILE_NAME $LTPROOT/nohup.out + if [ $? -eq 0 ]; then + echo "Updated TAR File: ./$TAR_FILE_NAME successfully, added $LTPROOT/nohup.out" + else + echo "Cannot Update TAR File: ./$TAR_FILE_NAME for adding $LTPROOT/nohup.out" + fi + fi + gzip ./$TAR_FILE_NAME ## gzip this guy + if [ $? -eq 0 ]; then + echo "Gunzipped TAR File: ./$TAR_FILE_NAME" + else + echo "Cannot Gunzip TAR File: ./$TAR_FILE_NAME" + fi + if which mutt >/dev/null 2>&1; then + echo "Starting mailing reports to: $EMAIL_TO, file: ./$TAR_FILE_NAME.gz" + mutt -a ./$TAR_FILE_NAME.gz -s "LTP Reports on $test_start_time" -- $EMAIL_TO < /dev/null + if [ $? -eq 0 ]; then + echo "Reports Successfully mailed to: $EMAIL_TO" + else + echo "Reports cannot be mailed to: $EMAIL_TO" + fi + else ## Use our Ageold mail program + echo "Starting mailing reports to: $EMAIL_TO, file: ./$TAR_FILE_NAME.gz" + uuencode ./$TAR_FILE_NAME.gz $TAR_FILE_NAME.gz | mail $EMAIL_TO -s "LTP Reports on $test_start_time" + if [ $? -eq 0 ]; then + echo "Reports Successfully mailed to: $EMAIL_TO" + else + echo "Reports cannot be mailed to: $EMAIL_TO" + fi + fi fi [ ! -z "$QUIET_MODE" ] && { echo "INFO: Test end time: $(date)" ; }
Signature · 1 line
2.14.1
PATCH v2 1/1 runltp: fix shellcheck error for sending email
Hi Yixin,
Quoted 5 lines
runltp:894:11: error: Couldn't parse this test expression. [SC1073] runltp:894:13: error: If grouping expressions inside [..], use \( ..\). [SC1026] runltp:894:15: error: Expected test to end here (don't wrap commands in []/[[]]).
Fix any mentioned problems and try again. [SC1072]
Quoted 7 lines
Change '-o' to '&&' according to the comment and context. Then as "$LOGFILE_NAME" is always not empty, remove below "if" statement and update indentation accordingly:
if [ -z "$HTMLFILE_NAME" ] && [ -z "$OUTPUTFILE_NAME" ] && [ -z "$LOGFILE_NAME" ]; then
##User does not have output/logs/html-output, nothing to be mailed in this situation echo "Nothing to be mailed here...."
Just to warn you this file si deprecated as Cyril Hrubis works on new runner [1] [2] So it might be better test it than invest time into something which is going to be deleted.
Quoted 4 lines
Signed-off-by Yixin Zhang <[email protected]>--- runltp | 139 +++++++++++++++++++++++++++++++---------------------------------- 1 file changed, 67 insertions(+), 72 deletions(-)
...
Quoted 5 lines
runltp +5
-0+ if [ "$ALT_EMAIL_OUT" -eq 1 ] ; then ## User wants reports to be e-mailed + TAR_FILE_NAME=LTP_RUN_$version_date$DEFAULT_FILE_NAME_GENERATION_TIME.tar + if [ "$HTMLFILE_NAME" ] ; then ## HTML file Exists + if [ "$ALT_HTML_OUT" -ne 1 ] ; then ## The HTML file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directory
runltp main() · line 907
Quoted 10 lines
runltp +10
-0+ cp $HTMLFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$OUTPUTFILE_NAME" ] ; then ## Output file exists + if [ "$ALT_DIR_OUT" -ne 1 ] ; then ## The Output file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directory + cp $OUTPUTFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$LOGFILE_NAME" ] ; then ## Log file exists
As I wrote in comment to v1 [3], $LOGFILE_NAME is always defined, so no need to check for it. And the same is for for $OUTPUTFILE_NAME
runltp main() · line 912
Quoted 5 lines
runltp +5
-0+ if [ "$ALT_DIR_RES" -ne 1 ] ; then ## The Log file path is absolute and not $LTPROOT/results + mkdir -p $LTPROOT/results ## We need to create this Directory + cp $LOGFILE_NAME $LTPROOT/results/ + fi + fi
Kind regards,
Petr
[1] https://hackweek.suse.com/17/projects/prototype-new-ltp-upstream-runltp-script
[2] https://github.com/metan-ucw/ltp
[3] http://lists.linux.it/pipermail/ltp/2018-July/008783.html
Zhang
PATCH v2 1/1 runltp: fix shellcheck error for sending email
Thanks Petr, please ignore the patch, I'll look into the new runner.
Yixin
Quoted 56 lines · Petr Vorel
Hi Yixin,
Quoted 5 lines
runltp:894:11: error: Couldn't parse this test expression. [SC1073] runltp:894:13: error: If grouping expressions inside [..], use \( ..\). [SC1026] runltp:894:15: error: Expected test to end here (don't wrap commands in []/[[]]).
Fix any mentioned problems and try again. [SC1072]Quoted 7 lines
Change '-o' to '&&' according to the comment and context. Then as "$LOGFILE_NAME" is always not empty, remove below "if" statement and update indentation accordingly:
if [ -z "$HTMLFILE_NAME" ] && [ -z "$OUTPUTFILE_NAME" ] && [ -z "$LOGFILE_NAME" ]; then
##User does not have output/logs/html-output, nothing to be mailed in this situation echo "Nothing to be mailed here...."Just to warn you this file si deprecated as Cyril Hrubis works on new runner [1] [2] So it might be better test it than invest time into something which is going to be deleted.
Quoted 4 lines
Signed-off-by Yixin Zhang <[email protected]>--- runltp | 139 +++++++++++++++++++++++++++++++---------------------------------- 1 file changed, 67 insertions(+), 72 deletions(-)...
Quoted 5 lines
runltp +5
-0+ if [ "$ALT_EMAIL_OUT" -eq 1 ] ; then ## User wants reports to be e-mailed + TAR_FILE_NAME=LTP_RUN_$version_date$DEFAULT_FILE_NAME_GENERATION_TIME.tar + if [ "$HTMLFILE_NAME" ] ; then ## HTML file Exists + if [ "$ALT_HTML_OUT" -ne 1 ] ; then ## The HTML file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directoryrunltp main() · line 907
Quoted 10 lines
runltp +10
-0+ cp $HTMLFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$OUTPUTFILE_NAME" ] ; then ## Output file exists + if [ "$ALT_DIR_OUT" -ne 1 ] ; then ## The Output file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directory + cp $OUTPUTFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$LOGFILE_NAME" ] ; then ## Log file existsAs I wrote in comment to v1 [3], $LOGFILE_NAME is always defined, so no need to check for it. And the same is for for $OUTPUTFILE_NAME
runltp main() · line 912
Quoted 5 lines
runltp +5
-0+ if [ "$ALT_DIR_RES" -ne 1 ] ; then ## The Log file path is absolute and not $LTPROOT/results + mkdir -p $LTPROOT/results ## We need to create this Directory + cp $LOGFILE_NAME $LTPROOT/results/ + fi + fiKind regards,
Petr[1] https://hackweek.suse.com/17/projects/prototype-new-ltp-upstream-runltp-script
[2] https://github.com/metan-ucw/ltp
[3] http://lists.linux.it/pipermail/ltp/2018-July/008783.html
PATCH v2 1/1 runltp: fix shellcheck error for sending email
In reply to Petr VorelQuoted 11 lines · Petr Vorel
Hi Yixin,
Quoted 8 lines
runltp:894:11: error: Couldn't parse this test expression. [SC1073] runltp:894:13: error: If grouping expressions inside [..], use \( ..\). [SC1026] runltp:894:15: error: Expected test to end here (don't wrap commands in []/[[]]).
Fix any mentioned problems and try again. [SC1072]Change '-o' to '&&' according to the comment and context. Then as "$LOGFILE_NAME" is always not empty, remove below "if" statement and update indentation accordingly:
Quoted 7 lines
Quoted 3 lines
if [ -z "$HTMLFILE_NAME" ] && [ -z "$OUTPUTFILE_NAME" ] && [ -z "$LOGFILE_NAME" ]; then
##User does not have output/logs/html-output, nothing to be mailed in this situation echo "Nothing to be mailed here...."Just to warn you this file si deprecated as Cyril Hrubis works on new runner [1] [2] So it might be better test it than invest time into something which is going to be deleted.
It might be easier to get people using it if it were in tree. Would it be possible to have runltp and runltp-ng both in tree? Until then, it's hard to not support the only available runner.
Looking at the README at
https://github.com/metan-ucw/ltp/tree/master/tools/runltp-ng, it's hard to tell if it has feature parity with runltp, or if there are still gaps. Some example usecases would be nice too. For example, I see the list of back ends, but what if I want to run it locally (today's behavior)?
Dan
Quoted 41 lines
Quoted 5 lines
Signed-off-by Yixin Zhang <[email protected]>--- runltp | 139 +++++++++++++++++++++++++++++++---------------------------------- 1 file changed, 67 insertions(+), 72 deletions(-)...
Quoted 5 lines
runltp +5
-0+ if [ "$ALT_EMAIL_OUT" -eq 1 ] ; then ## User wants reports to be e-mailed + TAR_FILE_NAME=LTP_RUN_$version_date$DEFAULT_FILE_NAME_GENERATION_TIME.tar + if [ "$HTMLFILE_NAME" ] ; then ## HTML file Exists + if [ "$ALT_HTML_OUT" -ne 1 ] ; then ## The HTML file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directoryrunltp main() · line 907
Quoted 10 lines
runltp +10
-0+ cp $HTMLFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$OUTPUTFILE_NAME" ] ; then ## Output file exists + if [ "$ALT_DIR_OUT" -ne 1 ] ; then ## The Output file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directory + cp $OUTPUTFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$LOGFILE_NAME" ] ; then ## Log file existsAs I wrote in comment to v1 [3], $LOGFILE_NAME is always defined, so no need to check for it. And the same is for for $OUTPUTFILE_NAME
runltp main() · line 912
Quoted 5 lines
runltp +5
-0+ if [ "$ALT_DIR_RES" -ne 1 ] ; then ## The Log file path is absolute and not $LTPROOT/results + mkdir -p $LTPROOT/results ## We need to create this Directory + cp $LOGFILE_NAME $LTPROOT/results/ + fi + fiKind regards,
Petr[1] https://hackweek.suse.com/17/projects/prototype-new-ltp-upstream-runltp-script
[2] https://github.com/metan-ucw/ltp
[3] http://lists.linux.it/pipermail/ltp/2018-July/008783.htmlSignature · 1 line
Mailing list info: https://lists.linux.it/listinfo/ltp
PATCH v2 1/1 runltp: fix shellcheck error for sending email
Hi!
Quoted 3 lines
It might be easier to get people using it if it were in tree. Would it be possible to have runltp and runltp-ng both in tree? Until then, it's hard to not support the only available runner.
That is a fair point.
Quoted 6 lines
Looking at the README at
https://github.com/metan-ucw/ltp/tree/master/tools/runltp-ng, it's hard to tell if it has feature parity with runltp, or if there are still gaps. Some example usecases would be nice too. For example, I see the list of back ends, but what if I want to run it locally (today's behavior)?
And the lack of documentation and the fact that the code is not yet considered stable enough is the reason why it's not in-tree.
I guess that the test-runner can be put into a separate git repo, it does not depend on the rest of the LTP in any way, which should make it easier to get the source code, without pulling in the outdated LTP repostitory.
Also the local test execution is called shell backend, in that case the testrunner forks a shell instead of doing a ssh connection and executes the testcases locally.
Signature · 2 lines
Cyril Hrubis [email protected]
PATCH v2 1/1 runltp: fix shellcheck error for sending email
Hi,
Quoted 5 lines
Quoted 3 lines
It might be easier to get people using it if it were in tree. Would it be possible to have runltp and runltp-ng both in tree? Until then, it's hard to not support the only available runner.
That is a fair point.
You're right. I pushed the commit (no matter the state of the code, bashisms should be fixed).
Quoted 9 lines
Quoted 6 lines
Looking at the README at
https://github.com/metan-ucw/ltp/tree/master/tools/runltp-ng, it's hard to tell if it has feature parity with runltp, or if there are still gaps. Some example usecases would be nice too. For example, I see the list of back ends, but what if I want to run it locally (today's behavior)?And the lack of documentation and the fact that the code is not yet considered stable enough is the reason why it's not in-tree.
Sorry for pointing to runltp-ng, which might not be yet ready for using/testing. I meant that more like info for users, not to waste time with something which should have been either rewritten from scratch or replaced.
Quoted 8 lines
I guess that the test-runner can be put into a separate git repo, it does not depend on the rest of the LTP in any way, which should make it easier to get the source code, without pulling in the outdated LTP repostitory.
Also the local test execution is called shell backend, in that case the testrunner forks a shell instead of doing a ssh connection and executes the testcases locally.
I haven't looked into the code myself (planning to), but it's really promising :).
Kind regards,
Petr
PATCH v2 1/1 runltp: fix shellcheck error for sending email
In reply to Petr VorelHi Yixin,
Quoted 21 lines
Quoted 4 lines
Signed-off-by Yixin Zhang <[email protected]>--- runltp | 139 +++++++++++++++++++++++++++++++---------------------------------- 1 file changed, 67 insertions(+), 72 deletions(-)...
Quoted 5 lines
runltp +5
-0+ if [ "$ALT_EMAIL_OUT" -eq 1 ] ; then ## User wants reports to be e-mailed + TAR_FILE_NAME=LTP_RUN_$version_date$DEFAULT_FILE_NAME_GENERATION_TIME.tar + if [ "$HTMLFILE_NAME" ] ; then ## HTML file Exists + if [ "$ALT_HTML_OUT" -ne 1 ] ; then ## The HTML file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directoryrunltp main() · line 907
Quoted 10 lines
runltp +10
-0+ cp $HTMLFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$OUTPUTFILE_NAME" ] ; then ## Output file exists + if [ "$ALT_DIR_OUT" -ne 1 ] ; then ## The Output file path is absolute and not $LTPROOT/output + mkdir -p $LTPROOT/output ## We need to create this Directory + cp $OUTPUTFILE_NAME $LTPROOT/output/ + fi + fi + if [ "$LOGFILE_NAME" ] ; then ## Log file exists
Quoted 2 lines
As I wrote in comment to v1 [3], $LOGFILE_NAME is always defined, so no need to check for it. And the same is for for $OUTPUTFILE_NAME
Although we should omit this check, I ignored that because the state of the file (it's in maintenance mode). The main point of this commit was to fix basishm and remove dead branch.
Pushed, with commit message adjustment.
Thanks for your time and care.
Kind regards,
Petr