aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2017-03-12 13:02:51 -0400
committerChristopher Vogt <oss.nsp@cvogt.org>2017-03-12 15:29:47 -0400
commit8567e2557467f838e371fd8e6b267d5a417ef78e (patch)
tree869e53308505bfe80c987221c4d7c967280ab7c5 /test
parentf35f2e0dbabb68511166b647a5018d7f57adcd9a (diff)
downloadcbt-8567e2557467f838e371fd8e6b267d5a417ef78e.tar.gz
cbt-8567e2557467f838e371fd8e6b267d5a417ef78e.tar.bz2
cbt-8567e2557467f838e371fd8e6b267d5a417ef78e.zip
force successful shellcheck linting for launcher script
Diffstat (limited to 'test')
-rw-r--r--test/test.scala12
1 files changed, 11 insertions, 1 deletions
diff --git a/test/test.scala b/test/test.scala
index 4d1d7fb..bbecd94 100644
--- a/test/test.scala
+++ b/test/test.scala
@@ -14,17 +14,27 @@ object Main{
implicit val logger: Logger = new Logger(args.enabledLoggers, System.currentTimeMillis)
val lib = new Lib(logger)
val cbtHome = new File(System.getenv("CBT_HOME"))
-
val slow = (
System.getenv("CIRCLECI") != null // enable only on circle
|| args.args.contains("slow")
)
val compat = !args.args.contains("no-compat")
+ val shellcheck = !args.args.contains("no-shellcheck")
if(!slow) System.err.println( "Skipping slow tests" )
if(!compat) System.err.println( "Skipping cbt version compatibility tests" )
+ if(shellcheck){
+ val pb = new ProcessBuilder( "/usr/bin/env", "shellcheck", (cbtHome / "cbt").string )
+ val p = pb.start
+ val out = new java.io.InputStreamReader(p.getInputStream)
+ val errors = Iterator.continually(out.read).takeWhile(_ != -1).map(_.toChar).mkString
+ if( p.waitFor != 0 ){
+ throw new Exception("Linting error in ./cbt bash launcher script:\n" + errors)
+ }
+ } else System.err.println( "Skipping shellcheck" )
+
var successes = 0
var failures = 0
def assertException[T:scala.reflect.ClassTag](msg: String = "")(code: => Unit)(implicit logger: Logger) = {