COMMIT Hash: rm iter. modif. tests per [ruby-core:23630] http://github.com/rubyspec/rubyspec/commit/5ddd2f0b12066360252d41989d94dd4ffa0d4135 COMMIT Array#permutation: Add tests for 1.8.7/1.9 method. http://github.com/rubyspec/rubyspec/commit/6200dde2d8080ebc9032a71028e6072f141b5e6d COMMIT StringIO#readpartial: Fixed disabled spec. http://github.com/rubyspec/rubyspec/commit/4da900ac294ded55e6c85688d53e582faab4fed2 COMMIT Array: mv combination.rb -> combination_spec.rb http://github.com/rubyspec/rubyspec/commit/e87ca0c2e14dedf93032caf371c742fa89c730c4 COMMIT Enumerable#cycle: mv cycle.rb -> cycle_spec.rb. http://github.com/rubyspec/rubyspec/commit/8d4a98905a99e37f2af1a8cd74b66bb2100bcdda COMMIT Array#product: mv product.rb -> product_spec.rb http://github.com/rubyspec/rubyspec/commit/f5b7291804bb72c043e76107a002bcdc1b5731cc COMMIT Integer(): Initial spec for the constructor. http://github.com/rubyspec/rubyspec/commit/ba2b6ee4825a4950f50c43e9da424431ceb7db54 COMMIT StringIO#readpartial - New method in 1.9. http://github.com/rubyspec/rubyspec/commit/06c110cb2cdb48f7a3b4f8701894348979d263a0 COMMIT Merge branch 'master' of git@github.com:rubyspec/rubyspec http://github.com/rubyspec/rubyspec/commit/244ccbfdc9490ff2a758f48287ad5d8ead01b4d1 COMMIT Kernel#open calls #to_open on arg. on 1.9. http://github.com/rubyspec/rubyspec/commit/d154b6d79058ed402b783b0b981a7ca1cabe08cd COMMIT Substituted __send__ to send http://github.com/rubyspec/rubyspec/commit/8b7f2295212f55b56779fd639ea3a539fda270ac COMMIT Refactoring http://github.com/rubyspec/rubyspec/commit/42f6f8d19fc544b896248f6a48c602d02e1c3e2f COMMIT Hash#key: new method for 1.9, obsoletes #index. http://github.com/rubyspec/rubyspec/commit/680b257439f40db3290e0cc1f16e463b3e7cb061 COMMIT Hash#select returns Array on 1.8; Hash on 1.9. http://github.com/rubyspec/rubyspec/commit/2339705cf57dec8903aaf850da2d5229203a489c COMMIT Hash: Guard iter. modif. test as bug: prevent hang http://github.com/rubyspec/rubyspec/commit/9d6d5df862c4eb0e7ad4f4f020db6abcc4b9eaa6 COMMIT Hash; Refactor uncompliant iter. modification test. http://github.com/rubyspec/rubyspec/commit/00dc61befc3dd0fbaf8dd35984f29a415aa54007 COMMIT Guard bug #1535 in Hash#merge!; rm its shared spec. http://github.com/rubyspec/rubyspec/commit/8b675ad4bc8305824c5239743db98c2ad5d4d8e8 COMMIT Hash: Remove extraneous #rehash test from shared/. http://github.com/rubyspec/rubyspec/commit/c26e49e1210bc0660f308ac11d9f4fa5fef7116f --- 20090530T092831 +++ 20090531T092732 @@ -1,7707 +1,7714 @@ - keeps tainted status - raises a TypeError on a frozen array +/home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/array/combination_spec.rb +Array#combination +- returns an enumerator when no block is provided +- returns self when a block is given +- yields nothing for out of bounds length and return self +- yields the excepted combinations + /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/array/compact_spec.rb Array#compact - returns a copy of array with all nil elements removed @@ -7748,6 +7755,12 @@ Array[] - is a synonym for .[] +/home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/array/cycle_spec.rb +Enumerable#cycle +- returns nil and does nothing for non positive n or empty arrays +- cycle as many times as requested +- loop indefinitely if no n + /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/array/delete_at_spec.rb Array#delete_at - removes the element at the specified index @@ -8940,6 +8953,19 @@ - properly handles recursive arrays - does not return subclass instances on Array subclasses +/home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/array/permutation_spec.rb +Array#permutation +- returns an Enumerator of all permutations when called without a block or arguments +- returns an Enumerator of permutations of given length when called with an argument but no block +- yields all permutations to the block then returns self when called with block but no arguments +- yields all permutations of given length to the block then returns self when called with block and argument +- returns the empty permutation ([[]]) when the given length is 0 +- returns the empty permutation([]) when called on an empty Array +- returns no permutations when the given length has no permutations +- handles duplicate elements correctly +- handles nested Arrays correctly +- truncates Float arguments + /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/array/plus_spec.rb Array#+ - concatenates two arrays @@ -8972,6 +8998,7 @@ - keeps taint status - raises a TypeError on a frozen array +/home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/array/product_spec.rb /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/array/push_spec.rb Array#push - appends the arguments to the array @@ -11784,14 +11811,12 @@ Hash#each_key - calls block once for each key, passing key - processes keys in the same order as keys() -- does not affect yielded items by removing the current element - returns an Enumerator if called on a non-empty hash without a block - returns an Enumerator if called on an empty hash without a block /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/hash/each_pair_spec.rb Hash#each_pair - processes all pairs, yielding two arguments: key and value -- does not affect yielded items by removing the current element - returns an Enumerator if called on a non-empty hash without a block - returns an Enumerator if called on an empty hash without a block @@ -11800,7 +11825,6 @@ - yields one argument: [key, value] - calls block once for each entry, passing key, value - uses the same order as keys() and values() -- does not affect yielded items by removing the current element - returns an Enumerator if called on a non-empty hash without a block - returns an Enumerator if called on an empty hash without a block @@ -11808,7 +11832,6 @@ Hash#each_value - calls block once for each key, passing value - processes values in the same order as values() -- does not affect yielded items by removing the current element - returns an Enumerator if called on a non-empty hash without a block - returns an Enumerator if called on an empty hash without a block @@ -11988,7 +12011,6 @@ - does not call to_hash on hash subclasses - returns subclass instance for subclasses - processes entries with same order as each() -- does not affect yielded items by removing the current element Hash#merge! - adds the entries from other, overwriting duplicate keys. Returns self @@ -11997,7 +12019,7 @@ - does not call to_hash on hash subclasses - processes entries with same order as merge() - raises a TypeError if called on a non-empty, frozen instance -- does not affect yielded items by removing the current element +- shouldn't raise spurious RuntimeErrors (FAILED - ) /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/hash/new_spec.rb Hash.new @@ -12041,11 +12063,10 @@ /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/hash/select_spec.rb Hash#select - yields two arguments: key and value -- returns an array of entries for which block is true +- returns an Array of entries for which block is true - processes entries with the same order as reject - returns an Enumerator when called on a non-empty hash without a block - returns an Enumerator when called on an empty hash without a block -- does not affect yielded items by removing the current element /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/hash/shift_spec.rb Hash#shift @@ -12092,7 +12113,6 @@ - does not call to_hash on hash subclasses - processes entries with same order as merge() - raises a TypeError if called on a non-empty, frozen instance -- does not affect yielded items by removing the current element /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/hash/value_spec.rb Hash#value? @@ -12117,6 +12137,17 @@ - returns a new String for each call - raises a RangeError if self is out of the ASCII character range +/home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/integer/constructor_spec.rb +Integer() +- returns a Fixnum or Bignum object +- calls to_i on a non-numeric argument +- truncates Floats +- calls to_i on Rationals +- passes through Bignums as-is +- passes through Fixnums as-is +- returns 0 when passed nil +- raises a FloatDomainError when passed NaN + /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/integer/downto_spec.rb Integer#downto [stop] when self and stop are Fixnums - does not yield when stop is greater than self @@ -12534,8 +12565,7 @@ /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/io/pos_spec.rb IO#pos -- gets the offsetheh - +- gets the offset - raises IOError on closed stream - resets #eof? @@ -17092,93 +17122,93 @@ /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/symbol/inspect_spec.rb Symbol#inspect +- returns self as a symbol literal for :"@" - returns self as a symbol literal for :[] - returns self as a symbol literal for :$= - returns self as a symbol literal for :$$ - returns self as a symbol literal for :/ - returns self as a symbol literal for :$. -- returns self as a symbol literal for :":" - returns self as a symbol literal for :".." - returns self as a symbol literal for :$~ +- returns self as a symbol literal for :"'" +- returns self as a symbol literal for :"foo " +- returns self as a symbol literal for :"@@ruby?" - returns self as a symbol literal for :=~ -- returns self as a symbol literal for :$ruby - returns self as a symbol literal for :$< - returns self as a symbol literal for :> - returns self as a symbol literal for :"9" -- returns self as a symbol literal for :"\"\"" -- returns self as a symbol literal for :@@ruby +- returns self as a symbol literal for :"||" +- returns self as a symbol literal for :"$ruby!" - returns self as a symbol literal for :< -- returns self as a symbol literal for :"@ruby?" -- returns self as a symbol literal for :"?" -- returns self as a symbol literal for :"=" +- returns self as a symbol literal for :";" - returns self as a symbol literal for :$\ - returns self as a symbol literal for :>= -- returns self as a symbol literal for :fred! - returns self as a symbol literal for :$+ - returns self as a symbol literal for :` -- returns self as a symbol literal for :"$" -- returns self as a symbol literal for :"." - returns self as a symbol literal for :^ +- returns self as a symbol literal for :"&&" - returns self as a symbol literal for :% - returns self as a symbol literal for :=== -- returns self as a symbol literal for :" " +- returns self as a symbol literal for :"*foo" - returns self as a symbol literal for :$: +- returns self as a symbol literal for :"@@ruby!" - returns self as a symbol literal for :$* - returns self as a symbol literal for :<=> -- returns self as a symbol literal for :"\"" - returns self as a symbol literal for :"++" - returns self as a symbol literal for :$> -- returns self as a symbol literal for :"@ruby!" - returns self as a symbol literal for :"!" - returns self as a symbol literal for :-@ -- returns self as a symbol literal for :"=>" -- returns self as a symbol literal for :@ruby +- returns self as a symbol literal for :":" - returns self as a symbol literal for :>> - returns self as a symbol literal for :~ -- returns self as a symbol literal for :fred? - returns self as a symbol literal for :$' -- returns self as a symbol literal for :$1234 -- returns self as a symbol literal for :"," -- returns self as a symbol literal for :fred +- returns self as a symbol literal for :$ruby - returns self as a symbol literal for :[]= - returns self as a symbol literal for :| -- returns self as a symbol literal for :" foo" +- returns self as a symbol literal for :"\"\"" - returns self as a symbol literal for :"..." +- returns self as a symbol literal for :@@ruby - returns self as a symbol literal for :$; -- returns self as a symbol literal for :"$-ww" +- returns self as a symbol literal for :"@ruby?" - returns self as a symbol literal for :"foo bar" -- returns self as a symbol literal for :"|||" -- returns self as a symbol literal for :"$ruby?" +- returns self as a symbol literal for :"?" +- returns self as a symbol literal for :"=" +- returns self as a symbol literal for :fred! +- returns self as a symbol literal for :"$" - returns self as a symbol literal for :$! - returns self as a symbol literal for :"!~" -- returns self as a symbol literal for :"@" +- returns self as a symbol literal for :"." - returns self as a symbol literal for :* - returns self as a symbol literal for :$/ - returns self as a symbol literal for :$` +- returns self as a symbol literal for :" " - returns self as a symbol literal for :<= -- returns self as a symbol literal for :"'" - returns self as a symbol literal for :$" -- returns self as a symbol literal for :"foo " -- returns self as a symbol literal for :"@@ruby?" +- returns self as a symbol literal for :"\"" - returns self as a symbol literal for :& - returns self as a symbol literal for :"!=" -- returns self as a symbol literal for :"||" -- returns self as a symbol literal for :"$ruby!" +- returns self as a symbol literal for :"@ruby!" +- returns self as a symbol literal for :"=>" - returns self as a symbol literal for :$@ - returns self as a symbol literal for :== - returns self as a symbol literal for :$? +- returns self as a symbol literal for :fred? +- returns self as a symbol literal for :@ruby - returns self as a symbol literal for :$-w - returns self as a symbol literal for :$_ -- returns self as a symbol literal for :";" +- returns self as a symbol literal for :$1234 - returns self as a symbol literal for :$& +- returns self as a symbol literal for :"," +- returns self as a symbol literal for :fred - returns self as a symbol literal for :$, - returns self as a symbol literal for :** +- returns self as a symbol literal for :" foo" - returns self as a symbol literal for :"::" - returns self as a symbol literal for :+@ -- returns self as a symbol literal for :"&&" -- returns self as a symbol literal for :"*foo" -- returns self as a symbol literal for :"@@ruby!" +- returns self as a symbol literal for :"$-ww" +- returns self as a symbol literal for :"|||" - returns self as a symbol literal for :<< +- returns self as a symbol literal for :"$ruby?" /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/symbol/to_i_spec.rb Symbol#to_i @@ -25468,6 +25498,7 @@ StringIO#readlines when in write-only mode - raises an IOError +/home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/library/stringio/readpartial_spec.rb /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/library/stringio/reopen_spec.rb StringIO#reopen when passed [Object, Integer] - reopens self with the passed Object in the passed mode @@ -26627,7 +26658,8 @@ ) The throw keyword raises a name error if outside of scope of a matching catch FAILED -Expected NameError but got ThreadError (uncaught throw `test' in thread 0xXXXXXX) +Expected NameError +but got ThreadError (uncaught throw `test' in thread 0xXXXXXXX) /home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/expectations/expectations.rb:15:in `fail_with' /home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/expectations/should.rb:7:in `should' /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/language/throw_spec.rb:57 @@ -26866,6 +26898,37 @@ /home/chkbuild/tmp/build/ruby-1.8-pth//mspec/bin/mspec-run:8 ) +Hash#merge! shouldn't raise spurious RuntimeErrors FAILED +Expected to not get RuntimeError +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/expectations/expectations.rb:15:in `fail_with' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/expectations/should.rb:19:in `should_not' +/home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/hash/merge_spec.rb:69 +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:67:in `instance_eval' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:67:in `protect' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/context.rb:135:in `protect' +/home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/hash/shared/update.rb:39:in `all?' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/context.rb:135:in `each' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/context.rb:135:in `all?' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/context.rb:135:in `protect' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/context.rb:163:in `process' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/context.rb:155:in `each' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/context.rb:155:in `process' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:36:in `describe' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/object.rb:11:in `describe' +/home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/hash/merge_spec.rb:58 +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:55:in `load' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:55:in `files' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:67:in `instance_eval' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:67:in `protect' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:55:in `files' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:49:in `each' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:49:in `files' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/runner/mspec.rb:41:in `process' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/commands/mspec-run.rb:87:in `run' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/utils/script.rb:217:in `main' +/home/chkbuild/tmp/build/ruby-1.8-pth//mspec/bin/mspec-run:8 + + ) Kernel.__method__ returns the current method, even when aliased FAILED Expected :send to equal :f @@ -27110,7 +27173,8 @@ ) Kernel.throw raises NameError if there is no catch block for the symbol FAILED -Expected NameError but got ThreadError (uncaught throw `blah' in thread 0xXXXXXX) +Expected NameError +but got ThreadError (uncaught throw `blah' in thread 0xXXXXXXX) /home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/expectations/expectations.rb:15:in `fail_with' /home/chkbuild/tmp/build/ruby-1.8-pth//mspec/lib/mspec/expectations/should.rb:7:in `should' /home/chkbuild/tmp/build/ruby-1.8-pth//rubyspec/core/kernel/throw_spec.rb:45 @@ -28068,7 +28132,7 @@ Finished in seconds -2582 files, 10810 examples, 35944 expectations, 30 failures, 14 errors +2588 files, 10828 examples, 35989 expectations, 31 failures, 14 errors exit 1 failed(rubyspec) == end #