-
Notifications
You must be signed in to change notification settings - Fork 39
Debugging Tips
If your Checkman file isn't doing what you expect, or there's unexpected output, you might have a bash profile that is misbehaving.
(This example assumes that your current working directory is /Applications/Checkman.app/Contents/Resources
)
$ cd /Applications/Checkman.app/Contents/Resources
Checkman runs a check file like so (in this example, test.check
but it could be anything):
$ bash -lc './test.check true true' < /dev/null
The output should be a parseable JSON object:
$ bash -lc './test.check true true' < /dev/null
{"result":true,"changing":true}
But, if you get something weird, e.g.
$ bash -lc './test.check true true' < /dev/null
stty: stdin isn't a terminal
{"result":true,"changing":true}
Try running the script with the -x
option:
$ bash -xlc './test.check true true' < /dev/null
This will print every line executed by bash (and it could be very, very many lines, depending on the complexity of your environment). Search for the offending text and that should narrow down the problem.
(Taken from https://github.com/cppforlife/checkman/issues/6#issuecomment-11754986 by kmayer)