[tode_st] multiline in-line tODE script in bash shell --- that runs tests

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[tode_st] multiline in-line tODE script in bash shell --- that runs tests

Dale Henrichs-3
Mariano,

I thought you might like to know that the todeIt commandLine command
reads from stdin (if no other pharo command line args) so you can
in-line multi-line tODE scripts in a bash script usiong a here document
... and get env var expansion:

   set -e  # exit on error
   # Run Seaside unit tests
   $GS_HOME/bin/devKitCommandLine todeIt seaside << EOF
   test --batch project Seaside3
   eval \`self hasPassed ifFalse: [ System logout ].\`
   EOF

This particular example runs the Seaside3 tests and instead of opening
an interactive window, simply runs the tests and prints a banner on the
transcript that looks like the following (frome a travis-ci log):

---
+/home/travis/build/GsDevKit/GsDevKit_home/bin/devKitCommandLine todeIt
seaside
tode > test --batch project Seaside3[Info]: libssl-3.2.9-32.so: loaded
[10/19/2015 02:49:37.280 UTC]
   gci login: currSession 1  rpc gem processId 8418

extra statement
extra statement
**************************************************************************************
     Results for Seaside3 tests
529 run, 529 passes, 0 expected defects, 0 failures, 0 errors, 0
unexpected passes
**************************************************************************************

[258122753 sz:3 TestResult] 529 run, 529 passes, 0 expected defects, 0
failures, 0 errors, 0 unexpected passes
tode > eval `self hasPassed ifFalse: [ System logout ].`
[20 sz:0 UndefinedObject] nil
---

`System logout` exits with a non-zero error code, so combined with the
`set -e` will cause the script to exit with a non-zero exit code if the
tests don't pass ...

Dale

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] multiline in-line tODE script in bash shell --- that runs tests

Mariano Martinez Peck
Thanks Dale, I didn't know. 

On Mon, Oct 19, 2015 at 6:14 PM, Dale Henrichs <[hidden email]> wrote:
Mariano,

I thought you might like to know that the todeIt commandLine command reads from stdin (if no other pharo command line args) so you can in-line multi-line tODE scripts in a bash script usiong a here document ... and get env var expansion:

  set -e  # exit on error
  # Run Seaside unit tests
  $GS_HOME/bin/devKitCommandLine todeIt seaside << EOF
  test --batch project Seaside3
  eval \`self hasPassed ifFalse: [ System logout ].\`
  EOF

This particular example runs the Seaside3 tests and instead of opening an interactive window, simply runs the tests and prints a banner on the transcript that looks like the following (frome a travis-ci log):

---
+/home/travis/build/GsDevKit/GsDevKit_home/bin/devKitCommandLine todeIt seaside
tode > test --batch project Seaside3[Info]: libssl-3.2.9-32.so: loaded
[10/19/2015 02:49:37.280 UTC]
  gci login: currSession 1  rpc gem processId 8418

extra statement
extra statement
**************************************************************************************
    Results for Seaside3 tests
529 run, 529 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes
**************************************************************************************

[258122753 sz:3 TestResult] 529 run, 529 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes
tode > eval `self hasPassed ifFalse: [ System logout ].`
[20 sz:0 UndefinedObject] nil
---

`System logout` exits with a non-zero error code, so combined with the `set -e` will cause the script to exit with a non-zero exit code if the tests don't pass ...

Dale

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.