Hello list, I am having following problem while running unit tests. 1. The test file contains: require File.dirname(__FILE__) + ''/../test_helper'' class RegionTest < Test::Unit::TestCase I receive following error when running individual test (./test/unit/region_test.rb): ./test/unit/region_test.rb: line 1: syntax error near unexpected token `('' ./test/unit/region_test.rb: line 1: `require File.dirname(__FILE__) + ''/../test_helper'''' 2. If I change these lines to: require ''test_helper'' class RegionTest < ActiveSupport::TestCase I get following errors when running individual test (./test/unit/region_test.rb): ./test/unit/region_test.rb: line 1: require: command not found ./test/unit/region_test.rb: line 2: ActiveSupport::TestCase: No such file or directory ./test/unit/region_test.rb: line 8: fixtures: command not found ./test/unit/region_test.rb: line 10: def: command not found ./test/unit/region_test.rb: line 11: region: command not found ./test/unit/region_test.rb: line 12: assert: command not found ./test/unit/region_test.rb: line 13: syntax error near unexpected token `('' ./test/unit/region_test.rb: line 13: ` assert region.errors.invalid?(:name)'' The rake test runs successfully in both cases. Also, rake test:test:rcov or rake:test:units:rcov is failing with error as, Command failed with status (1): [/usr/bin/ruby "/home/carlos/mytopics/...] Rails version- 2.1.0 and 2.1.1 both are giving same problem. Any clues? Thanks, CS. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Carlos Santana wrote: Luv your jams, man!> I am having following problem while running unit tests. > > 1. The test file contains: > require File.dirname(__FILE__) + ''/../test_helper'' > class RegionTest < Test::Unit::TestCase > I receive following error when running individual test > (./test/unit/region_test.rb): > ./test/unit/region_test.rb: line 1: syntax error near unexpected token > `('' > ./test/unit/region_test.rb: line 1: `require File.dirname(__FILE__) + > ''/../test_helper''''Prepare to smack your forehead. I get that running this: $ sh test/unit/merchant_test.rb test/unit/merchant_test.rb: 1: Syntax error: "(" unexpected That''s sh, meaning bash, not Ruby. Whatever runs your tests needs an explicit ''ruby'' in it. That is the way of things.> Also, rake test:test:rcov or rake:test:units:rcov is failing with error > as, > Command failed with status (1): [/usr/bin/ruby > "/home/carlos/mytopics/...]Dunno - do you have rcov, whatever that is, installed? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thanks Phlip.. Its working if I explicitly specify ruby now. However doing rake test:units still fails and so does rake:test:test:rcov or rake test:units:rcov. The error with rake test:units is: rake aborted! Command failed with status (1): [/usr/bin/ruby -Ilib:test "/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb" "test/unit/role_test.rb" "test/unit/attachment_test.rb" "test/unit/section_test.rb" "test/unit/region_test.rb" "test/uni...] /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:974:in `sh'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:987:in `call'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:987:in `sh'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:1084:in `sh'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:1019:in `ruby'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:1084:in `ruby'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/testtask.rb:117:in `define'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:1102:in `verbose'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/testtask.rb:102:in `define'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:621:in `call'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:621:in `execute'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:616:in `each'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:616:in `execute'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:582:in `invoke_with_call_chain'' /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:575:in `invoke_with_call_chain'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:568:in `invoke'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2031:in `invoke_task'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2009:in `top_level'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2009:in `each'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2009:in `top_level'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2048:in `standard_exception_handling'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2003:in `top_level'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:1982:in `run'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:2048:in `standard_exception_handling'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake.rb:1979:in `run'' /usr/lib/ruby/gems/1.8/gems/rake-0.8.2/bin/rake:31 /usr/bin/rake:19:in `load'' /usr/bin/rake:19 However, following is successful: /usr/bin/ruby -Ilib:test "/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb" "test/unit/region_test.rb" Any clues? Phlip wrote:> Carlos Santana wrote: > > Luv your jams, man! > >> ''/../test_helper'''' > Prepare to smack your forehead. I get that running this: > > $ sh test/unit/merchant_test.rb > test/unit/merchant_test.rb: 1: Syntax error: "(" unexpected > > That''s sh, meaning bash, not Ruby. Whatever runs your tests needs an > explicit > ''ruby'' in it. That is the way of things. > >> Also, rake test:test:rcov or rake:test:units:rcov is failing with error >> as, >> Command failed with status (1): [/usr/bin/ruby >> "/home/carlos/mytopics/...] > > Dunno - do you have rcov, whatever that is, installed?-- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
In theory, you should be able to run just one test suite with ruby test/unit/role_test.rb However, the Rails 2 generator f---ed that up; no idea why. The maintainers were formerly very good at keeping the tests flexible. But... Carlos Santana wrote:> However doing rake test:units still fails and so does > rake:test:test:rcov or rake test:units:rcov.I think those rcov things are a test coverage issue. If you use TDD you should not need them.> The error with rake test:units is: > rake aborted! > Command failed with status (1): [/usr/bin/ruby -Ilib:test > "/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb" > "test/unit/role_test.rb" "test/unit/attachment_test.rb" > "test/unit/section_test.rb" "test/unit/region_test.rb" "test/uni...]Did you try rake test:units --trace ? or is this its output? Try this rake_test_loader.rb thing on each test suite.> However, following is successful: > /usr/bin/ruby -Ilib:test > "/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb" > "test/unit/region_test.rb" >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Phlip wrote:> In theory, you should be able to run just one test suite with > > ruby test/unit/role_test.rb > > However, the Rails 2 generator f---ed that up; no idea why. The > maintainers were > formerly very good at keeping the tests flexible. > > But... > > Carlos Santana wrote: > >> However doing rake test:units still fails and so does >> rake:test:test:rcov or rake test:units:rcov. > > I think those rcov things are a test coverage issue. If you use TDD you > should > not need them. > >> The error with rake test:units is: >> rake aborted! >> Command failed with status (1): [/usr/bin/ruby -Ilib:test >> "/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb" >> "test/unit/role_test.rb" "test/unit/attachment_test.rb" >> "test/unit/section_test.rb" "test/unit/region_test.rb" "test/uni...] > > Did you try rake test:units --trace ? or is this its output?Yeah, this is the output of rake test:units --trace> > Try this rake_test_loader.rb thing on each test suite.Its working if I specify ruby and also with rake_test_loader.rb (/usr/bin/ruby -Ilib:test "/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb" test/unit/user_test.rb) specified. The rake test is also working. Damn.. I really need code coverage stats.. Any help please? I will send u free Jam CD.. :) - CS. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
The test with rcov is working, however after completion tests its giving an error as, rake aborted! Command failed with status (1): [/usr/bin/ruby "/home/carlos/mytopics//vendor/plugins/rails_rcov/tasks/rails_rcov.rake" --run-rake-task=test...]. Well, previously the error message was truncated so I couldn''t see only part of it. I modified rake.rb file in sh method so as to get more info out of error message: def sh(*cmd, &block) options = (Hash === cmd.last) ? cmd.pop : {} unless block_given? show_command = cmd.join(" ") show_command = show_command[0,242] + "..." # TODO code application logic heref show_command.length > 45 block = lambda { |ok, status| ok or fail "Command failed with status (#{status.exitstatus}): [#{show_command}]" } ... ... end ---- However, there is significant difference between code coverage shown by rake test:test:rcov and rake test:units:rcov. The later one seems to be more accurate though. Any clues? - CS. Carlos Santana wrote:> Phlip wrote: >> In theory, you should be able to run just one test suite with >> >> ruby test/unit/role_test.rb >> >> However, the Rails 2 generator f---ed that up; no idea why. The >> maintainers were >> formerly very good at keeping the tests flexible. >> >> But... >> >> Carlos Santana wrote: >> >>> However doing rake test:units still fails and so does >>> rake:test:test:rcov or rake test:units:rcov. >> >> I think those rcov things are a test coverage issue. If you use TDD you >> should >> not need them. >> >>> The error with rake test:units is: >>> rake aborted! >>> Command failed with status (1): [/usr/bin/ruby -Ilib:test >>> "/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb" >>> "test/unit/role_test.rb" "test/unit/attachment_test.rb" >>> "test/unit/section_test.rb" "test/unit/region_test.rb" "test/uni...] >> >> Did you try rake test:units --trace ? or is this its output? > > Yeah, this is the output of rake test:units --trace > >> >> Try this rake_test_loader.rb thing on each test suite. > > Its working if I specify ruby and also with rake_test_loader.rb > (/usr/bin/ruby -Ilib:test > "/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb" > test/unit/user_test.rb) specified. > > The rake test is also working. Damn.. I really need code coverage > stats.. > Any help please? I will send u free Jam CD.. :) > > - > CS.-- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Carlos Santana wrote:> However, there is significant difference between code coverage shown by > rake test:test:rcov and rake test:units:rcov. The later one seems to be > more accurate though.I can''t tell from your posts if all the tests run! Coverage is an advanced topic, and it''s utterly irrelevant if you have a broken build. Do you still have any symptoms to report? I have never used rcov (and my test to code ratio is usually 2:1), so I feel compelled to recommend you get on rcov''s mailing list for specific questions about it. A thinking-out-of-the-box suggestion; can you manually identify lines of code, or branches, that are not tested? That research would help you out with rcov''s mission statement - better coverage! -- Phlip --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> The rake test is also working.Disregard the question in the other post! Sheepish grin -> {-; Why do you need coverage stats? Is a general estimate enough? And does El Goog turn up any alternate coverage tools? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---