Index

Show enters and exits. Hide enters and exits.

00:00:04brixenok, I thought you said there was some issue with :each
00:00:10brixenmaybe I misunderstood
00:01:01marcandrebrixen: Oh, yeah, the kind person who applied my patch to rubyspec made a small mistake. Already corrected, I'll push it later today, with all the other enumerator changes I'm doing.
00:01:28marcandrebrixen: It just wasn't testing what was supposed to be tested.
00:01:48brixenmarcandre: ah ok
00:02:00brixenI'll commit this enumerator patch
00:02:02boyscoutCI: 2ff4100 success. 2648 files, 10150 examples, 32392 expectations, 0 failures, 0 errors
00:02:19brixenrbranson: did you just clone rbx?
00:02:54rbransoni did a make distclean; make, will that kill it?
00:03:19marcandrebrixen: Thanks! And if you can add the commit bit, that would be nice too :-)
00:05:28rbransonvm/vm also bails with a similar error
00:05:59rbransonhttp://gist.github.com/106725
00:06:48brixenrbranson: you might try a fresh clone
00:07:38brixenmarcandre: heh, I can't add the commit bit, but I'll let evan know when he wanders back this way
00:08:13marcandrebrixen: cool. Thanks :-)
00:09:05boyscoutRemove fails tags for spec/core/kernel - c8156db - Jari Bakken
00:09:05boyscoutFixing Enumerator - e95f2b4 - Marc-Andre Lafortune
00:11:16boyscoutCI: e95f2b4 success. 2648 files, 10160 examples, 32425 expectations, 0 failures, 0 errors
00:22:30rbransonbrixen: same deal
00:24:19brixenrbranson: hrm
00:24:50rbransonglibtool 1.5.22
00:25:36rbransoncc --version is outputting 4.0 and cpp --version is outputting 4.2
00:25:45rbransonlovely
00:26:19brixenhrm, well I'm using 4.0.1
00:26:34brixenbut I don't see why this would be messing up the rbx compiler
00:27:07rbransonyeah, I'm gonna try compiling on 4.0.1
00:32:06rbransonit built on 4.0
00:36:36jaribbrixen: i found more outdated tags for spec/core/{ar,string,tuple} and added another patch
00:36:43jaribsorry i didn't catch them the first time
00:51:30brixenrbranson: yeah, just talked to evan about it
00:51:39brixenrbranson: it is indeed an issue with 4.2.1
00:51:53brixenhe's going to look at it
00:52:59brixenjarib: ok, n/p
00:58:23rbransonbrixen: cool, i'll just languish in 4.0 land for now ;)
03:54:02evanmarcandre: you around?
04:27:04marcandreevan: pong
04:30:30evanmarcandre: wanna talk about your backport gem?
04:30:50marcandreevan: sure, what would you like to know?
04:31:03evanso, it looks awesome
04:31:10evanthere are 2 item mainly
04:31:26evanany thing in Enumerator/Enumerable that we have that isn't in 1.8.6 can be removed
04:31:31evanlike #find_index, etc
04:31:53evani'm sure someone just adedd them because they know we'd have to do them eventually
04:32:09marcandreyeah, that's why I'd keep them there, but with a "
04:32:21marcandreruby 1.8.7+" conditional of some kind
04:32:32evanno bother with the conditional
04:32:38evanjust remove them from kernel/
04:32:54evanso item 2 is that you don't need to copy backport into rubinius
04:32:58evanyou can leave it as a gem fine
04:33:56marcandreIt's really up to you. The thing is, my gem does monkey patch a whole lot of stuff, including :each, with the inconvenient that backtraces are not as clean
04:34:09evanoh ouch.
04:34:11evanhm.
04:34:37marcandreThat's why it would be much nicer if either the rubinius lib targets 1.8.7 directly, or else have some sort of conditional.
04:34:58evanwell, the problem with targetting 1.8.7 is that then 1.8.6 code won't pass
04:35:06marcandreAnother example is gsub, which is a hastle to monkeypatch, so much so I left it alone.
04:35:07evanand the specs are mainly targeted at 1.8.6
04:35:20marcandreWhich code wouldn't work?
04:35:34marcandreI mean all of 1.8.7 changes are forward compatible, no?
04:35:40evanthere is code in the wild that doesn't run under 1.8.7
04:35:47evanno, i don't think so
04:35:57evanthere are changes that break 1.8.6 behavior
04:37:07marcandreBut my question is this: won't you have, at some point in the remote future, a -1.9 option switch for rbx or something? Or couldn't we add a 1.8.7 option somewhere, so people can choose?
04:37:22evanyeah, absolutely
04:37:29marcandreI, for one, loooove the new enumerator stuff.
04:37:45evanyou mean the
04:37:58evan[1,2].map.each_index { ... }
04:38:10marcandreI'd be glad to make the necessary changes to be compatible (conditionally to some 1.8.7 flag or something)
04:38:38marcandreI mean the [:foo, :bar].each_with_index.whatever { ... }
04:39:02evanso, how about this for 1.8.7
04:39:20evanput all the new/changed methods for 1.8.7 in it's own files and directories
04:39:50evanthen we can easily just load those files after we load the main kernel to get the 1.8.7 versions
04:39:54evanno need for conditionals
04:40:35marcandreso what would the folders look like?
04:41:13marcandrekernel/common/ ... for 1.8.6
04:41:28marcandrekernel/1.8.7/... for 1.8.7 +
04:41:36evansure
04:41:37marcandrekernel/1.9/... for 1..9+ ?
04:41:49evankernel/1.8.7/array.rb
04:41:51evanfor example
04:42:07evanno need for common, etc in there
04:42:16marcandreWhat about lib/ ?
04:42:19evansince they're all methods that are loaded after the system is all the way up
04:42:32evanwhich lib?
04:42:48marcandreGood question, since I've only been dealing with lib/enumerator
04:42:58marcandreand that'll move to kernel/1.8.7
04:43:22marcandrebut if I or someone ones to make changes to the libs for 1.8.7+?
04:43:27evanwell
04:43:37evanfor lib/ we'll need conditional guards probably
04:43:43evanwe'd use a basic pattern
04:43:49evanif the file isn't needed anymore, just have
04:44:14evanif RUBY_VERSION.is_186?
04:44:14evan...
04:44:15evanend
04:44:21evanand if you need different things, you do
04:44:26evanif RUBY_VERSION.is_186?
04:44:39evaner.
04:44:41evanif RUBY_VERSION.is_187?
04:44:58evan require '1.8.7/whatever.rb'
04:44:59evanend
04:45:08marcandrek. So how exactly would someone run rbx to load 1.8.7?
04:51:06evanmm
04:51:09evanbin/rbx --187
04:51:10evanperhaps
04:51:14evansome kind of CLI switch
04:51:15evani'd say
04:52:09marcandrek. Probably a good idea. We can think about it.
04:52:53marcandreAnyways, I'll start moving the 1.8.7 features into a separate folder... as soon as I have commit access :-)
04:59:50evanmarcandre: :)
05:02:01marcandrecan you do it now? I'm also marcandre on github
05:02:25evansure
05:05:10evanok, you're added.
05:05:18evanmarcandre: brixen had a good comment
05:05:27evanfor the new kernel methods in 1.8.7
05:05:36evanwe could just put stuff in lib/1.8.7 for now
05:05:43evanso it would be lib/1.8.7/array.rb
05:05:45evanrather than
05:05:49evankernel/1.8.7/array.rb
05:06:03evanit's easier to load and test that code for now
05:06:08evanuntil we figure out how to wire it in
05:06:22marcandreSure. It will be a breeze to move if need be anyways.
05:06:32evanyep
05:07:47marcandreI'll do that then. While you're enjoying yourself in LV :-)
05:08:16evan:D
05:08:21evani'll keep an eye on the commits
06:27:59boyscoutSearch Rubinius::BIN_PATH with -S to find gem stubs - 6f63315 - Evan Phoenix
06:28:25evanyay! boyscout now running on rubinius
07:02:09boyscouton rubinius
07:02:12evanmuhah
07:07:19kamalfarizthat's awesome
07:52:16boyscoutAdd Rubinius.privately plugin to override call type - 310b845 - Evan Phoenix
07:53:55boyscoutEnumerator can't cache the method to call. - d5e93d5 - Marc-Andre Lafortune
07:53:55boyscoutMoved Enumerable methods that are new to 1.8.7 to lib/1.8.7 - 3782d3c - Marc-Andre Lafortune
07:53:55boyscoutMerge commit 'origin/master' - 9cce14a - Marc-Andre Lafortune
07:54:59marcandreevan: is there a list of things not supported by rubinius yet?
07:55:10evannot so much a list, no
07:55:20evanthe specs tagged as failing though give a picture
07:57:26marcandreAh. Very interesting.
07:57:35evanmarcandre: also, please use pull --rebase
07:57:42evanto avoid littering the history with merge commits
07:58:12marcandreOk! (sorry, my git-fu isn't that great)
07:58:23evanno prob
07:58:29evanjust a heads up
07:58:39marcandreSo where should I read that there is no support for freeze yet, or that exceptions are not caught properly, for example?
07:58:50boyscoutCI: 310b845 success. 2648 files, 10186 examples, 32474 expectations, 0 failures, 0 errors
07:58:55evanit's not supported
07:59:05evanno should methods be added to support it
07:59:12evans/no/nor/
07:59:50marcandreYes, I understand that, but I should know that by looking at some tags somewhere?
08:00:38evanwell, you'll see that any specs that involve frozen are tagged as fail
08:02:34evanit's not supported because we have no mechanism yet for supporting it without decreasing performance a lot
08:03:17marcandreIt would probably be useful to have a high level file somewhere stating the "big" missing parts like freeze and catch not being supported, for newbies like me or users interested in using rubinius.
08:03:47evancatch is supported
08:05:03marcandreWell, it's getting late Montreal time, I guess....
08:05:08marcandreBut def x; raise "oups"; catch Exception ; end
08:05:19evanHUH
08:05:20evanwtf is that.
08:05:41evani've...
08:05:47evannever even seen that before.
08:05:57marcandreShouldn't x not giveout an error?
08:06:03evanthats just calling Kernel#catch
08:06:12evanwith no block
08:06:25evanyou mean rescue
08:06:57marcandreYeah, I meant rescue. Sorry
08:07:16evanwe support that
08:15:17marcandreSorry about that. That's what happens when one should go to bed. So my problem was that I can't monkey path Kernel#loop. Any idea why?
08:16:22marcandremodule Kernel; def loop; "strange loop"; end; end
08:17:05evanah ah
08:17:07evanyeah
08:17:13evanwe've got a shortcut for it
08:17:16evanbut we need to remove it
08:17:23marcandreloop # ==> returns "strange loop"
08:17:39evanright
08:17:39marcandreloop { p "I'm too tired for this" } # ==> loops indefintely
08:17:46evanyeah, i know
08:18:01evanbecause the compiler is assuming that a call to loop with a block means the default kind of Kernel#loop
08:18:11evanso it emits it directly with bytecode
08:18:19evanbut i'm going to remove that shortly
08:18:35marcandreCool. Good night, and thanks for the feedback.
08:19:09evanno prob.
08:35:56boyscoutReworked File::Stat to not raise unnecessary exceptions. - 3ec86bf - Brian Ford
08:42:23boyscoutCI: 3ec86bf success. 2645 files, 10170 examples, 32454 expectations, 0 failures, 0 errors
09:37:13boyscoutUse File::Stat.stat to remove the exception overhead - 4c7ab1c - Evan Phoenix
09:37:13boyscoutCleanups dealing with IO::close - e5ca8d1 - Evan Phoenix
09:37:13boyscoutAssume 'make clean' always works out - aa987bf - Evan Phoenix
09:41:13boyscoutCI: aa987bf success. 2645 files, 10170 examples, 32454 expectations, 0 failures, 0 errors
10:01:03boyscoutFixed -S path handling (pair Evan). - 0e6a122 - Brian Ford
10:01:03boyscoutFile.symlink? specs for nonexistent files. - 83e8c76 - Brian Ford
10:04:52boyscoutCI: 83e8c76 success. 2645 files, 10172 examples, 32456 expectations, 0 failures, 0 errors
10:20:18boyscoutRemove a few more 'rescue nil's - 7137699 - Evan Phoenix
10:20:58dbussinkbrixen: still there?
10:21:07dbussinkbrixen: i've gotten to a bus error with do_sqlite3
10:21:12dbussinkso there is some progress :P
10:21:26evandbussink: he's here
10:21:36brixendbussink: hm, ok
10:22:22brixendbussink: did you try do_postgres?
10:22:30dbussinkbrixen: yeah, same bus error
10:22:40brixenI didn't get a bus error
10:22:42brixensec..
10:22:53dbussinkbrixen: hmm, you have the latest extlib from the next branch too?
10:22:58dbussinkstill needs to be released too
10:23:14brixenI built the gem
10:23:25brixenit still had version 0.9.11
10:24:17brixendbussink: http://gist.github.com/106907
10:24:51dbussinkbrixen: ah ok, you need to specify a database like conn = DataObjects::Connection.new('postgres://postgres@localhost/template1')
10:24:58brixendbussink: show me what you're running with do_sqlite3?
10:25:10brixenhm, ok
10:26:52brixendbussink: and we have connection!
10:26:59brixengimme a test script
10:27:14dbussinki can show you how i run the specs
10:27:19brixenok
10:27:44boyscoutCI: 7137699 success. 2645 files, 10172 examples, 32456 expectations, 0 failures, 0 errors
10:28:11dbussinkbrixen: you can do a ../../rubinius/bin/rake spec if you have all necessary gems installed
10:28:20dbussinkin the do_sqlite3 dir for example
10:28:25brixenorly?
10:28:52dbussinkbrixen: http://gist.github.com/106909
10:29:13brixendbussink: evan said to tell you we're sorry you're not here
10:29:33brixenmainly because he can't berate you about reassigning rb_cTime :P
10:29:54dbussinkbrixen: haha, i didn't write that code ;)
10:29:58dbussinkanscient stuff ;)
10:29:59brixenheh
10:30:11brixenhey, I don't see any bus errors in that gist!
10:30:11dbussinkbtw, this spec triggers the bus error: ../../rubinius/bin/rbx -I"spec:lib" ../../rubinius/bin/spec spec/result_spec.rb
10:30:28dbussinkyeah, most of them go ok, or are some issues with rspec
10:31:01dbussinkhmmm, if i use the -f s formatter i don't get a bus error :S
10:31:17dbussinkbrixen: http://gist.github.com/106910
10:31:45dbussinkbrixen: i see i need to fix those descriptions :)
10:33:00brixenok, no bus error running that command
10:33:07brixenbut I'll look at it more tomorrow
10:33:08dbussinkbrixen: this is with do_sqlite3 btw
10:33:14brixenyeah
10:33:18brixenok nite
10:33:20brixen:)
10:33:47dbussinknite
17:52:30brixendbussink: where does DataObjects::Spec come from?
18:30:51boyscoutEnumerable#sort behaves properly when block returns other values than -1, 0, 1 - 071cb10 - Marc-Andre Lafortune
18:33:05boyscoutCI: 071cb10 success. 2645 files, 10172 examples, 32456 expectations, 0 failures, 0 errors
18:50:02boyscoutFixed Array#qsort to rely on <0 and >0 instead of == -1 and == 1. - 3c7dbf7 - Marc-Andre Lafortune
18:52:11boyscoutCI: 3c7dbf7 success. 2645 files, 10172 examples, 32456 expectations, 0 failures, 0 errors
19:31:25dbussinkbrixen: the data_objects gem has a whole bunch of shared specs
19:31:34dbussinkbrixen: that a driver can use to verify the api behavior
19:31:40brixenk
19:31:50brixenI want a simple way to run the do_xxx specs :)
19:34:06brixendbussink: how would I do that?
19:36:14dbussinkbrixen: my command doesn't work?
19:36:20brixendbussink: I have to go shortly, but I want to cd to do_sqlite3 and to rake spec
19:36:21dbussinkbrixen: you don't need to install the gems for that
19:36:40brixenyour command isn't working
19:36:42dbussinkbrixen: well, you can do something like /point/to/rubinius/bin/rake spec
19:36:56dbussinkhmm, what's your output?
19:37:01brixenok, I'll poke some more
19:37:04brixengotta run atm
19:52:34dbussinkbrixen: hmm, not seeing any crashed after the last pull :)
19:52:45dbussinkbrixen: do see a bunch of failures though
20:05:17dbussinkbrixen: there are the types of failures i'm seeing: http://gist.github.com/107136
20:05:40dbussinki've added the "got a #<>" part myself, to see what came in
20:26:01brixendbussink: hm, ok
20:28:13dbussinkbrixen: but other than that, i see no more crashes :)
20:28:23brixenawesome :)
20:30:28evanyay! no more crashes! :D
20:30:40evanbrixen: we should probably work on that GC bug you've seen this week
20:30:52brixenyeah
20:31:00dbussinkbrixen: dunno whether that spec failure rings any bell with you
20:31:16brixendbussink: not really, but I'll look at them
20:49:37dbussinkbrixen: are you able to get the specs running then? it wasn't really problematic for me
20:49:48dbussinkbrixen: i did just release a new extlib, could make life easier :)
21:50:43brixendbussink: awesome
21:51:27brixendbussink: I'll try just rake spec, I was trying your other commond in do_sqlite3 and it wasn't finding the DO stuff
22:04:15dbussinkbrixen: you've cloned the whole do repository?
22:08:14brixendbussink: yeah, but I've created and installed gems from it
22:08:19brixenshould I just test in the clone?
22:09:27dbussinkbrixen: ah, yeah, testing in the clone is what i do
22:09:45dbussinkbrixen: you should now be able to just install extlib from rubyforge
22:09:53dbussinkbrixen: and test with running specs within the clone
22:10:30brixenyep, just installed extlib-0.9.12 from rubyforge
22:13:02brixendbussink: ok sweet, this is rbx -S rake spec in do_sqlite3: 82 examples, 23 failures
22:13:11brixenhow do I tell it not to try rcov?
22:13:23dbussinkNO_RCOV=true rbx -S rake spec
22:13:42dbussinki should make some good auto detection for that
22:13:51brixenyeah, for us, you should :)
22:14:00brixenor write rcov for rbx :D
22:14:04brixeneither works
22:15:49dbussinkbrixen: well, there also is no rcov for 1.9, jruby, etc. :P
22:16:04dbussinkbrixen: but i can claim it's all for just specially for you ;)
22:18:48dbussinkbrixen: but i'm off for tonight, good luck with it and let me know if i can help with anything
22:18:50brixendbussink: why am I getting 2 lists of the errors?
22:18:56brixenahh, ok
22:19:07dbussinkbrixen: i've noticed that too yeah, that's since rspec 1.2.4+ or something
22:19:13brixenhm ok
22:19:18dbussinksomething changed there that now makes it run twice
22:19:24brixenI'll run this on mri and compare
22:19:28brixenok
22:19:30dbussinkbut i'm going to rework the rakefile and stuff anyway
22:19:35brixencool
22:19:45dbussinkttyl!
22:19:53brixenlater!
22:59:50marcandrebrixen: (or anyone): should we implement ruby bugs too so that we pass rubyspecs?
22:59:58marcandreFor example, ar.flatten(0) returns ar in 1.8.7 and 1.9.1 but will return ar.dup in 1.9.2+.
23:00:53brixenmarcandre: if it's a real bug, we need to file a bug report
23:01:07brixenand write the correct spec inside a ruby_bug guard
23:01:22brixenif it's not a bug, it's not a bug, it's a version difference
23:01:23marcandreWell, I'm just reading the rubyspecs, here.
23:01:42brixenif it's not in a ruby_bug guard rather
23:02:06marcandreNo, it's not. So I should mimick that, then?
23:02:17brixenbtw, we are not spec'ing anything but ruby19 heard
23:02:19brixenhead
23:02:48brixenwe're not adding ruby_version_is for any other version in 1.9 series except head vs pre 1.9
23:02:58marcandreI'm just looking at the rubyspecs and I see ruby_version_is "1.9.2" do whatever
23:03:05brixenthat is wrong
23:03:13brixentake out the 1.9.2
23:03:24marcandreSo I'm assuming someone did that because they heard it would change?
23:03:24brixenit should be pre-1.9 and 1.9
23:03:27brixenyeah
23:03:39brixenwhat spec file?
23:03:47marcandreBecause there's a matching ruby_version_is ""..."1.9.2" do
23:03:56marcandrejust before. It's flatten_spec (Array)
23:04:02brixenright, those were added incorrectly recently
23:04:34marcandreSo I should ignore the 1.9.2 behavior, then?
23:05:14brixenthe guard needs to be changed to "" ... "1.9" and "1.9"
23:05:31brixenand you should use 1.9 head to test 1.9 features
23:27:39boyscoutRequire '1.8.7' changes RUBY_VERSION. - 02573c0 - Marc-Andre Lafortune
23:27:39boyscout1.8.7: Array#flatten, flatten! - 63b4b10 - Marc-Andre Lafortune
23:30:28boyscoutCI: 63b4b10 success. 2645 files, 10172 examples, 32456 expectations, 0 failures, 0 errors