Camelia, the Perl 6 bug

IRC log for #parrot, 2011-01-02

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 aantn cotto: I'm splitting out code into PackFile_validate, which needs to do some unpacking itself in order to validate the packed bytecode
00:01 aantn cotto: PackFile_unpack needs access to some of the information unpacked by PackFile_validate, in order to actually do the unpacking
00:01 aantn cotto: for example header->wordsize
00:03 aantn cotto: I'm not sure what's the best way to avoid duplicate code. Should PackFile_validate start unpacking and setting information in the PackFile?
00:03 cotto That's a good question.
00:04 aantn cotto: part of the problem is that I don't exactly understand in what other contexts PackFile_validate would be called
00:04 cotto I don't like the idea of validate passing a half-initialized struct around, but code duplications isn't great either.
00:05 aantn cotto: I could use another intermediary struct
00:05 aantn cotto: something like PackFileMetadata
00:05 aantn cotto: or maybe it just makes sense to split the code into unpack_header and unpack_contents
00:05 cotto How much duplicated code would there be if you didn't use an intermediate struct?
00:06 cotto aantn, that doesn't sound like a bad idea.
00:07 aantn cotto: probably about half of the code in Packfile_validate would have to also be present in the unpack function
00:07 aantn cotto: but is that useful? where else in the code would unpack_header be used?
00:07 cotto yuck
00:08 aantn cotto: the task mentioned the freeze/thaw code, and I'm not sure what would be useful there
00:09 aantn cotto: actually, maybe I'm wrong about the code duplication... let me look over the code again
00:10 aantn cotto: I think that I could easily split out the header validation into another function
00:11 cotto ok
00:11 aantn cotto: that's ~50 lines
00:12 bacek joined #parrot
00:12 cotto Could it be broken out into a function reasonably?  That's too much to have duplicated.
00:12 cotto hi bacek
00:12 cotto or macros, if necessary
00:13 aantn cotto: yes, it would be called from PackFile_unpack and passed the header
00:14 rfw cotto: is he beating me again?
00:14 rfw goddammit he is
00:14 Kapace_ lol @ nearing 200 points
00:15 cotto aantn, do you have a good idea of what you need to do now?
00:16 aantn cotto: yes, I'm refactoring code into: int PackFile_Header_validate(PARROT_INTERP, PackFile_Header *self)
00:16 cotto rfw, the make help task should be easy
00:16 aantn cotto: if the signature looks right then I'm good to go
00:16 rfw i'm doing the transcendental dynops on right now
00:16 cotto ah
00:16 rfw +e
00:16 aloha 2.71828182845905
00:16 Yuki`N Matt_, I already said I was working on bit ops.
00:16 cotto e
00:17 cotto 0+0
00:17 cotto +3
00:17 cotto +e
00:17 aloha 2.71828182845905
00:17 Yuki`N cotto can you approve? http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129390800766
00:17 cotto odd
00:17 cotto Yuki`N, no need for a link
00:17 Yuki`N Really.
00:17 rfw Parse errors: Bad plan.  You planned 77 tests but ran 81. <-- this always makes me laugh
00:17 cotto odne
00:18 cotto er, done
00:20 aantn how are errors handled by Parrot_ex_throw_from_c_args?
00:20 cotto rfw, that's bad.  Clearly you should take out some of the tests.
00:20 rfw cotto: clearly
00:20 cotto aantn, that throws an exception that may or may not be caught
00:21 rfw why is cosh being tested and not sinh
00:21 rfw who the hell wrote these tests
00:21 aantn cotto: should I just throw errors in the validate function and get rid of the return 0/1
00:21 cotto rfw, are you assuming that there's a strategy?
00:21 aantn left #parrot
00:22 rfw maybe this person just doesn't like how unpronounceable sinh is
00:23 rfw does aloha do sinh?
00:26 aantn joined #parrot
00:26 bacek left #parrot
00:26 aantn ahh, X11 keeps dying on me
00:26 cotto aantn, sounds exciting
00:26 aantn cotto: should I just throw errors in the validate function and get rid of using returns for errors?
00:27 cotto Exceptions are for things you don't expect to happen.  I'd say use the return value for validation and have something throw an exception if the packfile doesn't validate.
00:28 cotto when you're validating, you shouldn't be too surprised if a pbc file doesn't validate
00:28 aantn cotto: I don't think I understand the distinction
00:29 cotto If you're asking if a pbc is valid, you shouldn't be surprised if the answer is "no".
00:29 aantn cotto: right, I got that
00:30 aantn cotto: but if I throw the exception from PackFile_unpack, then I can't use a descriptive exception string, because only PackFile_header_validate knows exactly what went wrong
00:30 cotto this is true
00:30 cotto and using exceptions everywhere is more consistent
00:31 rfw too many positional arguments: 4 passed, 4 expected
00:31 rfw okay, what.
00:32 aantn cotto: fine, I have to go. I'll use exceptions and I can switch it to something else if I have a better idea
00:32 cotto aantn, ok.
00:33 cotto rfw, nice
00:33 rfw cotto: how does that even work :D
00:33 cotto I'm wondering that myself.
00:34 rfw nvm i got it
00:34 cotto what's the punchline?
00:34 rfw i was trying to use an epsilon value to compare an integer
00:35 rfw but god that error is misleading
00:35 Kapace_ rfw: I had that error before, I know what you mean :P
00:35 cotto It's almost worse than just saying "something's wrong".
00:35 rfw i think it is worse
00:35 Kapace_ or not saying anything at all :|
00:35 rfw since it's saying "something's wrong but it's fine"
00:36 cotto rfw, please file a bug report when you can
00:36 rfw okay
00:36 cotto thanks
00:36 rfw in the middle of quickcover right now so everything is going super slow
00:38 aantn left #parrot
00:42 rfw oof 3% more for trans ops
00:43 cotto bam
00:43 dalek TT #1923 closed by Yuki`N++: Filehandle PMC clone VTABLE does not work
00:43 dalek TT #1923: http://trac.parrot.org/parrot/ticket/1923
00:45 cotto Yuki`N, in the future, it's easier to pull if you work in a branch
00:50 dalek parrot: fa70a1a | Yuki`N++ | t/dynoplibs/bit.t:
00:50 dalek parrot: Boost bit ops test coverage to 46%
00:50 dalek parrot:
00:50 dalek parrot: Signed-off-by: Christoph Otto <christoph_git@mksig.org>
00:50 dalek parrot: review: https://github.com/parrot/parrot/commit/fa70a1a230
00:53 rfw 84.4% coverage for transops
00:55 rfw cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129390827160
00:55 rfw also better write that ticket about 4 arguments
01:00 dalek TT #1924 created by rfw++: Incorrect use of is function in PIR tests raises misleading error
01:00 dalek TT #1924: http://trac.parrot.org/parrot/ticket/1924
01:00 Yuki`N cotto, ok.
01:03 dalek parrot: 68a90b1 | kapace++ | / (2 files):
01:03 dalek parrot: Removed dead vtables, etc, and added test for set_pmc.
01:03 dalek parrot: review: https://github.com/parrot/parrot/commit/68a90b1048
01:12 rfw did i kill cotto again
01:14 Kapace_ cotto: i got capture up to 100%, can I take the other capture coverage task?
01:14 kid51 joined #parrot
01:15 Kristaba left #parrot
01:20 cotto rfw, ping
01:20 cotto Kapace_, sure
01:20 rfw cotto: pong
01:20 cotto rfw, how did you get the numbers you used in the trans.t tests?
01:20 rfw cotto: quickcover
01:21 rfw oh
01:21 rfw wait
01:21 rfw you mean the numbers to test against?
01:21 cotto yes
01:21 rfw calculator
01:22 cotto wfm
01:22 cotto like windows calc.exe, ti-86, or what?
01:22 rfw this crappy casio i have on my desk
01:23 cotto ok
01:23 cotto I trust your crappy calculator.
01:23 Yuki`N lol
01:23 Yuki`N Windows calc.exe is pretty nice.
01:23 Yuki`N Don't lie.
01:24 rfw Yuki`N: lol
01:24 rfw but my calculator is right there
01:24 fbrito left #parrot
01:25 dalek parrot: d140dd0 | rfw++ | t/dynoplibs/trans.t:
01:25 dalek parrot: Boosted coverage for trans ops to 84.4%.
01:25 dalek parrot: review: https://github.com/parrot/parrot/commit/d140dd0f9c
01:26 rfw yay thanks
01:26 cotto rfw, you are once again on top
01:26 rfw heh yup
01:27 Kapace_ rfw: keep it up!
01:27 rfw Kapace_: don't worry, i do :)
01:27 rfw is anyone doing the math dynops?
01:27 rfw s/do/will/
01:28 rfw Matt_: ping
01:28 Yuki`N cotto, I found a bug in bit.ops, I will fix and submit along with my next coverage increase #s.
01:28 cotto all requests accepted
01:28 Matt_ rfw: pong
01:28 cotto Yuki`N, excellent
01:28 rfw Matt_: are you doing the math dynops?
01:29 Matt_ rfw: Nope. I think I'll take io since Yuki`N is doing bit again
01:29 rfw alright
01:29 rfw i'll claim math then
01:29 Yuki`N TOGETHER WE WILL CRUSH THE TEST COVERAGE.
01:29 rfw cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129390679698
01:30 cotto rfw, done
01:30 rfw thanks
01:30 rfw back to work
01:31 rfw what's cmod?
01:31 Matt_ modulus
01:31 Matt_ %
01:31 rfw why the c
01:31 Matt_ no idea
01:31 plobsing because we implement both "proper mathematical modulus" and "whatever your C compiler does modulus"
01:32 plobsing in most cases they should be similar. they probably diverge when you get into negatives or other corner cases.
01:33 cotto rfw, can you attach a minimal test case to #1924?
01:33 cotto fortunately negative numbers are seldom used in the real world
01:35 rfw cotto: hold on i'm making quickcover again
01:35 Matt_ rfw: I wish you could generate the coverage for only one file
01:35 rfw Matt_: yeah
01:35 cotto it's probably not too hard
01:35 rfw at least it's not so bad with -j3
01:36 Nol888 joined #parrot
01:38 Nol888 I am confused as to how the rotate op works
01:39 Nol888 Rotate $2 left or right by $3 and place result in $1.
01:39 Nol888 $4 is the amount of bits to rotate, 32 bit on a 32-bit CPU and 32 or 64
01:39 Nol888 on a 64-bit CPU. If the rotate count is negative a rotate right by ($3+$4)
01:39 Nol888 is performed.
01:40 plobsing that is... interesting
01:40 Nol888 It doesn't seem to be rotating correctly at all.
01:40 Yuki`N left #parrot
01:41 Nol888 Actually I lied.
01:41 Nol888 It works.
01:41 Nol888 The description is just horrible.
01:41 rfw cotto: test case attached
01:43 cotto rfw++
01:44 rfw what's the pmc number type?
01:45 cotto rfw, you mean the numbers in include/parrot/core_pmcs.h ?
01:46 rfw uh, the pmc variant of the $N register numbers
01:46 cotto Float
01:46 rfw ah okay
01:46 rfw thanks
01:46 cotto it's a bit confusing
01:51 plobsing if you're lazy, you can call 'box_p_nc' and never have to remember.
01:52 cotto laziness++
01:52 rfw need to stop pressing ctrl+s to save files in vim
01:55 rfw Matt_: what was the coverage for math_ops again?
01:56 rfw i refreshed my coverage stats and forgot what it used to be, heh
02:00 rfw Nol888: how does throws_substring work again?
02:01 rfw nvm got it
02:08 Nol888 cotto, stage 2 complete.
02:10 Nol888 left #parrot
02:11 Nol888 joined #parrot
02:11 Nol888 rfw, did my "stage 2 complete" send?
02:13 rfw yes
02:14 lucian_ left #parrot
02:15 Nol888 left #parrot
02:17 Yuki`N joined #parrot
02:24 rfw i think i've increased the coverage of the math dynops as much as reasonably possible
02:25 Yuki`N Ok, looks like I got all the ops covered.
02:25 Yuki`N The only parts not covered are the auto-added C functions.
02:27 Yuki`N They're static functions too.
02:27 Yuki`N That doesn't make any sense.
02:27 Yuki`N Why would static functions that don't get called at all be even necessary.
02:29 cotto You assume logic.  It's a common newbie mistake.
02:29 Yuki`N loool.
02:30 Nol888 joined #parrot
02:31 rfw cotto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129390679698 can you review
02:32 cotto sure
02:32 dalek parrot: 1ca129d | mikehh++ | MANIFEST:
02:32 dalek parrot: re-generate MANIFEST
02:32 dalek parrot: review: https://github.com/parrot/parrot/commit/1ca129db5f
02:32 dalek parrot: 67029a8 | mikehh++ | src/packfile/packfile_private.h:
02:32 dalek parrot: fix c++ comment
02:32 dalek parrot: review: https://github.com/parrot/parrot/commit/67029a89e7
02:32 dalek parrot: eb35b54 | mikehh++ | t/pmc/capture.t:
02:32 dalek parrot: remove trailing whitespace
02:32 dalek parrot: review: https://github.com/parrot/parrot/commit/eb35b540ec
02:32 dalek parrot: e6d8cc8 | mikehh++ | src/packfile/execute.c:
02:32 dalek parrot: fix pod problems
02:32 dalek parrot: review: https://github.com/parrot/parrot/commit/e6d8cc8400
02:32 dalek parrot: 734d38f | mikehh++ | src/embed/api.c:
02:32 dalek parrot: linelength problem - missing newline added
02:32 dalek parrot: review: https://github.com/parrot/parrot/commit/734d38f9b3
02:32 cotto I was just thinking "It's been almost 15 minutes since the last task was completed.  What are those slackers doing?"
02:33 rfw heh heh heh
02:34 Nol888 src/dynoplibs/bit_ops.c                                           92.0   92.0
02:34 Nol888 I want my mad street cred lol.
02:34 mikehh hey you bunch - you all need to run codetest or something maybe moretest before committing :-}
02:34 Nol888 Pushed to my branch, after you pull to master I'll merge in the branch. cotto
02:35 Yuki`N left #parrot
02:35 rfw Nol888: did you test the hop_init and stuff
02:35 rfw wondering how to do that
02:36 Nol888 rfw if you notice they're static.
02:36 Nol888 So it's really really hard to test.
02:36 rfw ah
02:36 rfw so just don't bother?
02:36 Nol888 mikehh, it's not me. :P I run fullcover which includes codingstd.
02:36 Nol888 Yeah.
02:36 Nol888 It's put in by ops2c anyway.
02:38 dalek TT #1925 created by coke++: remove config step auto::jit
02:38 dalek TT #1925: http://trac.parrot.org/parrot/ticket/1925
02:38 cotto pulled
02:41 rfw cotto: i don't think i quite increased coverage by 20% but all the opcodes are tested
02:41 rfw about 18 or 19% i think
02:41 cotto wfm
02:41 dalek parrot: b0cb0f1 | rfw++ | t/dynoplibs/math.t:
02:41 dalek parrot: Increased coverage of math dynops to 81.8%
02:41 dalek parrot: review: https://github.com/parrot/parrot/commit/b0cb0f14dc
02:41 Nol888 plz2approve http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129390806311
02:41 cotto done
02:42 Nol888 lol.
02:42 cotto @rfw
02:42 rfw thanks
02:42 Nol888 And pull, etc.
02:42 Nol888 My internet does not like me at all today.
02:42 cotto and Nol888 now
02:43 rfw heh, first to break 200 points
02:44 Nol888 At this rate Matt will be the fourth to break 100.
02:44 rfw yup
02:45 rfw the parrot tasks sure are going like hotcakes
02:45 rfw cotto: also i think increasing test coverage of transcendental dynops isn't applicable any more
02:46 rfw since i've covered all the opcodes
02:46 * kid51 ponders the philosophical implications of ... "transcendental dynops"
02:46 cotto new gci task: make parrot perfect
02:46 cotto 4 points (difficult)
02:47 Nol888 Aviral Dasgupta must be raeging right now.
02:47 Nol888 IT'S BECAUSE THEY'RE WORTH THEIR WEIGHT IN GOLD.
02:47 Nol888 I'd offer to do some translation tasks but my Spanish is neither native nor good.
02:47 rfw what happened to aviral dasgupta
02:47 Matt_ rfw: not sure. he was doing some good work for Tux4Kids
02:47 rfw yeah, i saw
02:47 dukeleto ~~
02:48 rfw hey dukeleto
02:48 cotto hio dukeleto
02:48 dukeleto rfw, cotto: how goes it?
02:48 rfw barely scraping ahead of jumpyshoes
02:48 cotto keeping up with these students is a full-time job
02:48 dukeleto rfw: what is this about you covering all opcodes?
02:49 rfw dukeleto: i've covered all the opcodes in transcendetal and math
02:49 rfw but not the weird static functions
02:49 dukeleto rfw: are you actually testing return values ? or just calling functions and ignoring their return values?
02:50 rfw testing return values, of course
02:50 Nol888 Henry David Thoreau wrote these dynops.
02:50 Nol888 lololol.
02:50 Nol888 Only 4 points? Lol.
02:50 Nol888 New GCI Task: Increase Parrot overall coverage to 100% 4 points.
02:50 rfw Nol888: i think you lagged really bad there
02:50 cotto mikehh, thanks for the codingstd fixes
02:50 rfw dukeleto: cotto and i had a discussion about what calculator i was using for transcendental dynops
02:51 dukeleto rfw: oooh, fun. what did you use?
02:51 rfw "this crappy casio calculator i have on my desk"
02:52 dukeleto works for me
02:52 dukeleto so is "make cover" broken? what is the deal?
02:53 dukeleto rfw: if you have covered the trans ops, you get to close those tasks.
02:53 rfw dukeleto: there's another "increase trans ops by 20%" task but trans ops is at ~80% because of the ops2c static funtions
02:54 dukeleto rfw: also, i see the use of "is" a bunch, but we need to do a floating point equality
02:54 Nol888 rfw, yes I did.
02:54 Nol888 Bitops were actually easy to test, hah.
02:54 Nol888 Especially rot
02:54 Nol888 ROTATE 0xDEADBEEF OVER TO THE LEFT 4 BITS.
02:54 dukeleto rfw: these tests will fail on some platforms
02:54 rfw huh i am doing floating point equalities
02:54 rfw with epsilon
02:55 rfw what are you looking at?
02:55 dukeleto rfw: you are right.
02:55 dukeleto rfw: i was looking with the wrong set of eyes
02:55 rfw hehe
02:55 Nol888 dukeleto, make cover is now make fullcover, and the old make quickcover is now cover apparently.
02:56 Nol888 Quickcover never worked for me, so now make cover doesn't work for me.
02:56 rfw oops, i lied about trans dynops
02:56 rfw there are some branches i didn't cover
02:56 dukeleto rfw: go make it happen!
02:57 cotto Nol888, what happens when you try it?
02:57 kid51 Nol888 I, too, was having trouble with 'cover' and 'fullcover' earlier today.  But I managed to get some results with 'quickcover_new'.
02:57 cotto It should only need Devel::Cover
02:57 rfw dukeleto: can i claim the increase by 20% even though it's nowhere near 20%
02:57 Nol888 cotto, it kindasorta works but it dumps everything in / and I don't like how it's undercovered somehow.
02:57 dukeleto rfw: what kind of increase do you have?
02:57 rfw i don't know yet
02:57 Nol888 Quickcover_new doesn't even work for me, it gives me 5 files.
02:58 rfw but there's a chunk of ops2c static functions at the end which is more or less impossible to cover
02:58 rfw s/cover/test/
02:58 kid51 Damn, everything we do with these coverage targets seems to make it worse
02:58 Nol888 Yeah, lol.
02:58 Nol888 Let's just leave it as the magic voodoo box.
02:58 Nol888 Try all three, pick the one that works best for you, and then stick to it.
02:59 cotto ETOOMUCHVOODOO
02:59 kid51 'cover' and 'fullcover' were working well for me just last night.  Cf. my post to parrot-dev
03:00 dukeleto cotto: what needs test coverage the most currently in parrot?
03:00 cotto good question
03:00 kid51 I'm increasingly persuaded that all the coverage targets ought to be completely ripped out of the Makefile and handled by separate shell/Perl scripts.
03:01 kid51 dukeleto: Look at what I posted to parrot-dev last night.
03:01 cotto chromatic had a great suggestion of writing feature-specific benchmarks for nqp-rx.
03:01 kid51 That won't tell you what *needs* coverage the most, but it will indicate what *has been covered* (more or less)
03:02 Nol888 cotto, have you pulled my new tests yet?
03:02 Nol888 Or should I just merge anywa.y
03:03 cotto Nol888, I think I did
03:03 cotto https://github.com/parrot/parrot/commit/​b0cb0f14dc49d53566250387bb4f858cf361f7b1 <-those?
03:04 Nol888 No that's rfw.
03:05 cotto https://github.com/parrot/parrot/commit/​fa70a1a230af97c371ca54ff6b45f0b7efb7e964 ?
03:06 rfw how do i make a null pmc?
03:06 dukeleto kid51: that is not quite what I am asking
03:06 dukeleto rfw: PMCs are null by default, if you don't initialize them
03:06 rfw dukeleto: how do i deinitialize a pmc register?
03:07 dukeleto rfw: $P0 is a null pmc unless you do $P0 = new 'String' or whatever
03:07 rfw i want to clean out a pmc register
03:07 dukeleto rfw: you could assign it to an unused register
03:07 Nol888 null
03:07 Nol888 null $P0
03:07 rfw so like
03:07 rfw oh
03:07 rfw thanks
03:07 dukeleto rfw: that too :)
03:08 dukeleto cotto: what things are most important to get GCI students to work on in the last week or so of GCI ?
03:08 Nol888 cotto, no, check http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129390806311
03:09 rfw if (PMC_IS_NULL(PREG(1))) PREG(1) = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Float)); <-- if i'm reading this right, it should initialize a new Float in a PMC register if it is null?
03:10 dukeleto rfw: yes, into $P1
03:10 rfw oh, why the hell did i write $P9 instead of $P3
03:10 rfw i'm so silly
03:11 * dukeleto is very impressed with how productive these GCI students are
03:13 Nol888 rfw, you're so silly.
03:13 rfw i am :(
03:13 dukeleto cotto: how does one test src/pmc.c ?
03:13 cotto Nol888, could you update from parrot/parrot?  There are some conflicts that are keeping my pull from working.
03:14 Nol888 cotto, ok
03:14 Nol888 cotto, check master.
03:14 Nol888 I've merged it back into master and rebased onto the latest from parrot/master
03:15 Matt_ What's with these "tests out of sequence errors". How do you define the sequence tests are run in?
03:15 dukeleto Matt_: are you printing out junk that is confusing the test harness?
03:16 dukeleto Matt_: that error usually means your TAP output is corrupt
03:16 dukeleto rfw: congrats on breaking 200 :)
03:16 rfw dukeleto: thanks
03:17 dukeleto rfw: what are you working on now?
03:17 rfw running cover so my computer is laggy as hell
03:18 Matt_ dukeleto: I'm getting a stdout file descriptor but not actually writing any output
03:18 Matt_ this is in io.t
03:18 rfw dukeleto: finishing off transcendental dynops
03:18 dukeleto rfw: sweet!
03:19 dukeleto Matt_: if you gist the entire output of the test with the error, we can try to help you
03:20 Matt_ http://pastie.org/private/ammgvh4ctus2zyn1ervcw
03:20 cotto dukeleto, I wonder about those uncovered files in src/pmc.c.  Their uncoveredness seems to indicate that they're not especially important.
03:20 kid51 Here is the output of a run of 'quickcover_new' which may (or may not) be useful.
03:20 kid51 http://thenceforward.net/parrot/c​overage/quickcover/coverage.html
03:20 dukeleto cotto: indeed.
03:20 dukeleto cotto: there may be dead code there
03:20 dukeleto kid51: thanks
03:20 cotto evaluating that would be a good task
03:21 dukeleto our code coverage has grown leaps and bounds in the last few days, and I think that will continue
03:21 dukeleto i have more gci tasks to add. I don't want these kids to get bored in the next week...
03:21 dalek parrot: ba390cb | Yuki`N++ | t/dynoplibs/bit.t:
03:21 dalek parrot: Max out bit dynoplib test coverage.
03:21 dalek parrot:
03:21 dalek parrot: Signed-off-by: Christoph Otto <christoph_git@mksig.org>
03:21 dalek parrot: review: https://github.com/parrot/parrot/commit/ba390cbf85
03:22 rfw huh that's odd
03:22 rfw $N0 = pow 2, $I1
03:22 rfw this should call the pow_n_nc_i opcode right?
03:22 rfw oh
03:22 rfw no it shouldn't!
03:22 cotto Nol888, that last set of changes required some manual intervention to commit.
03:23 cotto dukeleto, we've jumped at least 2% since gci started.
03:24 Matt_ dukeleto: http://pastie.org/private/ammgvh4ctus2zyn1ervcw
03:24 dukeleto Yuki`N++ # bit dynop coverage
03:25 dukeleto Matt_: you should run "prove -v t/dynoplibs/io.t" so we can see the full TAP output
03:26 Yuki`N joined #parrot
03:26 Matt_ dukeleto: http://pastie.org/private/avwvl8rvqjefzjn0sfxy2q
03:28 Nol888 left #parrot
03:28 rfw left #parrot
03:29 rfw joined #parrot
03:30 rfw dukeleto: maxed out coverage for trans dynops
03:30 dukeleto rfw++
03:30 rfw it's at 88.1%
03:31 rfw from uh
03:31 dukeleto rfw: why is that maxed out?
03:31 rfw dukeleto: because it has the untestable ops2c static functions at the end
03:31 rfw http://tapir2.ro.vutbr.cz/cover/cover​-results/2010-12/2010-12-27-00259d7/c​_cover/src-dynoplibs-trans_ops-c.html
03:31 dukeleto Matt_: you have two test number 9's
03:31 rfw if you look at the hash_str and store_op functions at the end
03:31 rfw i can't test those very easily at all
03:32 rfw without actually changing the source
03:32 dukeleto rfw: are they dead code?
03:32 rfw dukeleto: i'm not sure
03:32 dukeleto rfw: do they ever get called?
03:32 rfw i don't think so
03:32 rfw since they're static
03:33 cotto Do we need both a File dynpmc and a FileHandle PMC?
03:33 dukeleto rfw: ok, don't worry about them for now. you can attack the other dynops.
03:33 kid51 dukeleto: Created new task:  http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129393919283
03:34 rfw dukeleto: can i claim the last trans dynops task?
03:34 rfw since there's actually nothing to cover, lol
03:34 rfw nothing more*
03:34 Matt_ dukeleto: that did it, but I need to manually update the output from the OK function every time I add a new test so the numbers run sequentially?
03:35 dukeleto kid51: published
03:35 dukeleto rfw: yeah, those are yours
03:35 rfw \o/
03:35 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129390833806
03:35 dukeleto Matt_: no, the is() functions and friends do that stuff for you
03:36 Matt_ starting with #9 it looks like the numbers were hardcoded and I had to manually update them
03:37 Matt_ _readline_handler:
03:37 Matt_ print "ok 11\n"
03:37 Matt_ pop_eh
03:37 dukeleto Matt_: yeah, some tests in the file have it hard-coded
03:37 dukeleto Matt_: you can either fix that, or just leave it in the same order and add tests after it
03:37 dukeleto Matt_: it could be avoiding is() and friends for a reason, not sure
03:37 Matt_ kk is ok(1, "some string") sufficient
03:38 rfw dukeleto: submitted
03:38 Yuki`N left #parrot
03:39 dukeleto rfw: completed
03:39 rfw thanks
03:40 Matt_ dukeleto: How can I test: 'Parrot_fdopen_p_ic_sc' . The file descriptor has to be a constant. Is there some magical number that corresponds to stdout?
03:41 rfw i think i'll finish the sys dynops too
03:41 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129390996695
03:42 kid51 So, now I have GCI tasks associated with TT #1922 and TT #1925.  Any takers?
03:42 cotto rfw, done
03:42 dalek parrot: 4060599 | rfw++ | t/dynoplibs/trans.t:
03:42 dalek parrot: Covered all opcodes in transcendental dynops.
03:42 dalek parrot: review: https://github.com/parrot/parrot/commit/40605992c4
03:43 dukeleto Matt_: usually 1
03:43 dukeleto Matt_: and stderr is usually 2
03:43 dukeleto Matt_: there should be constants that are defined and use them from PIR
03:44 cotto I think those constants work even on windows.
03:47 dukeleto PIO_STDIN_FILENO and friends live in include/parrot/io.h
03:48 Yuki`N joined #parrot
03:48 rfw oop, .SYSINFO_CPU_TYPE is faulty
03:48 rfw #          got: ''
03:48 rfw #     expected: 'i686-linux-thread-multi'
03:52 rfw the implementation for CPU_TYPE is:        SREG(1) = string_from_literal(interp, "");
03:53 rfw yeaaaah...
03:56 cotto That doesn't look accurate.
04:02 Yuki`N left #parrot
04:03 Yuki`N joined #parrot
04:04 rfw finished covering almost all of sys ops
04:04 rfw the only thing left required PARROT_HAS_HEADER_SYSUTSNAME
04:05 rfw and i'm not sure how to test that
04:05 rfw i don't think i have that
04:06 rfw regardless on windows it should work
04:08 rfw argh did i just write sysinfo dynpmcs
04:09 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129390996695 review please
04:14 Matt_ almost done with io.t
04:14 kid51 left #parrot
04:15 dalek parrot: dc36cfd | rfw++ | t/dynoplibs/sysinfo.t:
04:15 dalek parrot: Completed coverage of relevant parts of sysinfo dynops.
04:15 dalek parrot: review: https://github.com/parrot/parrot/commit/dc36cfd09b
04:16 cotto rfw, done
04:16 rfw thanks
04:18 rfw parrot sure is having fun using GCI for child labor
04:29 dukeleto ~~
04:30 dukeleto rfw: i see those same uncovered test functions in a few other dynops
04:30 dukeleto rfw: i think they are copy+paste dead code, but need to verify
04:30 rfw dukeleto: yeah
04:30 rfw they're static too so they won't ever get called
04:31 dukeleto rfw: ok, don't worry about those when doing dynop coverage
04:31 rfw but there's no more dynop coverage
04:31 rfw i eated them all, it would seem
04:31 dukeleto rfw: i am adding more now :)
04:32 rfw \o/!
04:32 dukeleto rfw: you can start working on the debug or obscure dynops, i am making tasks for them now
04:32 rfw ah okay
04:32 rfw obscure sounds scary
04:33 dukeleto rfw: not really, just some number theory functions like GCD and LCM
04:33 rfw ah, okay
04:33 rfw the name just sounded scary
04:33 dukeleto rfw: obscure is a pretty horrible name
04:33 rfw yeah
04:34 dukeleto rfw: we will fix that, eventually
04:34 rfw gcdlcm.ops?
04:37 cotto magic.ops
04:37 dukeleto rfw: something like number_theory.ops or somesuch
04:39 dukeleto rfw: http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129394305842
04:40 rfw dukeleto: is there one for obscure?
04:42 dalek ohm-eta-wink-kzd: a758bc2 | plobsing++ | src/Ωη.capo.winxed:
04:42 dalek ohm-eta-wink-kzd: correctly implement toProgramString
04:42 dalek ohm-eta-wink-kzd: review: https://github.com/plobsing/ohm​-eta-wink-kzd/commit/a758bc2e61
04:42 dalek ohm-eta-wink-kzd: 353de62 | plobsing++ | src/ometa-compiler.dual:
04:42 dalek ohm-eta-wink-kzd: explicit check against null in variable dedup - null and false are not the same
04:42 dalek ohm-eta-wink-kzd: review: https://github.com/plobsing/ohm​-eta-wink-kzd/commit/353de6282e
04:42 dalek ohm-eta-wink-kzd: 5c72344 | plobsing++ | src/ometa-base.winxed:
04:42 dalek ohm-eta-wink-kzd: fix thinko in notLast()
04:42 dalek ohm-eta-wink-kzd: review: https://github.com/plobsing/ohm​-eta-wink-kzd/commit/5c72344ca4
04:45 contingencyplan left #parrot
04:51 plobsing obscure.ops is thus named because it originally contained *only* the obscure trig ops that hardly anyone has even heard of (haversine anyone?). fact, gcd, and lcm came latter because it seemed like the best place to put them.
04:52 plobsing also, why isn't there a chord op? That one stands a decent chance of actually being useful ;)
04:54 theory left #parrot
04:55 dukeleto plobsing: there are many math ops which parrot doesn't have that would be useful
04:55 dukeleto rfw: i am making a task for the obscure ops now
04:59 Matt_ dukeleto: Can you review this: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129391050609
04:59 dukeleto rfw: obscure task created
05:01 Nol888 joined #parrot
05:02 dukeleto Matt_: looking
05:03 dukeleto Matt_: nice work
05:04 Matt_ dukeleto: thanks
05:04 dukeleto Matt_: task completed
05:04 Matt_ Im gonna go now. Good night!
05:04 Yuki`N left #parrot
05:04 cotto 'night
05:05 Matt_ left #parrot
05:05 dukeleto cotto: you want to merge that pull request? it looks pretty good
05:05 * dukeleto is creating more tasks
05:06 cotto deal
05:07 cotto dukeleto, is it better to rebase before pushing or not?
05:07 dalek parrot: 28f157a | (Matt Rajca)++ | t/dynoplibs/io.t:
05:07 dalek parrot: Increased coverage for io_ops.c
05:07 dalek parrot: review: https://github.com/parrot/parrot/commit/28f157a54f
05:07 Nol888 left #parrot
05:08 Nol888 joined #parrot
05:08 dukeleto cotto: in what situation?
05:08 cotto here, where I'm accepting a pull request
05:08 dukeleto cotto: i always do a "git pull --rebase", and you must do it if you want to push and you are out of date
05:08 dukeleto cotto: yes, i would always "git pull --rebase" before dealing with a merge, to make sure you have the latest master
05:09 cotto Sure, but do I want to do it between when I merge and when I push?
05:09 cotto to avoid the merge commit?
05:10 dukeleto cotto: you can do either between or after, but depending on what the pull request based their code from (your copy of master or something else) the possibility of conflicts changes
05:10 dukeleto cotto: --rebase will never create a merge commit unless there are conflicts and you have to manually deal with them
05:11 cotto handy.  Can I use that from my master?
05:11 dukeleto cotto: i just always 'git pull --rebase' on master before dealing with any merges/pull requests
05:11 dukeleto cotto: this is in git_workflow.pod :)
05:11 dukeleto cotto: it is described in more detail there
05:11 * cotto is schooled
05:12 * rfw kills a kitten
05:13 dukeleto rfw: are you sacrificing virgin goats to the dynop gods?
05:13 rfw dukeleto: i'm not sure whether i should say yes or no
05:13 rfw brb heading out for a bit
05:13 dukeleto cotto: the OS dynpmc has scarily low test coverage
05:14 redicaps joined #parrot
05:14 cotto I thought that just got a bump.
05:17 cotto looks like it won't be too hard to test
05:18 Nol888 left #parrot
05:20 dukeleto cotto: i just created a task for it
05:21 cotto bam
05:21 dukeleto cotto: i see the gziphandle dynpmc at 0% coverage. Is it not being included in coverage tests?
05:22 dalek tracwiki: v74 | cotto++ | ParrotQuotes
05:22 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Pa​rrotQuotes?version=74&amp;action=diff
05:22 Yuki`N joined #parrot
05:23 cotto dukeleto, I don't know.  fperrad wrote it.
05:23 aantn joined #parrot
05:23 aantn hi, are there any gci mentors around?
05:24 cotto aantn, chances are good
05:24 dukeleto aantn: hola, wazzup?
05:24 dukeleto aantn: i am the GCI org admin. welcome!
05:24 aantn cotto, dukeleto: I want to submit my work as a github branch
05:25 aantn should I commit changes to the include files (that were made automatically by the headerizer?)
05:25 cotto aantn, yes
05:26 cotto any files that are tracked should be committed when they change
05:26 cotto headerizer isn't run as part of the regular build
05:27 aantn cotto: damn, I'm having some trouble accessing github
05:27 aantn I'm going to just submit my work as a patch for now and I'll see if I can setup a proper github branch later
05:27 dukeleto aantn: if you are having lots of trouble with github, a patch is fine
05:27 dukeleto aantn: which task are you working on?
05:27 aantn dukeleto: http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129372687973
05:28 dukeleto aantn: create a patch and submit the task and we will take a look
05:28 aantn dukeleto: thanks, submitted
05:28 aantn dukeleto: I'm going to be for a few hours w/o internet access
05:29 aantn dukeleto: can you quickly recommend another task to work on?
05:29 dukeleto aantn: i just added a few
05:29 aantn dukeleto: I can't claim any yet
05:29 aantn dukeleto: ah, I have to run
05:30 aantn dukeleto: I'll figure something out
05:30 dukeleto aantn: the OS PMC task
05:30 dukeleto aantn: there are 2 of them
05:30 aantn dukeleto: quick link?
05:30 dukeleto aantn: one task each for increasing test coverage by 30%
05:31 aantn dukeleto: fantastic, can you hide one of them so that no one else will claim it?
05:31 aantn dukeleto: docs are included in git master, right?
05:31 dukeleto aantn: i don't think i have that ability
05:32 dukeleto aantn: docs are in the docs/ directory in our repo
05:32 aantn dukeleto: okay, nm
05:32 aantn thanks
05:32 dukeleto aantn: trying to get you a link
05:32 dukeleto aantn: melange is dog slow
05:33 dukeleto aantn: don't worry, just work on the OS PMC task and don't worry about it.
05:33 dukeleto aantn: do you think you will be able to complete it within the next few days?
05:33 dukeleto aantn: http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129394583528
05:36 dukeleto aantn: i can still create another OS dynpmc task for you if those 2 get taken
05:37 rurban_ joined #parrot
05:38 aantn left #parrot
05:38 fbrito joined #parrot
05:38 Nol888 joined #parrot
05:38 fbrito Nol888: are you there?
05:38 Nol888 Hi.
05:39 Nol888 My internet does not like me today.
05:39 fbrito Nol888: I just saw your ticket http://trac.parrot.org/parrot/ticket/1918
05:40 Nol888 Yes, it hasn't been pulled into master yet.
05:40 Nol888 Pending testing results with Rakudo.
05:40 Nol888 And other HLLs.
05:40 rurban left #parrot
05:40 rurban_ is now known as rurban
05:42 rfw time to write some obscure tests for some obscure dynops
05:42 fbrito Nol888: ah, I see
05:42 Nol888 I'm playing VVVVVV.
05:42 rfw oh god
05:42 rfw why
05:42 rfw why would you do that
05:43 Yuki`N left #parrot
05:43 gbacon left #parrot
05:54 cotto that game is kinda great
05:55 rfw cotto: kinda oh god why am i still playing this too
05:57 rfw i can see why nobody bothered writing comprehensives tests for the obscure dynops
05:57 rfw -s
05:58 rfw they're _boring_
05:58 rfw hah, ahead of jumpyshoes by 10
06:01 cotto I bet he's not so jumpy now.
06:01 cotto ;)
06:02 rfw lol 40% -> 80% for obscure dynops
06:02 rfw am i allowed to claim 2 tasks for that
06:02 dukeleto rfw: you can write code that generates tests if you like :)
06:02 dukeleto rfw: that can be more fun
06:02 rfw dukeleto: can you make another dynops task
06:02 rfw err
06:02 rfw -dynops+obscure
06:03 sorear eval "pass;" x 1024
06:03 dukeleto rfw: is there only one now?
06:03 rfw dukeleto: yeah
06:03 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129394433887
06:03 rfw you didn't approve yet, heh
06:04 rfw i love scrolling down the coverage stats and only seeing green in the margin
06:04 dukeleto rfw: indeed
06:04 rfw dukeleto: can you accept claim for that then make another obscure task?
06:05 dukeleto rfw: accepted
06:05 dukeleto rfw: http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129394826232
06:05 rfw work submitted
06:05 rfw [19:01:23] <@cotto> I bet he's not so jumpy now. <-- i think he's more jumpy if anything
06:06 fbrito dukeleto: can you please accept my claim on http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129394826232 ?
06:06 fbrito aahhaa, just kidding :D
06:06 rfw fbrito: there's nothing for you to do if you do :D
06:06 rfw well technically there is
06:06 rfw have fun testing static functions!
06:06 dukeleto fbrito: there are plenty more tasks
06:06 dukeleto fbrito: just create more in the last few mins
06:06 dukeleto s/create/created/
06:06 rfw i better merge
06:07 fbrito yes, I now :P
06:07 fbrito I was just kidding. actually I still have to finish work on a task that I claimed
06:08 cotto dukeleto, thanks for posting the gci task template.  It lowers the barrier to creating new tasks quite nicely.
06:08 rfw "Increase the code coverage of the obscure opcodes by at least 20%" "This will ensure there are no hidden bugs in our Hashs, which are a very important subsystem of Parrot."
06:08 rfw someone really needs to fix that
06:08 dukeleto rfw: blarg
06:09 dukeleto rfw: bad copy and pasting.
06:09 rfw blarg?
06:09 rfw lol
06:09 dukeleto rfw: don't worry too much about it :) you know what is going on, that is the important part
06:09 rfw i feel myself calling it yoink-and-plonk now due to vim's y and p keys, heh
06:09 rfw s/feel/find/
06:11 dukeleto rfw: i like that
06:14 rfw dukeleto: did you look at my pull request yet?
06:15 dukeleto rfw: probably not. I complete tasks that look good and let a few pull request build up
06:15 dukeleto rfw: assembly line fashion. I am creating more tasks now
06:16 rfw did you look at http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129394826232 yet?
06:16 dukeleto rfw: task switching reduces effectiveness
06:17 dukeleto rfw: description updated
06:17 rfw dukeleto: no i mean could you mark it as completel, lol
06:20 fbrito I am going to bed
06:20 fbrito good night guys
06:20 dukeleto rfw: your pull request 84 mixes lots of stuff together
06:20 rfw night fbrito
06:20 dukeleto fbrito: night!
06:20 rfw dukeleto: yeah i know
06:20 rfw i don't know why github does that
06:20 dukeleto rfw: just accepted your debug dynop task
06:21 rfw what debug dynop task
06:21 dukeleto rfw: are you creating topic branches?
06:21 dukeleto rfw: forget it, wrong task
06:21 dukeleto rfw: have you read git_workflow.pod ?
06:21 rfw oh
06:21 rfw uh
06:21 rfw don't kill that kitten!
06:22 rfw oh, should i make a branch for everything new i make?
06:22 fbrito left #parrot
06:23 dukeleto rfw: yes, one topic branch per gci task
06:23 rfw ah okay
06:23 dukeleto rfw: then your pull requests will work correctly
06:23 rfw i'll do that in future, heh
06:23 dukeleto rfw: and don't commit directly to master
06:23 rfw ah okay
06:23 dukeleto rfw: you need anything from me?
06:23 rfw can you close that task?
06:24 rfw and then approve+close the other obscure dynops task
06:24 rfw since i improved it from 40% -> 80% in that commit
06:25 Kapace_ thanks dukeleto, good night..
06:25 dukeleto Kapace_: no worries
06:25 dukeleto rfw: completed
06:27 Kapace_ rfw: beware jumpy is taking a ton of fuzzing tasks..
06:27 dukeleto rfw: i think you are all set now
06:27 rfw Kapace_: yeah i saw
06:27 rfw dukeleto: alright, now the other one
06:27 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129394826232
06:28 dukeleto rfw: accepted
06:28 rfw dukeleto: submitted
06:29 * rfw fuzzes Kapace_
06:30 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129394826232
06:30 Kapace_ eww
06:30 rfw dukeleto: ^
06:32 Nol888 I think I'm stopping for tonight.
06:32 dukeleto rfw: completed
06:32 dukeleto Nol888: take a break
06:32 rfw thanks
06:33 Nol888 Ugh, I get back into school on the 3rd.
06:33 dukeleto Nol888: go for a walk and breath some fresh air
06:33 Nol888 It's 1:33am unfortunately.
06:33 Nol888 At this rate I might lose my 3rd place. ;-;
06:33 rfw Nol888: go for a walk and take a gun with you
06:33 Nol888 I need to catch up on schoolwork, ugh.
06:33 Kapace Nol888, no one will take your 3rd. Trust me
06:34 rfw inb4 Kapace takes Nol888's 3rd
06:34 Nol888 lol
06:34 Nol888 YOU SAID INB4 NOW IT CAN'T BE DONE.
06:34 Kapace hehe, ssh, he's still here!
06:34 rfw now i'm 18 points ahead of jumpyshoes
06:34 rfw i bet he's jelly
06:35 Nol888 Lol he's jelly.
06:35 Nol888 What's the status of the IO dynops.
06:35 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129394583528 hey let's increase the coverage of the os dynpmc
06:36 * rfw remembers to switch branch
06:36 dukeleto rfw: i have one of those tasks "reserved" for another gci student ;)
06:37 rfw oh right
06:37 rfw forgot about that
06:37 dukeleto rfw: you can do one of them, but try some other tasks :) I am adding more now
06:37 rfw let me withdraw
06:37 rfw since most likely i'll end up covering all of it
06:37 dukeleto rfw:  ;)
06:37 dukeleto rfw: i am making more tasks to satisfy your needs :)
06:37 Nol888 dukeleto, you need to prune some of these tasks which are technically impossible to fulfill.
06:37 rfw oh dukeleto, was it you who i talked to about Continuation.continuation
06:38 rfw Experimental: returns continuation PMC of this Continuation or PMCNULL if none.
06:38 rfw ^ does this even make any sense
06:39 dukeleto rfw: oh yeah. damn.
06:40 rfw i should make a bug
06:40 dukeleto Nol888: yes, you are probably right
06:41 * dukeleto creates a task relating to pbc_disassemble
06:42 rfw ticket created for continuation method of continuation pmc
06:42 dukeleto Nol888: i will try to cull the bad ones tomorrow
06:42 Nol888 Ok.
06:42 dukeleto rfw++ # ticket wrangling
06:42 rfw probably should've done it earlier, heh
06:43 dukeleto Nol888: i am concentrating on creating tasks now, because I will become busy in the next few days and won't have as much time to devote to GCI
06:43 Nol888 Ah.
06:43 rfw dukeleto: we can still bother cotto :D
06:43 dukeleto Nol888: i want to make sure there are lots of tasks for everyone to choose from the in the last frenzy of GCI
06:43 dukeleto rfw: yep :)
06:43 Nol888 Lol.
06:44 dukeleto if any of you can show that those functions in the dynop code are dead and can be removed, i can create a task for it
06:44 cotto Sure.  I'll be up for a while.
06:44 dukeleto if nothing in parrot calls those functions, we should remove them
06:44 dalek TT #1926 created by rfw++: continuation method of Continuation PMC
06:44 dalek TT #1926: http://trac.parrot.org/parrot/ticket/1926
06:44 rfw i'm pretty sure we can
06:44 Nol888 Some of them are not technically dead.
06:44 rfw well
06:45 Nol888 However others seem to be.
06:45 dukeleto cotto: i hope you are ready for a whirlwind of commits in the next week
06:45 dukeleto Nol888: remove the zombies, please :)
06:45 Nol888 Was the PIRC readme ever fixed?
06:45 cotto dukeleto, because of the end of gci?
06:45 rfw actually it does look like they may be needed
06:45 rfw but they're never called so i have no idea
06:45 dukeleto cotto: yep. It is like blood in a shark tank
06:46 dukeleto rfw: well, all the dynops have copy+paste code. If you can get rid of that somehome, that would be worth a task
06:46 Nol888 Looks like that readme was never fixed.
06:46 dukeleto rfw: it might be that way because the alternative sucks. Who knows. But it is something to think about.
06:47 rfw yeah
06:47 dukeleto rfw: there are lots of tasks in melange now. You can hack on those
06:47 rfw ah, thanks
06:50 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129395051887
06:50 rfw do i test the --help option just by assuming it doesn't break, lol
06:51 dukeleto rfw: yes, but have a test verifies the output of it
06:51 rfw so what if it changes?
06:51 dukeleto rfw: the test changes
06:51 rfw oh okay
06:51 dukeleto rfw: you can make the test as strict as you want
06:52 dukeleto rfw: just making sure the damn thing doesn't coredump when it is given --help is most of test :)
06:52 rfw heh
06:52 rfw is there a run_output_like or something function
06:52 rfw to capture the output of a program?
06:52 Nol888 dukeleto, hey, I'm looking at NCI and from what I can tell, it's supposed to thrown an exception when trying to invoke a null function.
06:53 Nol888 Instead it just fails an assertion.
06:54 dukeleto Nol888: sounds like a bug
06:54 dukeleto rfw: yes
06:54 rfw dukeleto: what is it?
06:54 dukeleto rfw: look at the tests in t/tools
06:54 Nol888 dukeleto, i will attempt a fix.
06:54 dukeleto rfw: they use the functions
06:54 dukeleto Nol888: thanks!
06:54 * dukeleto is going to attempt to go to bed soon
06:55 rfw i only see things like dump_output_like
06:55 rfw which invokes pbc_dump and stuff
06:55 rfw oh i see it
06:55 rfw bleh
06:55 rfw at the bottom
06:56 Nol888 #6  0x0074476d in Parrot_NCI_invoke (interp=0x8059020, _self=0x80dcecc,
06:56 Nol888 next=0x80e8c3c) at ./src/pmc/nci.pmc:248
06:56 Nol888 Oh damn
06:56 Nol888 Source lines are working again.
06:56 Nol888 I'm rather confused.
06:58 dukeleto Nol888: what confuses you, grasshopper?
06:59 Nol888 Before line information was broken.
06:59 Nol888 And now it's working again.
06:59 Nol888 Maybe it was only broken for some PMCs.
07:03 Nol888 Why do some VTABLEs return pointers to orig_func and others to func?
07:03 dukeleto Nol888: are you building differently now? with --debugging ?
07:03 dukeleto Nol888: great question. perhaps ask parrot-dev ?
07:03 Nol888 Nope.
07:07 rfw hah my --help regex is horrible
07:08 rfw dukeleto: http://pastebin.com/6HCVpF3d is this sufficiently evil
07:08 Nol888 Sent to parrot-dev.
07:09 Nol888 Well I can't quite complete this yet.
07:14 dukeleto Nol888: because you are waiting on parrot-dev ?
07:14 Nol888 Yes.
07:15 dukeleto rfw: sure
07:15 Nol888 I will instead revise the PIRC README.
07:15 dukeleto Nol888: sounds good
07:15 Nol888 Should I withdraw?
07:15 dukeleto Nol888: not sure. don't want you to be blocked
07:16 Nol888 Well I guess I will; other mentors might mistakenly give others tasks that I'm doing then.
07:16 dukeleto Nol888: ok
07:20 rfw increased to 65.4%
07:20 rfw \o/
07:21 dalek parrot: 78e1a97 | rfw++ | t/dynoplibs/obscure.t:
07:21 dalek parrot: Maxed obscure dynops coverage.
07:21 dalek parrot: review: https://github.com/parrot/parrot/commit/78e1a97c3f
07:21 dalek parrot: 8f290cb | dukeleto++ | t/dynoplibs/obscure.t:
07:21 dalek parrot: Merge branch 'master' of https://github.com/rofflwaffls/parrot into rofflwaffls-master
07:21 dalek parrot: review: https://github.com/parrot/parrot/commit/8f290cb67b
07:21 rfw dukeleto: lol this break line isn't being covered
07:21 dukeleto rfw: submit a task and pull request and go hack on something else :)
07:22 dukeleto rfw: i won't be awake much longe
07:22 rfw okay
07:22 rfw hold for a bit!
07:22 dukeleto longer, rather. My eyes are failing...
07:23 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129395051887]
07:23 rfw er
07:23 rfw http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129395051887
07:24 rfw dukeleto: don't fall asleep on me now! D:
07:25 * dukeleto looks
07:25 Nol888 left #parrot
07:25 chromatic left #parrot
07:26 dukeleto rfw: your pull requests are all wonky, because you aren't updating from upstream
07:26 rfw dukeleto: i did then
07:27 dukeleto rfw: but i will accept it
07:27 rfw thanks
07:27 * dukeleto needs to add docs for keeping in sync with an upstream to our git_workflow.pod
07:27 * dukeleto self-flagellates
07:27 dukeleto rfw: completed
07:27 rfw yay
07:29 dukeleto rfw: want another task approved?
07:29 rfw hunting for one
07:29 dalek Some 'leto' person just gave me a 22455 byte commit packet.  They need to be more careful in the future.
07:29 rfw holy crap i did 8 tasks today
07:30 dukeleto rfw: wow, congrats
07:31 rfw thanks
07:32 dalek parrot/leto/embed_grant: c6e3d16 | dukeleto++ | t/src/embed.t:
07:32 dalek parrot/leto/embed_grant: Remove incorrect comment
07:32 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/c6e3d16244
07:33 Yuki`N joined #parrot
07:33 Yuki`N dukeleto, can you approve http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129365062593
07:34 Yuki`N I've finished revising but since it's only one file I'm just providing a patch.
07:34 dukeleto Yuki`N: accepted
07:36 rfw https://roundup.ffmpeg.org/file1249/fix.diff <-- and they criticize me for one line fixes
07:38 Yuki`N dukeleto, submitted, please apply and proofread my work. :P
07:49 dukeleto Yuki`N: looking
07:51 dukeleto Yuki`N: this patch applies to the parrot/pirc repo, correct?
07:51 Yuki`N Yes.
07:55 dukeleto Yuki`N: applied and completed
07:56 Yuki`N Thanks~
07:57 dukeleto Yuki`N: pirc doesn't have the proper stuff to notify this channel. I will add it now
07:59 dalek pirc: a7f5f04 | dukeleto++ | README.pod:
07:59 dalek pirc: Improve README.pod, a GCI task by Yuki`N++
07:59 dalek pirc: review: https://github.com/parrot/pirc/commit/a7f5f04534
08:00 rfw karma N
08:00 aloha N has karma of 47.
08:01 Yuki`N Impressive.
08:12 dalek parrot/leto/embed_grant: 4899a1b | dukeleto++ | t/src/embed.t:
08:12 dalek parrot/leto/embed_grant: [t] Parrot_PMC_is_equal
08:12 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/4899a1bd87
08:14 fperrad joined #parrot
08:21 Yuki`N Night all.
08:23 Yuki`N left #parrot
08:29 dalek parrot/leto/embed_grant: 28a3817 | dukeleto++ | t/src/embed.t:
08:29 dalek parrot/leto/embed_grant: [t] Parrot_PMC_subtract
08:29 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/28a3817fe3
08:36 dalek parrot: 4f194d1 | (Natan Yellin)++ | / (2 files):
08:36 dalek parrot: Break PackFile_unpack into separate validation and unpacking stages
08:36 dalek parrot:
08:36 dalek parrot: Signed-off-by: Christoph Otto <christoph_git@mksig.org>
08:36 dalek parrot: review: https://github.com/parrot/parrot/commit/4f194d179f
08:38 cotto Hmm.  That function should definitely be broken down further.
08:41 * cotto goes off to make another suspiciously similar task
08:44 cotto msg aantn Your patch looks good.  I made another task of the same type if you want to break PackFile_unpack down further.
08:44 aloha OK. I'll deliver the message.
08:45 dalek parrot: a17b69c | cotto++ | / (2 files):
08:45 dalek parrot: [pf] rename function to avoid unneeded caps, fix exception messages
08:45 dalek parrot: review: https://github.com/parrot/parrot/commit/a17b69c93c
08:45 dalek parrot/leto/embed_grant: ffa2d6a | dukeleto++ | t/src/embed.t:
08:45 dalek parrot/leto/embed_grant: [t] Parrot_PMC_floor_divide
08:45 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/ffa2d6a7c7
08:56 dalek parrot/leto/embed_grant: 3e2c729 | dukeleto++ | t/src/embed.t:
08:56 dalek parrot/leto/embed_grant: [t] Parrot_PMC_cmp
08:56 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/3e2c729639
08:56 cotto rfw, pign
08:57 rfw cotto: pong
08:57 cotto rfw, should I expect the tests in your pull request to fail?
08:57 rfw cotto: which?
08:57 cotto pbc_disassemble
08:57 rfw odd, mine are fine
08:57 rfw hold on
08:57 cotto the last 3 fail on my box
08:58 cotto might just be a bad plan
08:58 rfw argh
08:58 rfw how the hell did that happen
08:58 cotto yup
08:58 cotto that's all
08:58 rfw thank god
08:58 cotto done
08:58 dalek parrot: 0d1b7ab | rfw++ | t/tools/pbc_disassemble.t:
08:58 dalek parrot: Increased coverage of pbc_disassemble tool to 65.4%
08:58 dalek parrot: review: https://github.com/parrot/parrot/commit/0d1b7ab26b
08:58 dalek parrot: 7fb8b03 | cotto++ | t/tools/pbc_disassemble.t:
08:58 dalek parrot: [t] fix test plan
08:58 dalek parrot: review: https://github.com/parrot/parrot/commit/7fb8b03c6d
08:58 cotto did you have a gci task for that?
09:00 rfw yup, dukeleto approved
09:00 cotto great
09:16 cotto dukeleto++ for git_workflow
09:17 dukeleto cotto: danke :)
09:19 cotto It seems clunky to format-patch, apply and am.  Why not merge directly?
09:32 aantn joined #parrot
09:34 cotto hi aantn
09:34 redicaps left #parrot
09:34 aantn hey cotto :)
09:35 aantn thanks for reviewing my patch so quickly
09:35 cotto thanks for writing it
09:35 cotto I hope it won't be the last.
09:37 aantn cotto: nope
09:37 aantn cotto: my internet connection is too slow for melange's list of tasks to load
09:38 cotto http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129372687973
09:38 cotto sigh
09:39 aantn cotto: thanks, can you give me a link to another 4-point task?
09:39 cotto whoops.  I thought I was.
09:40 aantn cotto: or even two tasks - aloha mentioned another refactoring task
09:40 cotto http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129395776088
09:40 aantn cotto: I was also reading over the docs and code for the pmc tests
09:43 cotto do any of those look interesting to you?
09:46 aantn cotto: sorry, still waiting for the link to load
09:46 cotto Wow.  I don't envy how long it must have taken to clone Parrot.
09:46 cotto thanks for sticking with it
09:46 aantn cotto: nah, it's fine
09:47 rfw left #parrot
09:47 aantn cotto: the new task has the same description as the old task
09:47 cotto yes
09:47 aantn cotto: okay, I can break out more of the code
09:47 cotto there's still plenty of room to break down the code
09:48 cotto definitely intentional
09:48 aantn cotto: I'm claiming that task and I'll work on the code offline for a while
09:48 cotto excellent
09:48 aantn cotto: if I finish, is there any test code that I can safely work on without duplicating someone else's effort?
09:48 cotto I'll look forward to your patch
09:49 cotto If you want to pick a task, I'll try to reserve it
09:49 aantn cotto: I can't see anything :/
09:49 cotto I'm sorry Melange's ui makes that difficult for you.
09:49 aantn cotto: just name a part of the code
09:50 aantn cotto: it's only temporary - I'm on a family vacation in China
09:50 nopaste "cotto" at 192.168.1.3 pasted "cvs export of tasks" (22 lines) at http://nopaste.snit.ch/27529
09:50 aantn cotto: what's interesting is that google-melange.com is blocked, but the appspot domain isn't
09:50 cotto there you go.  That should load quickly
09:50 cotto go figure
09:51 aantn cotto: wow, great
09:51 cotto ugly, but functional
09:51 cotto pick one and I'll mark it as reserved
09:52 aantn cotto: I'll take the Class PMC
09:52 cotto ok
09:52 aantn cotto: how can I check what the test coverage is?
09:53 cotto done
09:53 cotto aloha, coverage?
09:53 aloha cotto: coverage is http://cv.perl6.cz or http://tapir2.ro.vutbr.cz/cover/cover-results/
09:53 cotto ^
09:53 cotto or make fullcover or make cover, depending how patient you're feeling
09:54 aantn cotto: make cover will output the results locally?
09:54 cotto yes
09:54 cotto it'll make some local html files
09:54 cotto that's what cv.perl6.cz displays
09:58 aantn cotto: I'm missing Devel:Cover
09:58 aantn cotto: is there an easy way to install modules in perl?
09:58 aantn cotto: something akin to easy_install/pip for python?
09:58 cotto aantn, what OS are you running?
09:59 cotto There's cpan, but it's easier if your distro provides a package
09:59 aantn cotto: I can't find the proper Ubuntu package
10:00 cotto libperl-devel-cover I think
10:00 aantn cotto: I already installed that, but it didn't seem to help
10:01 cotto libdevel-cover-perl
10:01 cotto are you using a custom-build perl?
10:01 aantn cotto: no
10:01 cotto that should give you what you need then
10:03 cotto did you re-run Configure.pl?
10:03 cotto you need to do that after install Devel::Cover
10:03 aantn cotto: ah, awesome
10:03 aantn cotto: I've got to run and catch the tourbus again
10:03 cotto see you
10:03 aantn cotto: thanks for all the help
10:03 cotto happy hacking
10:04 cotto np
10:09 aantn left #parrot
10:10 mikehh moritz: ping
10:16 cotto msg aantn claim accepted, btw
10:16 aloha OK. I'll deliver the message.
10:26 contingencyplan joined #parrot
10:40 moritz mikehh: pong
10:44 mikehh moritz: I am getting some stuff in git status on rakudo that needs to be tracked (.gitignore and make realclean maybe) let me paste it here
10:46 nopaste "mikehh" at 192.168.1.3 pasted "git status for rakudo" (33 lines) at http://nopaste.snit.ch/27530
10:47 moritz mikehh: actually these left over files point to problems in the test suite - I don't know if we should sweep them under the carpet by cleaning them in rakudo
10:47 mikehh moritz: byw what is the nopaste for #perl6, it used to be in the channel topic
10:48 mikehh btw
10:48 sorear there isn't one
10:48 moritz there's none that pastes directly to #perl6
10:49 sorear just use App::Nopaste :)
10:49 sorear there used to be one but it was discovered by spammers.
10:50 mikehh moritz: yes, they should be removed by the test suite, but rakudo_test_run.tar.gz, should probably be in .gitignore
10:51 moritz mikehh: agreed
10:52 mikehh sorear: that's sad, I seem to remember using lisp something, but them spammers need really sortin' out
11:00 whiteknight joined #parrot
11:23 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1963) fulltest) at 2_11_0-528-g7fb8b03 - Ubuntu 10.10 i386 (gcc-4.5)
11:36 mikehh g++ build fails (since yesterday) -
11:36 mikehh src/packfile/execute.c: In function ‘PMC* run_sub(parrot_interp_t*, PMC*)’:
11:36 mikehh src/packfile/execute.c:89:52: error: ‘Parrot_ext_call’ was not declared in this scope
11:40 mikehh that seems to be defined in include/parrot/extend.h - it builds if I add thet but seems to cause all sorts of problems for t/src/checkdepend.t
11:40 mikehh that
11:44 mikehh ok - think I have worked it out - let me check
11:48 whiteknight mikehh: Should probably swap out the call to Parrot_ext_call with Parrot_pcc_invoke_sub_from_c_args (or whatever it is called)
11:48 whiteknight let me look
11:48 cosmixn2003 joined #parrot
11:49 cosmixn2003 hello.. anybody here? i need some help regarding parrot test suites
11:52 cosmixn2003 left #parrot
11:57 mikehh well I was going to reply to cosmixn2003, but seems to have gone
11:57 cosmixn2003 joined #parrot
11:57 mikehh back
11:57 cosmixn2003 ok
11:57 cosmixn2003 may i get some help?
11:58 mikehh cosmixn2003: what do you need?
11:58 mikehh whiteknight: works now with include/parrot/extend.h
12:05 whiteknight mikehh: Still, I think there is a better function to use which doesn't require that header
12:05 whiteknight mikehh: Commit what you have, and I'll see what I can do with it
12:05 mikehh whiteknight: 'k
12:13 dalek parrot: d658546 | mikehh++ | src/packfile/execute.c:
12:13 dalek parrot: add include file to get g++ to build
12:13 dalek parrot: review: https://github.com/parrot/parrot/commit/d658546f5f
12:13 dalek parrot: 5b484bf | mikehh++ | config/gen/makefiles/root.in:
12:13 dalek parrot: add dependencies for src/packfile/execute.c
12:13 dalek parrot: review: https://github.com/parrot/parrot/commit/5b484bf003
12:15 mikehh whiteknight: make moretests ok for those
12:15 whiteknight ok
12:22 mikehh still don't see what I did wrong when I tried to fix it yesterday, but it works now
12:28 * mikehh got to go out for a bit - bbl
12:33 cosmixn2003 any windows user here?
12:35 cosmixn2003 left #parrot
13:18 whiteknight cosmixn2003: sortof. What do you need?
13:28 kid51 joined #parrot
13:37 rurban_ joined #parrot
13:40 rurban left #parrot
13:40 rurban_ is now known as rurban
13:41 bluescreen left #parrot
13:41 bluescreen joined #parrot
13:44 whiteknight has anybody played with whitespace handling in the makefile recently?
13:44 whiteknight I'm getting some weird buildfailures
13:45 kid51 whiteknight: 'make' was satisfactory for me as of 1000pm last night
13:45 kid51 Is this in master?
13:45 whiteknight kid51: yes
13:46 kid51 What has changed in config/gen/makefiles/root.in?
13:46 kid51 (or subsidiary templates)?
13:46 whiteknight I just pulled and it looks like there are some changes in root.in
13:46 whiteknight let me rebuild
13:53 kid51 whiteknight: If you backscroll about 20 hours, I think you'll see a point where some GCI code did have formatting errors in root.in, but am pretty sure mikehh fixed that
13:53 kid51 successful make here
13:59 kid51 PASS: http://smolder.parrot.org/app​/projects/report_details/1967
14:07 dalek parrot: 80a776a | nwellnhof++ | / (5 files):
14:07 dalek parrot: Preparation for TT #1103
14:07 dalek parrot:
14:07 dalek parrot: Fix PGE so that subs declare a :slurpy :named param if they're called
14:07 dalek parrot: with named arguments they don't handle. The test suite should pass if
14:07 dalek parrot: we switch to the stricter checks of TT #1103, but there might be other
14:07 dalek parrot: places that have to be changed.
14:07 dalek parrot: review: https://github.com/parrot/parrot/commit/80a776a1d1
14:10 whiteknight okay, I can't make here at all
14:12 whiteknight I'm going to try a directory without spaces in the path
14:27 kid51 left #parrot
14:38 dalek parrot: 6a36a11 | unknown++ | config/gen/platform/win32/uid.c:
14:38 dalek parrot: fix uid on Win32 so it builds
14:38 dalek parrot: review: https://github.com/parrot/parrot/commit/6a36a11c6d
14:38 dalek parrot: 21e0c8f | unknown++ | / (5 files):
14:38 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
14:38 dalek parrot: review: https://github.com/parrot/parrot/commit/21e0c8fd0b
14:39 whiteknight ls
14:41 dalek TT #1927 created by whiteknight++: Parrot doesn't build on Win32 with spaces in directory name
14:41 dalek TT #1927: http://trac.parrot.org/parrot/ticket/1927
14:42 Kristaba joined #parrot
14:59 aantn joined #parrot
15:11 dalek parrot: 78c580a | unknown++ | src/pmc/filehandle.pmc:
15:11 dalek parrot: cannot use Parrot_dup on Win32. our os_handle is a HANDLE, not a FILE* (as dup expects). Must use DuplicateHandle here instead
15:11 dalek parrot: review: https://github.com/parrot/parrot/commit/78c580a2a7
15:11 aantn left #parrot
15:30 whiteknight goddamnit
15:35 jsut_ joined #parrot
15:40 jsut left #parrot
15:59 dalek parrot: b05bb32 | nwellnhof++ | / (2 files):
15:59 dalek parrot: [src] Fix string usage in src/library.c
15:59 dalek parrot: review: https://github.com/parrot/parrot/commit/b05bb32fc2
16:07 Patterner left #parrot
16:07 lucian joined #parrot
16:07 Psyche^ joined #parrot
16:07 Psyche^ is now known as Patterner
16:19 aantn joined #parrot
16:19 aantn cotto: I have better internet access now, so I can push my new code to a proper GitHub branch. If I pull in the latest commits (which include my own patch), then will git know to ignore my own commit (for the same code)
16:24 Kristaba Hey people
16:24 Kristaba I'm interested by increasing the coverage of CallContext PMC, but after some looking, I see something I don't understand
16:24 Kristaba In the last coverage report, the two VTABLEs functions set/get_number_keyed_str are marked as "not covered"
16:25 Kristaba But in t/pmc/callcontext.t, there is a test for these, using "$N0 = $P0['bar']"
16:25 Kristaba So, why they are marked as not covered?
16:26 plobsing Kristaba: that builds up a key object and calls get_number_keyed. there is no direct mechanism for calling the _str variants of the get_x_keyed opcodes
16:26 plobsing s/opcodes/vtables/
16:28 Kristaba plobsing: Okay, so, to call get_number_keyed_str, I have to do something like "$S0 = 'bar'" and then "$N0 = $P0[$S0]" ?
16:29 plobsing Kristaba: that may not work either. you'll have to do some digging through the C sources to find some code that calls it.
16:31 Kristaba plobsing: Ok, thank you
16:32 whiteknight left #parrot
16:37 dalek parrot: 9eeccff | nwellnhof++ | / (7 files):
16:37 dalek parrot: [io] Put unknown++'s Windows dup fix in src/io/win32.c
16:37 dalek parrot: review: https://github.com/parrot/parrot/commit/9eeccffbb3
16:37 dalek parrot: 270fec7 | nwellnhof++ | / (2 files):
16:37 dalek parrot: [t] Fix checkdepend.t on Windows
16:37 dalek parrot: review: https://github.com/parrot/parrot/commit/270fec7a02
16:38 nwellnhof joined #parrot
16:43 dalek parrot: 931877f | mikehh++ | src/library.c:
16:43 dalek parrot: isxxx() function must cast to unsigned char
16:43 dalek parrot: review: https://github.com/parrot/parrot/commit/931877f609
16:43 dalek parrot: 1e032fd | mikehh++ | src/library.c:
16:43 dalek parrot: forgot to update copyright
16:43 dalek parrot: review: https://github.com/parrot/parrot/commit/1e032fdb97
16:44 lucian Kroll is interesting http://developer.appcelera​tor.com/doc/desktop/python
16:47 nwellnhof mikehh: why must the isalpha(c) function argument be cast to unsigned char? c is an INTVAL already.
16:51 plobsing lucian: yes, it is somewhat interesting in the sense that it allows for multiple languages to interact (at least in a shallow, COM-ishly-wrapped way). haven't you posted that before?
16:51 nwellnhof mikehh: forget it, you're right.
16:51 lucian plobsing: possible
16:52 lucian plobsing: i've been away from internet for a long time, bookmarks are missing
16:53 gbacon joined #parrot
16:53 mikehh nwellnhof: one of the coding standards tests checks for it
16:54 aantn is anyone working on testing the OS PMC?
16:56 nwellnhof mikehh: yes, man isalpha says the argument should be an unsigned char or EOF.
16:57 silug left #parrot
17:13 dalek Some 'nwellnhof' person just gave me a 59304 byte commit packet.  They need to be more careful in the future.
17:15 moritz lol
17:17 dalek parrot/encapsulate-main: 0280cfd | plobsing++ | t/profiling/profiling.t:
17:17 dalek parrot/encapsulate-main: workaround nqp-rx not generating :main tags in profiling.t
17:17 dalek parrot/encapsulate-main: review: https://github.com/parrot/parrot/commit/0280cfda93
17:17 dalek parrot: eb2e8da | plobsing++ | / (6 files):
17:17 dalek parrot: Revert "Move code-running functions out of src/packfile/api.c"
17:17 dalek parrot:
17:17 dalek parrot: This reverts commit 74168f90b3e4fcdef38b17f9e971c90d4bb6a47d.
17:17 dalek parrot:
17:17 dalek parrot: Conflicts:
17:18 dalek parrot:
17:18 dalek parrot: config/gen/makefiles/root.in
17:18 dalek parrot: src/embed.c
17:18 dalek parrot: src/packfile/execute.c
17:18 dalek parrot: src/packfile/packfile_private.h
17:18 dalek parrot: review: https://github.com/parrot/parrot/commit/eb2e8daf69
17:18 dalek parrot: b270d98 | plobsing++ | MANIFEST:
17:18 dalek parrot: mk_manifest_and_skip
17:18 dalek parrot: review: https://github.com/parrot/parrot/commit/b270d98d20
17:18 dalek parrot: cbaad37 | plobsing++ | / (114 files):
17:18 dalek parrot: Merge branch 'encapsulate-main'
17:18 dalek parrot:
17:18 dalek parrot: Conflicts:
17:18 dalek parrot: t/dynoplibs/sysinfo.t
17:18 dalek parrot: review: https://github.com/parrot/parrot/commit/cbaad3757d
17:18 dalek parrot: 75fb81b | plobsing++ | t/pmc/ (2 files):
17:18 dalek parrot: add :main tags to recently added tests
17:18 dalek parrot: review: https://github.com/parrot/parrot/commit/75fb81b750
17:19 dalek parrot/nwellnhof/unicode_io: d970bb5 | nwellnhof++ | src/string/encoding.c:
17:19 dalek parrot/nwellnhof/unicode_io: Fix ASSERT_ARGS
17:19 dalek parrot/nwellnhof/unicode_io: review: https://github.com/parrot/parrot/commit/d970bb50e3
17:20 nwellnhof branch nwellnhof/unicode_io is ready for some final testing
17:21 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1968) fulltest) at 2_11_0-539-g1e032fd - Ubuntu 10.10 i386 (gcc-4.5)
17:23 contingencyplan left #parrot
17:24 kapace__ joined #parrot
17:24 Kapace left #parrot
17:27 dalek parrot: ab8da41 | plobsing++ | PBC_COMPAT:
17:27 dalek parrot: bump PBC_COMPAT after encapsulate-main merge
17:27 dalek parrot: review: https://github.com/parrot/parrot/commit/ab8da41ee0
17:28 aantn left #parrot
17:31 fbrito joined #parrot
17:42 dalek TT #1704 closed by plobsing++: Implicit selection of main sub is deprecated.
17:42 dalek TT #1704: http://trac.parrot.org/parrot/ticket/1704
17:43 jan left #parrot
18:37 plobsing nwellnhof: unicode_io passes fulltest on x86_64 linux
18:38 dukeleto ~~
18:39 tadzik hello dukeleto
18:40 theory joined #parrot
18:42 dukeleto tadzik: how goes it?
18:42 dukeleto tadzik: where did you leave off with getting cardinal to compile/run on parrot master?
18:43 allison left #parrot
18:45 tadzik dukeleto: still fails with this tricky error. Compiles and runs some code
18:47 dukeleto Kristaba: just accepted your callcontext task
18:47 dukeleto tadzik: can you create a github issue in the cardinal repo with all the details?
18:48 Kristaba dukeleto: thanks
18:51 nwellnhof plobsing: thanks for testing
18:57 dalek parrot: d4f23c7 | nwellnhof++ | / (2 files):
18:57 dalek parrot: Fix TT #1924
18:57 dalek parrot:
18:57 dalek parrot: Also put checks of named arguments order in the right place.
18:57 dalek parrot: review: https://github.com/parrot/parrot/commit/d4f23c700f
18:59 Matt221 joined #parrot
18:59 Matt221 Can someone explain the Continuation PMC? Apparently its for restoring the state of an interp to a previous one?
19:04 dalek TT #1918 closed by nwellnhof++: Remove share and share_ro VTABLEs
19:04 dalek TT #1918: http://trac.parrot.org/parrot/ticket/1918
19:04 dalek TT #1924 closed by nwellnhof++: Incorrect use of is function in PIR tests raises misleading error
19:04 dalek TT #1924: http://trac.parrot.org/parrot/ticket/1924
19:06 plobsing Matt221: are you familiar with the concept of continuations? if not, read up about it on wikipedia (I couldn't explain it better).
19:15 Kristaba plobsing: sorry to disturb you again, but after many searches, I didn't find any workable way to execute set/get_number_keyed_str on CallContext from PIR code...
19:16 dukeleto Matt221: the continuation pmc might actually be hard to get another 10% out of
19:17 dukeleto Matt221: is there another PMC test task that interests you?
19:17 Matt221 I was looking at the OS dynpmc
19:17 Kristaba plobsing: I did the major part of my work, but I can't finish it if I can't call these functions :/
19:17 Matt221 It seems like its just basic OS functionality, disk IO, etc..
19:17 dukeleto Kristaba: if you can increase the code coverage, but some code is not reachable from PIR, you can still submit the task
19:18 dukeleto Kristaba: just describe in the task description that some things don't seem to be reachable
19:18 dukeleto Matt221: yep. is there still an OS task open ?
19:18 Matt221 yup. there's two
19:18 Matt221 Hmm. the mkdir method isn't covered but theres a test for it
19:19 plobsing Kristaba: there is exactly *one* instance of that vtable's use: src/call/args.c:fill_params
19:19 plobsing ack ftw
19:19 dukeleto Kristaba: betterthangrep.com
19:19 dukeleto plobsing: can you think of any other PMCs that you would like GCI students to add test coverage to?
19:21 plobsing dukeleto: I'm skeptical about the value of shallow exercise-this source line testing beyond catching segfaults. Testing, in my mind, should verify useful behaviours.
19:21 plobsing in short, no
19:21 dukeleto plobsing: hokey dokey
19:21 dukeleto plobsing: remember that the point of these tasks is to get new people involved in parrot as well. There is more benefit than just the actual tests written
19:22 dukeleto plobsing: but if you have other ideas for tasks, please let me know. We only have a week or so left in GCI
19:22 dukeleto plobsing: GCI students have found plenty of bugs and sharp corners of Parrot, so I think this stuff in useful, on the whole
19:23 dukeleto plobsing: and I would rather have tests that exercise a code path than having a codepath totally untested, even if the test is "trivial"
19:23 dukeleto plobsing: it will allow us to change and refactor parrot more quickly in the future
19:27 jan joined #parrot
19:32 plobsing dukeleto: I see it as the opposite. they are even exercising accidental codepaths that have no legitimate use, test which we will have to remove when we want to refactor
19:33 plobsing dukeleto: I can think of a few items that might be of use, but may only be tangentially related to parrot
19:33 dukeleto plobsing: interesting point of view. "Accidental codepaths" ? Do those actually exist?
19:33 dukeleto plobsing: tasks can be related to any HLL
19:33 dukeleto plobsing: not just parrot
19:33 dukeleto plobsing: i would argue that knowing that an accidental codepath exists is quite valuable
19:33 dukeleto plobsing: our HLL authors will find them, so we better know about them
19:33 plobsing dukeleto: accidental codepaths are imcc's bread and butter ;)
19:34 dukeleto plobsing: yep. And the day IMCC is deleted will be a grand day in Parrot's history
19:34 rfw joined #parrot
19:34 plobsing task idea: gdb has scripting/pretty-printing available to python. gdb on parrot is somewhat verbose/inconvenient. make a package to remedy this.
19:35 dukeleto plobsing: that is when Parrot becomes a teenager instead of an adolescent
19:35 dukeleto plobsing: interesting task, i know some students would be interested
19:35 dukeleto plobsing: can you describe specific deliverables? which features need to be in the first version of that?
19:35 dukeleto thank you to whoever made the http://tapir2.ro.vutbr.cz/cover/latest-c_cover/ symlink
19:35 plobsing task idea: pmc2c generates line number information that confuses C compilers and makes vtable-source-line-stepping impossible. fix it.
19:36 plobsing there's a TT for that somewhere...
19:36 dukeleto plobsing: good tasks. just need more details for the students. i already have a task template, just need specific deliverables or bugs to fix
19:36 plobsing dukeleto: for gdb, I'd like to see PMCs easier to deal with. tell me what type it is and also automatically show me the attributes.
19:37 dukeleto plobsing: yes, that would be awesome
19:37 dukeleto plobsing: is that called a "gdb plugin" or something?
19:37 dukeleto plobsing: what is that called? i haven't ever used something like that, but i want it for parrot
19:38 plobsing possibly a separate task - make STRING* show the contents (just like char* already does)
19:38 plobsing dukeleto: I cannot recall. googling.
19:38 dukeleto plobsing++
19:38 * dukeleto is going to get really busy in the next few days and won't have as much time for GCI stuff
19:39 dukeleto so I am trying to add lots of tasks today
19:39 dukeleto at the current rate, we will run out of tasks in a few days
19:43 plobsing dukeleto: what I have been talking about so far are refered to as pretty-printers in the gdb documentation. In general, it refers to python scripts as "python support scripts"
19:44 plobsing other gdb things I'd like to see are: add a parrot-backtrace command (fairly easy to synthesize, but encapsulating would be nice), break on parrot exceptions, etc...
19:45 plobsing http://sourceware.org/gdb/current/onlinedocs/gdb/ contains adequate information to complete any of the gdb tasks I mentioned
19:51 plobsing dukeleto: the pmc2c line number issue is TT #1735
19:52 dukeleto plobsing: awesome, thanks
19:54 whiteknight joined #parrot
19:54 plobsing dukeleto: if one of them to convince NQP-rx to generate :main subs, they should get a bajillion points.
19:54 plobsing s/to/can/
19:54 tadzik dukeleto: will probably go
19:54 tadzik * do
20:06 dalek parrot/gci_unpack_cleanup: 82bc505 | (Natan Yellin)++ | / (2 files):
20:06 dalek parrot/gci_unpack_cleanup: Break out PackFile_Header validation from PackFile_unpack into a new function
20:06 dalek parrot/gci_unpack_cleanup: review: https://github.com/parrot/parrot/commit/82bc505f78
20:06 dalek parrot/gci_unpack_cleanup: f8efe12 | (Natan Yellin)++ | src/packfile/api.c:
20:06 dalek parrot/gci_unpack_cleanup: Update exception strings in PackFile_Header_validate
20:06 dalek parrot/gci_unpack_cleanup: They now use the correct function name
20:06 dalek parrot/gci_unpack_cleanup: review: https://github.com/parrot/parrot/commit/f8efe127cf
20:06 dalek parrot/gci_unpack_cleanup: 8209940 | (Natan Yellin)++ | / (2 files):
20:06 dalek parrot/gci_unpack_cleanup: Break apart PackFile_unpack into more small functions
20:06 dalek parrot/gci_unpack_cleanup: review: https://github.com/parrot/parrot/commit/8209940686
20:10 whiteknight nwellnhof: ping
20:10 nwellnhof pong
20:11 whiteknight nwellnhof: I've got a local branch I'm cleaning up all that dup code
20:12 whiteknight I'm testing out a GCI branch now, then I'm going to finish up the dup cleanup and push it
20:13 Matt221 whiteknight: I found a few more dead VTABLE's in the OrderedHash PMC. Should I test Rakudo and Lua to see if anything breaks?
20:13 whiteknight Matt221: which ones?
20:14 Matt221 set_string_keyed_str
20:14 Matt221 set_integer_keyed_str
20:14 Matt221 and set_number_keyed_str
20:14 Matt221 looks like tests already exist for them
20:14 whiteknight From PIR you can't call the _keyed_str variants, those would only be used internally
20:15 whiteknight I don't know whether OrderedHash would ever be used internally, but I suspect it could be
20:16 Matt221 whiteknight: Should I ignore those and increase coverage for everything else
20:16 whiteknight Matt221: yes. Can you open a ticket for it, so we have a record of your findings?
20:17 Matt221 whiteknight: Will do. Does the same apply to delete_keyed_str
20:17 Matt221 and defined_keyed_str ?
20:18 whiteknight I don't know about those two. I think they are different
20:21 whiteknight nwellnhof: Actually, looking at your commit, it does basically everything I was going to do.I won't mess with it
20:21 whiteknight kudos
20:22 rfw am i allowed to take the OS PMC tasks, since the Class PMC task says reserved for aantn
20:23 whiteknight rfw: you're allowed to take any task
20:23 whiteknight I'm working on aantn's current task now
20:23 rfw whiteknight: mm dukeleto said yesterday he had one of the OS PMC tasks reserved
20:23 rfw so i'm not sure
20:26 rfw i guess i'll take one of them
20:26 rfw and wait for the opinion on the second
20:30 rfw whiteknight: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129394583528
20:31 rfw funny, i see the tests for the uncovered methods, but they're not being marked as covered
20:33 rfw these tests all pass, too
20:38 dalek parrot: 7460ad9 | Whiteknight++ | / (2 files):
20:38 dalek parrot: fix merge conflicts
20:38 dalek parrot: review: https://github.com/parrot/parrot/commit/7460ad909f
20:42 kid51 joined #parrot
20:53 dalek parrot: 539d122 | fperrad++ | runtime/parrot/library/osutils.pir:
20:53 dalek parrot: [osutils] improve install() utility
20:53 dalek parrot:
20:54 dalek parrot: use case (*nix only):
20:54 dalek parrot:     $ sudo plumage install plumage
20:54 dalek parrot: review: https://github.com/parrot/parrot/commit/539d1220dc
20:54 rfw odd, can_read claims that a file with mode 000 can be read
20:56 rfw oh, blah, perl says the same thing
20:58 * kid51 notes that the degree to which we can report higher test coverage of src/dynpmc/os.pmc is limited by the OS the tester is using.
20:59 kid51 pjcj knows some fancy gymnastics for combining coverage databases from different systems (at least re Perl 5 code), but I've never seen them used on C code.
21:00 pjcj should work fine on C code
21:01 pjcj (I think9
21:01 pjcj )
21:01 kid51 pjcj:  It would be great if you could post a blog post somewhere about that.
21:01 kid51 Until all these GCI students showed up here last month, we made only intermittent attempts to determine coverage of C/PMC code.
21:02 pjcj OK - I'll see what I can do, but it won't be right now, I'm afraid
21:02 pjcj darned students ...
21:02 kid51 (Though, of course, as your disciple, I made your all the Perl 5 code is covered to the max ;-) )
21:02 pjcj :)
21:02 rfw kid51: the coverage for the os.pmc seems to be off
21:02 pjcj I noticed there seems to be a little trouble with the coverage targets
21:02 rfw all the mkdir/cwd and stuff tests seem to be uncovered, when there are actually tests for those
21:03 kid51 rfw: How so? Can you post a coverage report?
21:03 rfw hold on
21:04 kid51 pjcj: Yes, they're very erratic.   My current feeling is that we should rip it all out of the Makefile and just have a series of Perl scripts.
21:04 kid51 IMO they'd be easier to debug and maintain
21:04 pjcj that seems sensible, and it looks like someone has made a start on it
21:04 rfw kid51: http://rofflwaffls.no-ip.i​nfo/src-dynpmc-os-pmc.html
21:04 kid51 master: make moretests PASS linux/i386
21:05 kid51 pjcj:  Yes, Nick W. has started on that ... though I think what you see is a Perl script invoked during make quickcover_new
21:05 pjcj right
21:05 kid51 s/made your/made sure/
21:05 rfw my tests are just the ones at master
21:08 rfw kid51: i can't figure out why it's not reporting correct coverage
21:08 kid51 rfw:  Yes, I've been getting the same results
21:09 kid51 rfw: and i don't have any good explanation, either
21:09 rfw odd
21:10 kid51 So let me ask a couple of questions.
21:10 kid51 What t/ file would you expect to test src/dynpmc/os.pmc?
21:10 rfw t/dynpmc/os.t
21:12 kid51 And the coverage target you're invoking is ...?
21:12 rfw quickcover_new
21:15 mikehh btw you cannot have PARROT_WARN_UNUSED_RESULT with a void function
21:15 fperrad plumage have its first report on http://smolder.parrot.org/a​pp/projects/smoke_reports/3
21:16 kid51 rfw:  I suspect that quickcover_new doesn't test that directory.
21:16 rfw kid51: it covers all the rest of the dynpmcs fine, though
21:16 kid51 config/gen/makefiles/root.in: line 2699: quickcover_new calls cover-test_core
21:17 rfw http://rofflwaffls.no-ip.info/​src-dynoplibs-trans_ops-c.html
21:17 rfw blah
21:17 rfw wrong file
21:17 kid51 line 2714: cover-test_core runs the tests in test_core
21:17 rfw oh
21:17 rfw i got dynops and dynpmcs mixed up
21:17 rfw let me try fullcover and see what happens
21:17 kid51 Now, I'm just looking at quickcover_new for the first time right now, so I may be wrong
21:18 kid51 Try: make cover
21:19 kid51 rfw: Here are my 'make quickcover_new' results:  http://thenceforward.net/parrot/c​overage/quickcover/coverage.html
21:19 rfw ah, it seems the dynpmc tests just aren't being called
21:19 rfw i swear i wrote tests for the dynlexpad pmc
21:24 plobsing_ joined #parrot
21:27 rfw kid51: make cover didn't even work properly
21:27 dalek parrot: 1aadf81 | mikehh++ | src/packfile/api.c:
21:27 dalek parrot: remove PARROT_WARN_UNUSED_RESULT from void function - run make headerizer
21:27 dalek parrot: review: https://github.com/parrot/parrot/commit/1aadf81c68
21:27 dalek parrot: 7ded4c3 | mikehh++ | include/parrot/packfile.h:
21:27 dalek parrot: run make headerizer
21:27 dalek parrot: review: https://github.com/parrot/parrot/commit/7ded4c3e31
21:28 rfw okay nope
21:28 fperrad left #parrot
21:29 plobsing left #parrot
21:30 rfw i'll just add dynpmc coverage to the quickcover_new target
21:30 bluescreen left #parrot
21:30 whiteknight left #parrot
21:36 rurban_ joined #parrot
21:37 kid51 You know, I don't think the tests in t/dynpmc/*.t are being run *anywhere*!
21:38 kid51 Not just in coverage targets, but even 'make test' and 'make fulltest'
21:39 rfw i think i found the problem
21:40 rfw cotto merged the dynlexpad get_iter test into master without actually merging dynlexpad get_iter support
21:40 rfw causing dynpmc_tests to fail
21:40 rurban left #parrot
21:40 rurban_ is now known as rurban
21:44 fbrito left #parrot
21:45 fbrito joined #parrot
21:46 rfw okay nope, that didn'twork at all
21:48 rfw kid51: okay, finally managed to get some correct coverage statistics
21:48 rfw http://rofflwaffls.no-ip.info​/src/dynpmc/os.pmc.gcov.html
21:49 kid51 I am in the process of adding to t/dynpmc/*.t to @Parrot::Harness::DefaultTests::library_tests.
21:49 rfw ah okay
21:49 kid51 This will cause t/dynpmc to start appearing in many of the testing targets, starting with 'make test'
21:50 kid51 rfw: How did you generate that page?
21:50 rfw kid51: with lcov
21:50 kid51 Can you post to parrot-dev about how you did that?
21:50 rfw i'm not sure how to use the parrot coverage page generator so i used lcov instead
21:50 kid51 rfw: An excellent tactic!
21:51 rfw :D
21:51 kid51 Which we haven't paid attention to for a long time.
21:51 kid51 That's why I'm saying: write a post to our list about that.
21:51 rfw alright
21:51 dalek parrot: cd40e35 | nwellnhof++ | / (10 files):
21:51 dalek parrot: Fix build with spaces in build dir
21:51 dalek parrot:
21:51 dalek parrot: See TT #1927
21:51 dalek parrot: review: https://github.com/parrot/parrot/commit/cd40e35893
21:52 Yuki`N joined #parrot
21:52 rfw kid51: so just "use lcov for coverage reports"?
21:53 kid51 Give a brief, step-by-step explanation of how you got to that web page.
21:53 rfw what do i put for the subject?
21:54 kid51 perhaps:  How to use lcov to report test coverage of individual Parrot source code files
21:54 rfw but it doesn't test the coverage of individual source files, really
21:54 dukeleto ~~
21:55 rfw i just made cover-dynpmc and got the coverage report of that
21:57 Yuki`N GCI task: Fix make cover/fullcover/quickcover/quickcover_new
21:57 dalek parrot: cf58fa9 | jkeenan++ | lib/Parrot/Harness/DefaultTests.pm:
21:57 dalek parrot: Add t/dynpmc/*.t to @library_tests.
21:57 dalek parrot:
21:57 dalek parrot: Why the tests in t/dynpmc/ were absent from @library_tests is unclear.
21:57 dalek parrot: Including them in @library_tests will cause them to be run in 'make test'
21:57 dalek parrot: and many other testing targets.
21:57 dalek parrot: review: https://github.com/parrot/parrot/commit/cf58fa9bb8
21:58 dalek parrot: 111bbdb | nwellnhof++ | / (2 files):
21:58 dalek parrot: Rename quickcover_new to cover_new, add fullcover_new target
21:58 dalek parrot: review: https://github.com/parrot/parrot/commit/111bbdb4aa
22:00 cotto rfw, Hmmm.  I thought I made sure that passed before pushing.
22:00 rfw cotto: i put a skip over it for now
22:01 kid51 Attention:  We're going to see failures in 'make test' and Smolder reports because we weren't running t/dynpmc/*.t
22:01 rfw poor, unloved dynpmcs
22:02 dukeleto kid51: good. they will get fixed
22:03 rfw dukeleto: is aantn still wanting that os dynpmc task?
22:05 dukeleto rfw: i think so, but i haven't heard back from him
22:05 dukeleto rfw: do you have other stuff to work on?
22:05 rfw no :(
22:05 rfw well
22:05 dukeleto rfw: oh no!
22:05 rfw i didn't ocmpletely finish the coverage of the os dynpmc
22:05 rfw so he could do that
22:06 dukeleto rfw: thanks :) we will find something for you to do
22:06 rfw though the fact the os dynpmc was showing up at 30% coverage was because the coverage was broken, heh
22:06 dukeleto rfw: i see
22:06 dukeleto rfw: well, it is good that we realized that
22:07 cotto dukeleto, indeed
22:07 rfw src/dynpmc/os.pmc75.975.9
22:07 dukeleto rfw: if you see any important PMCs that are not yet at 100% coverage, i can make tasks to bring them up to 100%
22:07 rfw still enough for him to do :)
22:07 dukeleto rfw: that will involve testing lots of exceptions, probably
22:07 dukeleto rfw: awesome!
22:07 dukeleto rfw: there is also the task that plobsing suggested earlier today: gdb pretty-printers for parrot
22:07 dukeleto rfw: which sounds pretty cool
22:08 dalek parrot: 0496af5 | jkeenan++ | / (12 files):
22:08 dalek parrot: Update copyright dates to 2011.
22:08 dalek parrot: review: https://github.com/parrot/parrot/commit/0496af5aaf
22:08 Yuki`N Heh.
22:08 dukeleto rfw: we want to register gdb pretty printers so that we can dump STRING PMCs and PMC attributes easily from gdb
22:08 Yuki`N gdb~
22:08 Yuki`N I will help with that.
22:08 dukeleto Yuki`N: there is multiple parts of hacking on gdb stuff
22:09 Yuki`N They print out relatively nicely already though.
22:09 Yuki`N As long as you have the right pointer type, at least.
22:09 Matt221 left #parrot
22:09 dukeleto Yuki`N: look at the log of #parrot from the last 3-4 hrs between me and plobsing
22:09 dukeleto Yuki`N: plobsing_ has specific features he wants added
22:09 dalek parrot: 6c6f93d | jkeenan++ | lib/Parrot/Harness/DefaultTests.pm:
22:09 dalek parrot: Update copyright dates to 2011.
22:09 dalek parrot: review: https://github.com/parrot/parrot/commit/6c6f93dbf6
22:10 mikehh kid51: good one, I completely missed that
22:11 rfw cotto or dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129394583528
22:11 nopaste "kid51" at 192.168.1.3 pasted "t/dynpmc/dynlexpad.t: test failures" (19 lines) at http://nopaste.snit.ch/27533
22:12 rfw kid51: i SKIP'd it for now
22:12 nopaste "kid51" at 192.168.1.3 pasted "t/dynpmc/os.t: test failures" (30 lines) at http://nopaste.snit.ch/27534
22:12 rfw kid51: yeah i don't think those things are in master yet
22:12 dukeleto rfw: on it
22:12 kid51 Those failures are in master.
22:12 rfw let me skip get_user_id
22:12 rfw kid51: no, i mean the functionality those tests are testing
22:13 kid51 Let's see if we can get the tests fixed in master before any more merges
22:13 Yuki`N I might try making the pmc2c line directives work again
22:13 Yuki`N However, I noticed it only "doesn't work" for some PMCs
22:14 cotto dukeleto, thanks
22:15 dukeleto rfw: task completed, will deal with the pull request a bit later, if someone doesn't beat me
22:15 * dukeleto is migrating to a less-busy coffee shop
22:15 rfw okay, let me just skip the get_user_id test
22:16 rfw can someone make a task for the rational dynpmc?
22:16 rfw it looks fun
22:16 dukeleto rfw: start hacking on it, i will make a task
22:16 rfw hooray \o/
22:17 dukeleto rfw: what test coverage is it at now?
22:17 rfw 75%
22:17 aloha 0.75
22:17 rfw i could probably bring it to 100%
22:17 dukeleto rfw: make it happen
22:18 dukeleto Yuki`N: if you write documentation for parrot about how to write gdb pretty printers, that could be worth a task as well
22:18 * dukeleto migrates. be back soon.
22:20 dalek parrot: 9157ed6 | jkeenan++ | t/dynpmc/dynlexpad.t:
22:20 dalek parrot: TODO: get_iter() not yet implemented in class 'DynLexPad'
22:20 dalek parrot: review: https://github.com/parrot/parrot/commit/9157ed6f11
22:21 Yuki`N I think I see the problem.
22:21 Yuki`N pmc2c spits out #line directives one line too soon.
22:21 Yuki`N All the numbers are offset by one.
22:21 Yuki`N Rather, negative one.
22:22 kid51 Can someone fix the failing test in t/dynpmc/os.t?
22:22 rfw kid51: it already is fixed, in the get_user_id branch
22:22 rfw it just hasn't been merged into master
22:23 kid51 Who is working on that branch?
22:23 rfw whiteknight iirc
22:24 Kapace_ rfw: you working on os dynpmc testing?
22:24 rfw Kapace_: i was yeah
22:24 Kapace_ not any more?
22:24 rfw finished :>
22:27 Yuki`N Is anyone else getting compilation problems with the latest master?
22:28 Yuki`N I get a bunch of undefined ASSERT_ARGS, so I run make headerizer.
22:28 Yuki`N Then, it tells me there are multiple declarations of a function.
22:28 Yuki`N parrot/src/packfile/api.c:900: multiple definition of `do_sub_pragmas'
22:28 Yuki`N src/packfile/execute.o:/home/nlum/​parrot/src/packfile/execute.c:215: first defined here
22:29 Yuki`N Did someone forget to add a file while they were refactoring?
22:30 plobsing_ Yuki`N: have you realclean'd?
22:31 Yuki`N Yes.
22:32 * kid51 successfully built with HEAD of master
22:33 kid51 commit 9157ed6f1185b8881fc58a3a8d753bd85567f3b5
22:33 kid51 rfw: Can you either paste or post a link to how that test failures was solved in get_user_id branch?
22:34 rfw kid51: wait, how is it failing?
22:34 kid51 See my paste above ( 12 minutes after the hour )
22:35 rfw kid51: can you run in verbose
22:36 mikehh someone added config/gen/makefiles/.root.in.swp which should not be there
22:36 nopaste "kid51" at 192.168.1.3 pasted "t/dynpmc/os.t: test failures" (38 lines) at http://nopaste.snit.ch/27535
22:36 rfw ah, oh
22:36 rfw i see
22:36 kid51 mikehh: I think that was my error.  Can you fix?
22:37 dalek parrot: 550769f | plobsing++ | config/gen/makefiles/.root.in.swp:
22:37 dalek parrot: remove backup file
22:37 dalek parrot: review: https://github.com/parrot/parrot/commit/550769fb3f
22:38 kid51 Thanks.  You beat me to it.
22:38 plobsing_ fastest git in the west
22:40 Yuki`N left #parrot
22:40 rfw kid51: pushed to my os_dynpmc_coverage branch
22:41 rfw i was using getpwent instead of getlogin, whoops
22:42 Kapace_ rfw: what % is the os dynpmc at?
22:42 rfw Kapace_: 70-something
22:42 rfw but the other task is for aantn or something
22:42 rfw you'll have to ask dukeleto
22:43 Kapace_ oh ok
22:43 rfw rational dynpmc is mine
22:44 kid51 rfw: Link to that repository?
22:44 Yuki`N joined #parrot
22:45 Yuki`N pmc2c is a well-organized mess.
22:50 Kristaba left #parrot
22:50 Jumpyshoes joined #parrot
22:51 kid51 How do I get that "signed off by" into a commit message.
22:51 kid51 ?
22:51 cotto kid51, see git_workflow.pod
22:53 Jumpyshoes hi, i cloned parrot, configured, and ran "make test", is this supposed to happen: http://pastebin.com/KGVwJQU8
22:55 cotto hi Jumpyshoes
22:56 cotto unfortunately we have a couple failing tests atm
22:56 Jumpyshoes ah, i see
22:58 cotto can you run prove -v t/library/pcre.t ?
22:58 cotto and nopaste the output?
22:58 Jumpyshoes nopaste?
22:59 cotto aloha, nopaste?
22:59 aloha cotto: nopaste is is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
22:59 Jumpyshoes ah, thanks
22:59 cotto np
22:59 nopaste "Jumpyshoes" at 192.168.1.3 pasted "failing test" (39 lines) at http://nopaste.snit.ch/27536
23:00 cotto that one shouldn't fail.  The problem seems to be that you don't have libpcre.
23:00 kid51 cotto: I was unable to apply the patch created by following those git_workflow.pod instructions
23:00 cotto I'll file a bug.  You can move on to gci tasks if you like.
23:00 Coke joined #parrot
23:01 Jumpyshoes hrm, okay
23:01 kid51 Can someone else handle this?
23:01 cotto kid51, handle what?
23:01 nwellnhof the libpcre test failing on windows is a known issue.
23:01 cotto ok
23:01 kid51 Pulling in rfw's os_dynpmc_coverage branch
23:02 cotto sure
23:02 cotto does it need review or does it just need a merge
23:02 kid51 rfw: Your last test should be a todo (as I have in master), not a skip
23:02 kid51 I reviewed it, built it in my local branch, ran t/dynpmc/*.t ...
23:03 kid51 .... tried to create patch, got conflicts, thought I resolved, patch would not apply.
23:03 mikehh Jumpyshoes: you running on windows or what?
23:03 Jumpyshoes gentoo 64-bit
23:03 * kid51 would have preferred a simple patch rather than all this git crap
23:04 cotto kid51, it's nice once you get used to it
23:04 kid51 cotto:  I've been using it here and $job for 4 months now.
23:04 kid51 That workflow is much more complex than what I would have had to do in SVN
23:05 mikehh Jumpyshoes: you need to get libpcre/libpcre-dev - it's libpcre3 and libpcre3-dev on Ubuntu/Debian
23:05 Jumpyshoes okay
23:06 cotto mikehh, the test shouldn't fail if he doesn't have the right package installed, though
23:07 mikehh cotto: dunno, never tried running without it available
23:08 kid51 docs/project/git_workflow.pod does not describe how one gracefully recovers from a failure at:  git apply --check gci.patch
23:10 plobsing_ git reset HEAD --hard
23:10 plobsing_ no moar promblems
23:11 plobsing_ modify 'HEAD' to appropriate commit as appropriate
23:12 mikehh we need documentation related to libraries/CPAN modules required - parrot/docs/book/draft/appd_build_options.pod && chXX_library.pod
23:13 mikehh updated and somewhere relevant
23:19 Matt221 joined #parrot
23:20 dalek parrot: cec090b | rfw++ | t/dynpmc/os.t:
23:20 dalek parrot: Fixed get_user_id test in os.t
23:20 dalek parrot: review: https://github.com/parrot/parrot/commit/cec090b140
23:20 dalek parrot: 643eaa1 | cotto++ | t/dynpmc/ (2 files):
23:20 dalek parrot: Merge branch 'os_dynpmc_coverage' of https://github.com/rofflwaffls/parrot
23:20 dalek parrot:
23:20 dalek parrot: Conflicts:
23:20 dalek parrot: t/dynpmc/dynlexpad.t
23:20 dalek parrot: review: https://github.com/parrot/parrot/commit/643eaa1536
23:23 kid51 is now known as kid51_at_dinner
23:25 Yuki`N left #parrot
23:27 cotto is rfw's task completed?
23:27 cotto nm
23:27 aantn joined #parrot
23:27 aantn cotto: good morning :)
23:29 cotto aantn, hi
23:34 aantn cotto: I claimed the Class PMC task
23:34 aantn cotto: when writing tests, what should I do if the correct behaviour of the Class PMC isn't clear from the docs?
23:34 Yuki`N joined #parrot
23:35 cotto ask
23:35 aantn cotto: okay, what's the correct behaviour when the PMC is passed NULL initialization info
23:35 cotto aantn, claim accepted
23:36 aantn cotto: in init_class_from_hash
23:36 aantn cotto: thanks
23:37 dalek parrot: d2195b7 | Coke++ | / (2 files):
23:37 dalek parrot: JIT is gone; don't need this tool anymore.
23:37 cotto The code explicitly handles that case by not initializing anything.
23:37 dalek parrot: review: https://github.com/parrot/parrot/commit/d2195b7062
23:37 dalek parrot: e153603 | Coke++ | tools/build/c2str.pl:
23:37 dalek parrot: Process our own args (43% speedup)
23:37 dalek parrot: review: https://github.com/parrot/parrot/commit/e153603ce1
23:38 aantn cotto: I know, but that doesn't mean that's correct or consistent with other parts of the codebase!
23:38 cotto Jumpyshoes, are you planning on trying out a Parrot task?
23:38 cotto aantn, You'll do well here.
23:38 aantn cotto: if you write the tests based off the code then of course they're going to pass :P
23:38 aantn cotto: me? nah, Jumpyshoes will do well here, which is what you probably meant to say :P
23:39 aantn Jumpyshoes: you've been mostly working in assembly, right?
23:39 Jumpyshoes yea
23:39 Jumpyshoes although i can't get parrot to compile
23:39 Jumpyshoes er, pass make test
23:39 Jumpyshoes and i don't have admin access to my linux box
23:39 Jumpyshoes which is an issue
23:40 cotto Jumpyshoes, don't worry about those tests.  If everything else passes you're fine
23:40 Jumpyshoes s/admin/root
23:40 aantn Jumpyshoes: are you on debian?
23:40 Jumpyshoes gentoo
23:40 cotto You can install Parrot to your home dir and it should work fine
23:40 Jumpyshoes i can't install that other library thoug
23:40 Jumpyshoes h
23:40 cotto something like ~/parrot
23:40 cotto Jumpyshoes, it's not critical
23:40 Jumpyshoes oh, i see
23:41 aantn Jumpyshoes: yeah, I was going to suggest a chroot
23:41 cotto If Parrot builds, you can hack on it.
23:41 Jumpyshoes i also only have a very minimal knowledge of perl
23:41 Jumpyshoes although i did learn assembly from scratch
23:42 aantn Jumpyshoes: it's also possible to setup a chroot on gentoo, but I've never done it
23:42 aantn Jumpyshoes: you'll be fine, there's very little perl coding involved
23:42 Jumpyshoes aantn: sysadmins would never let me
23:42 Jumpyshoes ever.
23:42 aantn Jumpyshoes: start of with a C task
23:42 cotto Jumpyshoes, perl isn't too necessary.  You can pick it up as you go.  C is what you'll need the most familiarity with.
23:42 aantn Jumpyshoes: that's the beauty of it! they have no control over user chroots in your own home folder!
23:43 aantn Jumpyshoes: though they can't cut of your bandwidth :/
23:43 Jumpyshoes oh, bandwith isn't an issue
23:43 kid51_at_dinner is now known as kid51
23:43 Yuki`N cotto, there are two ways that we can specify pretty-printers for GDB to load.
23:43 Jumpyshoes i can use 5+mb/s and as long as it is relavent work, they don't care
23:43 aantn Jumpyshoes: ah, well... back to work for me :)
23:43 Yuki`N One is by having a libparrot.so-gdb.py in the same directory as libparrot.so
23:43 aantn Jumpyshoes: I've got the chinese government to deal with, until tuesday
23:44 Yuki`N The other is to have a special ELF section that we can put in via embedded asm in a C file.
23:45 Yuki`N Obviously the most portable is the former, but implementing that with the current toolchain is a pain.
23:45 Yuki`N Suggestions?
23:45 Jumpyshoes i like my string of all 4 tasks... are there any C parrot tasks with difficulty 4?
23:45 fbrito left #parrot
23:45 fbrito joined #parrot
23:46 kid51 is now known as kid51_at_dinner
23:48 cotto Jumpyshoes, http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129395090916 would be useful
23:48 Jumpyshoes i thought this required perl?
23:49 chromatic joined #parrot
23:49 cotto the Perl parts are mostly copy/paste
23:49 Jumpyshoes i see
23:50 Jumpyshoes hrm, i'll take a look
23:50 cotto don't let the Perl parts scare you.  Unless you're testing something platform-specific, you won't have to do much perl programming.
23:51 Jumpyshoes how do i run a specific test? i.e. only the pdc_disassemble one
23:52 kapace__ Jumpyshoes, use prove -vf t/yourtest
23:52 plobsing_ Yuki`N: my advice - we manage it like we manage browser plugins, manual install. it isn't a large imposition to ask a core dev to copy something over. inline asm sucks.
23:52 Jumpyshoes okay, thanks
23:52 * kapace__ goes back to tech work on friend's laptop
23:53 Yuki`N plobsing_, I can try adding a line to the makefile to copy over the necessary .py files into blib
23:53 contingencyplan joined #parrot
23:58 dalek parrot: 703df59 | cotto++ | t/pmc/callcontext.t:
23:58 dalek parrot: Merge branch 'gci_callcontext_cov' of https://github.com/Kristaba/parrot
23:58 dalek parrot: review: https://github.com/parrot/parrot/commit/703df59f2c
23:58 dalek parrot: f4797c2 | cotto++ | t/ (2 files):
23:58 dalek parrot: [t] trailing space fix
23:58 dalek parrot: review: https://github.com/parrot/parrot/commit/f4797c2e9e

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced