Running rake silently?

Hi, may be I'm a bit off topic here but... Is there a way to run rake
silently ? --silent, -s, --quiet don't have any effect and when I use
rake for testing purpose the output is polluted with unecessary
informations.

I only need the results of the tests, and of course the file/line in
case of error or test failure

eg.

[chris@aboulafia login_engine]$ rake -s
/usr/bin/ruby -Ilib:lib
"/usr/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake/rake_test_loader.rb"
"test/unit/login_engine_test.rb"
-- create_table("accounts", {:force=>true})
   -> 0.0590s
-- create_table("articles", {:force=>true})
   -> 0.0084s
-- create_table("categories", {:force=>true})
   -> 0.0133s
-- create_table("comments", {:force=>true})
   -> 0.0107s
-- create_table("contacts", {:force=>true})
   -> 0.0079s
-- create_table("engine_schema_info", {:id=>false, :force=>true})
   -> 0.0305s
-- create_table("images", {:force=>true})
   -> 0.0091s
-- initialize_schema_information()
   -> 0.0020s
-- columns("schema_info")
   -> 0.0011s
Loaded suite
/usr/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake/rake_test_loader
Started
..
Finished in 0.026826 seconds.

2 tests, 6 assertions, 0 failures, 0 errors

Thanks

···

--
Posted via http://www.ruby-forum.com/.

Nuno wrote:

Hi, may be I'm a bit off topic here but... Is there a way to run rake
silently ? --silent, -s, --quiet don't have any effect and when I use
rake for testing purpose the output is polluted with unecessary
informations.

I only need the results of the tests, and of course the file/line in
case of error or test failure

Most of the output is generated by software other than rake, so is
outside the control of rake itself.

[chris@aboulafia login_engine]$ rake -s
/usr/bin/ruby -Ilib:lib
"/usr/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake/rake_test_loader.rb"
"test/unit/login_engine_test.rb"

The above three lines (probably only one line prior to pasting) can be
silenced by setting verbose to false in the test task. E.g.

  Rake:TestTask.new("whatever") do |t|
    t.verbose = false # ADD THIS LINE
    ... # whatever else you have
  end

-- create_table("accounts", {:force=>true})
   -> 0.0590s
-- create_table("articles", {:force=>true})
   -> 0.0084s
-- create_table("categories", {:force=>true})
   -> 0.0133s
-- create_table("comments", {:force=>true})
   -> 0.0107s
-- create_table("contacts", {:force=>true})
   -> 0.0079s
-- create_table("engine_schema_info", {:id=>false, :force=>true})
   -> 0.0305s
-- create_table("images", {:force=>true})
   -> 0.0091s
-- initialize_schema_information()
   -> 0.0020s
-- columns("schema_info")
   -> 0.0011s

These lines looke like they are being created by whatever it is that you
are testing. Maybe some setup code somewhere.

Loaded suite
/usr/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake/rake_test_loader
Started
..
Finished in 0.026826 seconds.

2 tests, 6 assertions, 0 failures, 0 errors

The above lines are generated by the test suite software itself. There
are several options in Test::Unit to control this. And you can always
write your own runner to display whatever you wish.

Hope that helped.

···

--
-- Jim Weirich

--
Posted via http://www.ruby-forum.com/\.

Check out the 'Controlling Verbosity' section on this page:
http://api.rubyonrails.com/classes/ActiveRecord/Migration.html

Basically you want to set this in your environment.rb

- james

···

On 4/6/06, Jim Weirich <jim@weirichhouse.org> wrote:

Nuno wrote:
> Hi, may be I'm a bit off topic here but... Is there a way to run rake
> silently ? --silent, -s, --quiet don't have any effect and when I use
> rake for testing purpose the output is polluted with unecessary
> informations.
>
> I only need the results of the tests, and of course the file/line in
> case of error or test failure

Most of the output is generated by software other than rake, so is
outside the control of rake itself.

> [chris@aboulafia login_engine]$ rake -s
> /usr/bin/ruby -Ilib:lib
> "/usr/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake/rake_test_loader.rb"
> "test/unit/login_engine_test.rb"

The above three lines (probably only one line prior to pasting) can be
silenced by setting verbose to false in the test task. E.g.

  Rake:TestTask.new("whatever") do |t|
    t.verbose = false # ADD THIS LINE
    ... # whatever else you have
  end

> -- create_table("accounts", {:force=>true})
> -> 0.0590s
> -- create_table("articles", {:force=>true})
> -> 0.0084s
> -- create_table("categories", {:force=>true})
> -> 0.0133s
> -- create_table("comments", {:force=>true})
> -> 0.0107s
> -- create_table("contacts", {:force=>true})
> -> 0.0079s
> -- create_table("engine_schema_info", {:id=>false, :force=>true})
> -> 0.0305s
> -- create_table("images", {:force=>true})
> -> 0.0091s
> -- initialize_schema_information()
> -> 0.0020s
> -- columns("schema_info")
> -> 0.0011s

These lines looke like they are being created by whatever it is that you
are testing. Maybe some setup code somewhere.

> Loaded suite
> /usr/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake/rake_test_loader
> Started
> ..
> Finished in 0.026826 seconds.
>
> 2 tests, 6 assertions, 0 failures, 0 errors

The above lines are generated by the test suite software itself. There
are several options in Test::Unit to control this. And you can always
write your own runner to display whatever you wish.

Hope that helped.

--
-- Jim Weirich

--
Posted via http://www.ruby-forum.com/\.

--
* J *
  ~

This is output from the `rake migrate` task in the latest version of Rails, just FYI.

James Edward Gray II

···

On Apr 6, 2006, at 7:14 AM, Jim Weirich wrote:

-- create_table("accounts", {:force=>true})
   -> 0.0590s
-- create_table("articles", {:force=>true})
   -> 0.0084s
-- create_table("categories", {:force=>true})
   -> 0.0133s
-- create_table("comments", {:force=>true})
   -> 0.0107s
-- create_table("contacts", {:force=>true})
   -> 0.0079s
-- create_table("engine_schema_info", {:id=>false, :force=>true})
   -> 0.0305s
-- create_table("images", {:force=>true})
   -> 0.0091s
-- initialize_schema_information()
   -> 0.0020s
-- columns("schema_info")
   -> 0.0011s

These lines looke like they are being created by whatever it is that you
are testing. Maybe some setup code somewhere.

James Gray wrote:

···

On Apr 6, 2006, at 7:14 AM, Jim Weirich wrote:

-- create_table("engine_schema_info", {:id=>false, :force=>true})

are testing. Maybe some setup code somewhere.

This is output from the `rake migrate` task in the latest version of
Rails, just FYI.

James Edward Gray II

Thanks for your answers ! rake outputs produced by rails rakefiles are
still verbose but at least I understand why :wink:

--
Posted via http://www.ruby-forum.com/\.