|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
autotest failing on startupI have been using autotest/zentest 3.5.0 with my rails 2.0.2 and rspec. I upgraded my gems and got 3.9.3 and had a problem. I went back to 3.5.0 and it worked. I stayed there until moving to rails 2.1. I again updated my gems and got 3.10. This one had the same problem. This time I need to figure out what is wrong. Here is what I get:
/Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb:394:in `find_files_to_test': undefined method `values' for #<Array:0x18b2530> (NoMethodError) from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb:239:in `run_tests' from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb:228:in `get_to_green' from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb:208:in `run' from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb:206:in `loop' from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb:206:in `run' from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb:136:in `run' from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/bin/autotest:55 from /usr/bin/autotest:19:in `load' from /usr/bin/autotest:19 Here is the failing code: def find_files result = {} targets = self.find_directories + self.extra_files self.find_order.clear targets.each do |target| order = [] Find.find(target) do |f| Find.prune if f =~ self.exceptions next if test ?d, f next if f =~ /(swp|~|rej|orig)$/ # temporary/patch files next if f =~ /\/\.?#/ # Emacs autosave/cvs merge files filename = f.sub(/^\.\//, '') result[filename] = File.stat(filename).mtime rescue next order << filename end self.find_order.push(*order.sort) end return result # this should return as a hash but is received as an array end ## # Find the files which have been modified, update the recorded # timestamps, and use this to update the files to test. Returns true # if any file is newer than the previously recorded most recent # file. def find_files_to_test(files=find_files) # for some reason files comes in as a array needs to be hash #myfiles = {} #files.each do |key, value| #myfiles[key] = value #end #files = myfiles updated = files.select { |filename, mtime| self.last_mtime < mtime } p updated if $v unless updated.empty? or self.last_mtime.to_i == 0 updated.map { |f,m| test_files_for(f) }.flatten.uniq.each do |filename| self.files_to_test[filename] # creates key with default value end if updated.empty? then nil else files.values.max <= line 394 end end For some reason the files is an array instead of a hash. I added the little change that is commented out and it works. But that should not have to be done. Any ideas? |
|
|
Re: autotest failing on startupOn Jul 3, 2008, at 3:08 AM, Don French wrote:
> I have been using autotest/zentest 3.5.0 with my rails 2.0.2 and > rspec. I > upgraded my gems and got 3.9.3 and had a problem. I went back to > 3.5.0 and > it worked. I stayed there until moving to rails 2.1. I again updated > my gems > and got 3.10. This one had the same problem. This time I need to > figure out > what is wrong. Here is what I get: > > /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb:394:in > `find_files_to_test': undefined method `values' for #<Array:0x18b2530> > (NoMethodError) > from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: > 239:in > `run_tests' > from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: > 228:in > `get_to_green' > from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: > 208:in > `run' > from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: > 206:in > `loop' > from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: > 206:in > `run' > from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: > 136:in > `run' > from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/bin/autotest:55 > from /usr/bin/autotest:19:in `load' > from /usr/bin/autotest:19 This is all autotest so I don't think it's related to rspec. That said, what version of rspec are you using? > Here is the failing code: > > def find_files > result = {} > targets = self.find_directories + self.extra_files > self.find_order.clear > > targets.each do |target| > order = [] > Find.find(target) do |f| > Find.prune if f =~ self.exceptions > > next if test ?d, f > next if f =~ /(swp|~|rej|orig)$/ # temporary/patch files > next if f =~ /\/\.?#/ # Emacs autosave/cvs merge > files > > filename = f.sub(/^\.\//, '') > > result[filename] = File.stat(filename).mtime rescue next > order << filename > end > self.find_order.push(*order.sort) > end > return result # this should return as a hash but is received as an > array > end > > ## > # Find the files which have been modified, update the recorded > # timestamps, and use this to update the files to test. Returns true > # if any file is newer than the previously recorded most recent > # file. > > def find_files_to_test(files=find_files) > # for some reason files comes in as a array needs to be hash > #myfiles = {} > #files.each do |key, value| > #myfiles[key] = value > #end > #files = myfiles > updated = files.select { |filename, mtime| self.last_mtime < > mtime } > > p updated if $v unless updated.empty? or self.last_mtime.to_i == 0 > > updated.map { |f,m| test_files_for(f) }.flatten.uniq.each do | > filename| > self.files_to_test[filename] # creates key with default value > end > > if updated.empty? then > nil > else > files.values.max <= line 394 > end > end > > For some reason the files is an array instead of a hash. I added > the little > change that is commented out and it works. But that should not have > to be > done. > > Any ideas? > > > -- > View this message in context: http://www.nabble.com/autotest-failing-on-startup-tp18246365p18246365.html > Sent from the rspec-users mailing list archive at Nabble.com. > > _______________________________________________ > rspec-users mailing list > rspec-users@... > http://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@... http://rubyforge.org/mailman/listinfo/rspec-users |
|
|
Re: autotest failing on startupMahalo for the information. I am using version 1.1.4 of rspec.
Is there a list somewhere for autotest? Don French
|
|
|
Re: autotest failing on startupOn Jul 3, 2008, at 1:19 PM, Don French wrote:
> Mahalo for the information. I am using version 1.1.4 of rspec. > > Is there a list somewhere for autotest? No list that I know of, but there's a tracker: http://rubyforge.org/projects/zentest > > > Don French > > David Chelimsky-2 wrote: >> >> On Jul 3, 2008, at 3:08 AM, Don French wrote: >> >>> I have been using autotest/zentest 3.5.0 with my rails 2.0.2 and >>> rspec. I >>> upgraded my gems and got 3.9.3 and had a problem. I went back to >>> 3.5.0 and >>> it worked. I stayed there until moving to rails 2.1. I again updated >>> my gems >>> and got 3.10. This one had the same problem. This time I need to >>> figure out >>> what is wrong. Here is what I get: >>> >>> /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb:394:in >>> `find_files_to_test': undefined method `values' for #<Array: >>> 0x18b2530> >>> (NoMethodError) >>> from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: >>> 239:in >>> `run_tests' >>> from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: >>> 228:in >>> `get_to_green' >>> from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: >>> 208:in >>> `run' >>> from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: >>> 206:in >>> `loop' >>> from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: >>> 206:in >>> `run' >>> from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/lib/autotest.rb: >>> 136:in >>> `run' >>> from /Library/Ruby/Gems/1.8/gems/ZenTest-3.10.0/bin/autotest:55 >>> from /usr/bin/autotest:19:in `load' >>> from /usr/bin/autotest:19 >> >> This is all autotest so I don't think it's related to rspec. That >> said, what version of rspec are you using? >> >>> Here is the failing code: >>> >>> def find_files >>> result = {} >>> targets = self.find_directories + self.extra_files >>> self.find_order.clear >>> >>> targets.each do |target| >>> order = [] >>> Find.find(target) do |f| >>> Find.prune if f =~ self.exceptions >>> >>> next if test ?d, f >>> next if f =~ /(swp|~|rej|orig)$/ # temporary/patch files >>> next if f =~ /\/\.?#/ # Emacs autosave/cvs merge >>> files >>> >>> filename = f.sub(/^\.\//, '') >>> >>> result[filename] = File.stat(filename).mtime rescue next >>> order << filename >>> end >>> self.find_order.push(*order.sort) >>> end >>> return result # this should return as a hash but is received as >>> an >>> array >>> end >>> >>> ## >>> # Find the files which have been modified, update the recorded >>> # timestamps, and use this to update the files to test. Returns true >>> # if any file is newer than the previously recorded most recent >>> # file. >>> >>> def find_files_to_test(files=find_files) >>> # for some reason files comes in as a array needs to be hash >>> #myfiles = {} >>> #files.each do |key, value| >>> #myfiles[key] = value >>> #end >>> #files = myfiles >>> updated = files.select { |filename, mtime| self.last_mtime < >>> mtime } >>> >>> p updated if $v unless updated.empty? or self.last_mtime.to_i == 0 >>> >>> updated.map { |f,m| test_files_for(f) }.flatten.uniq.each do | >>> filename| >>> self.files_to_test[filename] # creates key with default value >>> end >>> >>> if updated.empty? then >>> nil >>> else >>> files.values.max <= line 394 >>> end >>> end >>> >>> For some reason the files is an array instead of a hash. I added >>> the little >>> change that is commented out and it works. But that should not have >>> to be >>> done. >>> >>> Any ideas? >>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/autotest-failing-on-startup-tp18246365p18246365.html >>> Sent from the rspec-users mailing list archive at Nabble.com. >>> >>> _______________________________________________ >>> rspec-users mailing list >>> rspec-users@... >>> http://rubyforge.org/mailman/listinfo/rspec-users >> >> _______________________________________________ >> rspec-users mailing list >> rspec-users@... >> http://rubyforge.org/mailman/listinfo/rspec-users >> >> > > -- > View this message in context: http://www.nabble.com/autotest-failing-on-startup-tp18246365p18265467.html > Sent from the rspec-users mailing list archive at Nabble.com. > > _______________________________________________ > rspec-users mailing list > rspec-users@... > http://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@... http://rubyforge.org/mailman/listinfo/rspec-users |
| Free embeddable forum powered by Nabble | Forum Help |