Random question, how is a regression like a 'no method error' possible? Don't the creators of these languages write extremely exhaustive tests? I don't know much about this, just wondering...
It isn't possible to write exhaustive tests - there are an infinite number of possible program states. Well, finite bound by the width of your pointer type, which doesn't help much.
Ruby 2.3.3 released
11–20 of 23 posts
Re: Ruby 2.3.3 released
#12Earlier quoted context omitted.
It isn't possible to write exhaustive tests - there are an infinite number of possible program states. Well, finite bound by the width of your pointer type, which doesn't help much.
Can't some programs be proven to be partially or totally correct?
And even if we did, correct according to what? There is no mathematical model of the Ruby language to prove it equivalent to (there are a few semantic models for Ruby but they are very limited).
And even if we had that, the computational resources needed likely are not available.
Re: Ruby 2.3.3 released
#13Random question, how is a regression like a 'no method error' possible? Don't the creators of these languages write extremely exhaustive tests? I don't know much about this, just wondering...
What I am curious to know is _what_ does ruby use besides rubyspec? Do they run tests against the top 100, 1000, etc rubygems before releasing? I know other communities like Rust (and even Perl) do this kind of regression testing. While this won't catch all possible regressions it seems like a reasonable starting point to uncover issues before a release.
Re: Ruby 2.3.3 released
#14Random question, how is a regression like a 'no method error' possible? Don't the creators of these languages write extremely exhaustive tests? I don't know much about this, just wondering...
There is rubyspec, but it doesn't cover all possible paths, just the ones that the developers deemed important enough to test. What I am curious to know is _what_ does ruby use besides rubyspec? Do they run tests against the top 100, 1000, etc rubygems before releasing? I know other communities like Rust (and even Perl) do this kind of regression testing. While this won't catch all possible regressions it seems like…
I don't believe they do. They only recently started testing against ruby spec.
I work on an alternative implementation, and we are planning to test against literally all the gems in RubyGems ourselves. We test the top 100 or so at the moment.
Re: Ruby 2.3.3 released
#15Random question, how is a regression like a 'no method error' possible? Don't the creators of these languages write extremely exhaustive tests? I don't know much about this, just wondering...
There is rubyspec, but it doesn't cover all possible paths, just the ones that the developers deemed important enough to test. What I am curious to know is _what_ does ruby use besides rubyspec? Do they run tests against the top 100, 1000, etc rubygems before releasing? I know other communities like Rust (and even Perl) do this kind of regression testing. While this won't catch all possible regressions it seems like…
Re: Ruby 2.3.3 released
#16Is ruby dead? I would have expected more comments...
There's only one actual change, https://github.com/ruby/ruby/commit/a5d754acb8cfd6d3ac9f26b1...
Source: https://github.com/ruby/ruby/compare/v2_3_2...v2_3_3#diff-02...
Re: Ruby 2.3.3 released
#17Random question, how is a regression like a 'no method error' possible? Don't the creators of these languages write extremely exhaustive tests? I don't know much about this, just wondering...
There is rubyspec, but it doesn't cover all possible paths, just the ones that the developers deemed important enough to test. What I am curious to know is _what_ does ruby use besides rubyspec? Do they run tests against the top 100, 1000, etc rubygems before releasing? I know other communities like Rust (and even Perl) do this kind of regression testing. While this won't catch all possible regressions it seems like…
This might have changed in the meantime, dunno.
https://github.com/rubinius/rubinius-archive/blob/cf54187d42...
Re: Ruby 2.3.3 released
#18Earlier quoted context omitted.
There is rubyspec, but it doesn't cover all possible paths, just the ones that the developers deemed important enough to test. What I am curious to know is _what_ does ruby use besides rubyspec? Do they run tests against the top 100, 1000, etc rubygems before releasing? I know other communities like Rust (and even Perl) do this kind of regression testing. While this won't catch all possible regressions it seems like…
ruby has always had its own set of tests, rubyspec is a very recent development.
Worse, Wikipedia claims
"The RubySpec project was discontinued at the end of 2014 due to a lack of uptake from mainstream ruby developers"
Re: Ruby 2.3.3 released
#19Re: Ruby 2.3.3 released
#20Earlier quoted context omitted.
ruby has always had its own set of tests, rubyspec is a very recent development.
Very recent? 2006, according to Wikipedia ( https://en.wikipedia.org/wiki/RubySpec ). That makes it about half the age of ruby. Worse, Wikipedia claims "The RubySpec project was discontinued at the end of 2014 due to a lack of uptake from mainstream ruby developers"
The project has been revived and adopted officially by MRI only in 2015. http://eregon.github.io/rubyspec/2015/07/29/rubyspec-is-rebo...