-
Notifications
You must be signed in to change notification settings - Fork 602
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure the tests for these C-exts pass on Rubinius #2006
Comments
I'll work on this this morning. |
To be explicit, since I haven't helped before:
Am I understanding correctly? Assuming I am I will start at the bottom of this list assuming jc00ke is starting from the top |
@jc00ke sweet, thanks! @kungfumike that sounds good. A couple notes, use RBXOPT=-X18 or -X19 in case tests subprocess. And you can use rbx -G -S rake to load the Gemfile before running rake, it's a shortcut for bundle exec which would require rbx -S bundle exec rbx -S rake... |
Nokogiri passes in 1.8 mode on Travis. I'm having some problems updating my rbx to latest. Once I get that sorted out I'll test in 1.9 mode & report. UPDATE Fails in 1.9 mode: https://gist.github.com/4061584 |
@brixen I'd add |
I just sent this to the Unicorn mailing list, but if one of you knows of an obvious and good resource, I am open to whatever help I can get to get ramped up on this: Hello, My name is Mike and I helping Brain (@brixen) with Rubinius testing (or at least trying very valiantly). At them moment I am having trouble getting my environment set up in such a way, as to run the: make -j4 test command. I am having issues resolving my environment and load paths against what the unicorn project is looking for. I was curious if there were any examples of environments or setups for testing Unicorn. I have read the README files located in the project, and attempted setting my "RUBYLIB" variable in the local.mk . If someone could get me started/pointed in the right direction, I would really like to help out with Rubinius, and maybe even Unicorn in the future. Here is a gist of my output: https://gist.github.com/4062317 System is a Debian Wheezy X86_64 uname -a string: Thank you very much for any and all efforts to get me going, |
@mrb have you been able to run the If I just use |
Set up travis on eventmachine (https://travis-ci.org/razielgn/eventmachine) This is the code that causes the hang: def test_fork_safe
return unless cpid = fork { exit! } rescue false
read, write = IO.pipe
EM.run do
cpid = fork do
write.puts "forked"
EM.run do
EM.next_tick do
write.puts "EM ran"
exit!
end
end
end
EM.stop
end
Process.waitall
assert_equal "forked\n", read.readline
assert_equal "EM ran\n", read.readline
ensure
read.close rescue nil
write.close rescue nil
end |
@jc00ke It's been a while since I've tried, but yeah, last time was a total nightmare :( |
Tested also with EM locally, as @razielgn says it hangs indefinitely in 1.8 and 1.9 mode |
For the sqlite3-ruby 1.9 mode tests: f75cda9 |
Almost got |
Still working on Unicorn, 1.8.7 right now: https://gist.github.com/4070179 Should I be using master head instead of the 2.0rc1 ? |
And with RBXOPT -X19 it appears to hang indefinitely. https://gist.github.com/4070223 @brixen Should I be testing this against 2.0rc1 or head? or just anything to make it pass? Going to make Unicorn as a fail for now unless I am missing something |
@kungfumike nah, don't worry about Travis. Thanks for investigating unicorn, I'll add your findings to the table above. |
@kungfumike test everything against master HEAD. |
My PRs to thin (macournoyer/thin#147 and macournoyer/thin#148) have been accepted, just waiting on Travis to pick thin up to be tested. |
I think another worthy native gem to test is https://github.com/mongodb/mongo-ruby-driver, both 18 and 19 mode yield the same error on Time#zone: https://gist.github.com/4072543. # rbx-head
BSON::ObjectId.new.generation_time.zone # => "GMT"
# mri-1.9.3-p286
BSON::ObjectId.new.generation_time.zone # => "UTC" |
@razielgn If you could extract that Time issue further that would be great! |
capybara-webkit is failing on Rubinius again. It seems that IO#copy_stream doesn't work. See https://travis-ci.org/mhoran/capybara-webkit/jobs/3358639. |
@arjen The hook is set up. There was an issue with Travis, which has been sorted out. Once @macournoyer pushes again we should see it trigger. |
Any ETA on updating Travis to rbx 2.0.0rc1 or newer? In the meantime, I've reverted the travis config for mysql2 to allow rbx failures, since it's failing. |
@warrenseen, any update on StringIO and copy_stream? |
I need to do some rebasing and get the PR in, will work on it over the next few days. On 28/02/2013, at 4:06 AM, Matthew Horan notifications@github.com wrote:
|
@warrenseen Did you ever have time to rebase? |
Just verified that mysql2 and pg are both working in 1.8 and 1.9 mode here locally. |
@dbussink thanks, updated. |
Can -X20 cause any difference to -X19 in binary compatibility? I'm just curious... |
@hron84 Not yet. But if there are additions to the C-API that need to be 2.0 only, we probably have to split that off like 1.8 and 1.9 atm. |
I just interested in that because I'd like to try out some 2.0 features (%i for example) in app what uses some common gems (sinatra, thin, sqlite3, etc), nothing special... |
Could we add rb-gsl to the table? https://rubygems.org/gems/rb-gsl/versions/1.16.0.4 It is very useful for ppl in the scientific community who want to leverage the multi-threadness and other great features of Rubinius. I've posted an issue on their github page as well, and I don't think it should be a massive amount of work, but it would probably be much quicker for a rubinius dev than an rb-gsl dev. I'm going to have a look at it, but as I am neither a rubinius dev nor an rb-gsl dev I think it will take me quite a while! |
@edmundhighcock once blackwinter/rb-gsl#29 is merged I can add it to the table. |
Updated the table so it now lists rbx-1 vs rbx-2 as the |
Thx @yorickpeterse |
Hi all, thanks for getting on to this so quickly... awesome! |
Rubinius encourages people to experiment with existing Ruby projects, but migrating from MRI is not an activity that has been very successful in the past. The focus for Rubinius in the near term is on the following capabilities:
Contributions in the form of PRs for any of the areas of focus above are appreciated. Once those core capabilities are more robust, it will be possible to better support people interested in trying to run their existing projects on Rubinius. |
Here is a list of popular C-ext gems. Ensure the tests for each pass on Rubinius in 1.x and 2.x branches.
Needs help
Note:
Travis (o)
means the owner of the repo is testing on Travis (official) andTravis (u)
means it's unofficial (one of us set it up)[1] @kungfumike's findings
[2] vmg/redcarpet#172
[3] They don't test 1.8.x so we won't either.
[4] Locally I get an
undefined method 'spawn' on Kernel
https://gist.github.com/4145191[5] rbx has been added to the
.travis.yml
but the tests aren't running on Travis. Some issue w/Travis.We can add to this list as well.
Some of these may already pass, but we should verify them all.
The text was updated successfully, but these errors were encountered: