Don't print test suite information to STDERR
The formatters meant for human consumption (like
pretty and our
debug) will make use of things written to
STDOUT and write it at an appropriate place, unlike
STDERR which will only be printed to the terminal => this info doesn't end up in files when we log to them. We should eliminate all instances where we print to
STDERR, perhaps using something like:
require 'cucumber/formatter/console' def puts_info(m = "") # This trick allows us to use a module's (~private) method on a one-off basis. puts Class.new.extend(Cucumber::Formatter::Console).format_string(m, :white) end
Log useful information via Cucumber's formatters.
By writing to stderr such information is not logged to files when
using `--out`, but when writing to stdout (which `puts` does by
default) the human-readable formatters often do something smart (at
least 'pretty' and 'debug' do, which are the ones we care most about).
We only continue writing to stderr for the output of the options that
requires interaction, i.e. --retry-find and --pause-on-fail.