Parrot 2.11.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | More gci tasks | Merge html_cleanup | Get Plumage working | Review current embedding api | Study EventHandler | Run examples_tests, test HLLs before merges
Set by moderator on 31 December 2010.
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:00
cotto: PackFile_unpack needs access to some of the information unpacked by PackFile_validate, in order to actually do the unpacking 00:01
cotto: for example header->wordsize
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.
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.
aantn cotto: I could use another intermediary struct 00:05
cotto: something like PackFileMetadata
cotto: or maybe it just makes sense to split the code into unpack_header and unpack_contents
cotto How much duplicated code would there be if you didn't use an intermediate struct?
aantn, that doesn't sound like a bad idea. 00:06
aantn cotto: probably about half of the code in Packfile_validate would have to also be present in the unpack function 00:07
cotto: but is that useful? where else in the code would unpack_header be used?
cotto yuck
aantn cotto: the task mentioned the freeze/thaw code, and I'm not sure what would be useful there 00:08
cotto: actually, maybe I'm wrong about the code duplication... let me look over the code again 00:09
cotto: I think that I could easily split out the header validation into another function 00:10
cotto ok 00:11
aantn cotto: that's ~50 lines
00:12 bacek joined
cotto Could it be broken out into a function reasonably? That's too much to have duplicated. 00:12
hi bacek
or macros, if necessary
aantn cotto: yes, it would be called from PackFile_unpack and passed the header 00:13
rfw cotto: is he beating me again? 00:14
goddammit he is
Kapace_ lol @ nearing 200 points
cotto aantn, do you have a good idea of what you need to do now? 00:15
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
aantn cotto: if the signature looks right then I'm good to go
rfw i'm doing the transcendental dynops on right now
cotto ah
rfw +e
aloha 2.71828182845905
Yuki`N Matt_, I already said I was working on bit ops.
cotto e
0+0 00:17
+3
+e
aloha 2.71828182845905
Yuki`N cotto can you approve? socghop.appspot.com/gci/task/show/g...9390800766
cotto odd
Yuki`N, no need for a link
Yuki`N Really.
rfw Parse errors: Bad plan. You planned 77 tests but ran 81. <-- this always makes me laugh
cotto odne
er, done 00:18
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.
rfw cotto: clearly
cotto aantn, that throws an exception that may or may not be caught
rfw why is cosh being tested and not sinh 00:21
who the hell wrote these tests
aantn cotto: should I just throw errors in the validate function and get rid of the return 0/1
cotto rfw, are you assuming that there's a strategy?
00:21 aantn left
rfw maybe this person just doesn't like how unpronounceable sinh is 00:22
does aloha do sinh? 00:23
00:26 aantn joined, bacek left
aantn ahh, X11 keeps dying on me 00:26
cotto aantn, sounds exciting
aantn cotto: should I just throw errors in the validate function and get rid of using returns for errors?
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:27
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
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
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
and using exceptions everywhere is more consistent
rfw too many positional arguments: 4 passed, 4 expected 00:31
okay, what.
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.
rfw, nice 00:33
rfw cotto: how does that even work :D
cotto I'm wondering that myself.
rfw nvm i got it 00:34
cotto what's the punchline?
rfw i was trying to use an epsilon value to compare an integer
but god that error is misleading 00:35
Kapace_ rfw: I had that error before, I know what you mean :P
cotto It's almost worse than just saying "something's wrong".
rfw i think it is worse
Kapace_ or not saying anything at all :|
rfw since it's saying "something's wrong but it's fine"
cotto rfw, please file a bug report when you can 00:36
rfw okay
cotto thanks
rfw in the middle of quickcover right now so everything is going super slow
00:38 aantn left
rfw oof 3% more for trans ops 00:42
cotto bam 00:43
dalek TT #1923 closed by Yuki`N++: Filehandle PMC clone VTABLE does not work
TT #1923: trac.parrot.org/parrot/ticket/1923
cotto Yuki`N, in the future, it's easier to pull if you work in a branch 00:45
dalek rrot: fa70a1a | Yuki`N++ | t/dynoplibs/bit.t:
Boost bit ops test coverage to 46%

Signed-off-by: Christoph Otto <christoph_git@mksig.org>
00:50
rfw 84.4% coverage for transops 00:53
cotto: www.google-melange.com/gci/task/sho...9390827160 00:55
also better write that ticket about 4 arguments
dalek TT #1924 created by rfw++: Incorrect use of is function in PIR tests raises misleading error 01:00
TT #1924: trac.parrot.org/parrot/ticket/1924
Yuki`N cotto, ok.
dalek rrot: 68a90b1 | kapace++ | / (2 files):
Removed dead vtables, etc, and added test for set_pmc.
01:03
rfw did i kill cotto again 01:12
Kapace_ cotto: i got capture up to 100%, can I take the other capture coverage task? 01:14
01:14 kid51 joined 01:15 Kristaba left
cotto rfw, ping 01:20
Kapace_, sure
rfw cotto: pong
cotto rfw, how did you get the numbers you used in the trans.t tests?
rfw cotto: quickcover
oh 01:21
wait
you mean the numbers to test against?
cotto yes
rfw calculator
cotto wfm 01:22
like windows calc.exe, ti-86, or what?
rfw this crappy casio i have on my desk
cotto ok 01:23
I trust your crappy calculator.
Yuki`N lol
Windows calc.exe is pretty nice.
Don't lie.
rfw Yuki`N: lol 01:24
but my calculator is right there
01:24 fbrito left
dalek rrot: d140dd0 | rfw++ | t/dynoplibs/trans.t:
Boosted coverage for trans ops to 84.4%.
01:25
rfw yay thanks 01:26
cotto rfw, you are once again on top
rfw heh yup
Kapace_ rfw: keep it up! 01:27
rfw Kapace_: don't worry, i do :)
is anyone doing the math dynops?
s/do/will/
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.
cotto all requests accepted
Matt_ rfw: pong
cotto Yuki`N, excellent
rfw Matt_: are you doing the math dynops?
Matt_ rfw: Nope. I think I'll take io since Yuki`N is doing bit again 01:29
rfw alright
i'll claim math then
Yuki`N TOGETHER WE WILL CRUSH THE TEST COVERAGE.
rfw cotto: www.google-melange.com/gci/task/sho...9390679698
cotto rfw, done 01:30
rfw thanks
back to work
what's cmod? 01:31
Matt_ modulus
%
rfw why the c
Matt_ no idea
plobsing because we implement both "proper mathematical modulus" and "whatever your C compiler does modulus"
in most cases they should be similar. they probably diverge when you get into negatives or other corner cases. 01:32
cotto rfw, can you attach a minimal test case to #1924? 01:33
fortunately negative numbers are seldom used in the real world
rfw cotto: hold on i'm making quickcover again 01:35
Matt_ rfw: I wish you could generate the coverage for only one file
rfw Matt_: yeah
cotto it's probably not too hard
rfw at least it's not so bad with -j3
01:36 Nol888 joined
Nol888 I am confused as to how the rotate op works 01:38
Rotate $2 left or right by $3 and place result in $1. 01:39
$4 is the amount of bits to rotate, 32 bit on a 32-bit CPU and 32 or 64
on a 64-bit CPU. If the rotate count is negative a rotate right by ($3+$4)
is performed.
plobsing that is... interesting 01:40
Nol888 It doesn't seem to be rotating correctly at all.
01:40 Yuki`N left
Nol888 Actually I lied. 01:41
It works.
The description is just horrible.
rfw cotto: test case attached
cotto rfw++ 01:43
rfw what's the pmc number type? 01:44
cotto rfw, you mean the numbers in include/parrot/core_pmcs.h ? 01:45
rfw uh, the pmc variant of the $N register numbers 01:46
cotto Float
rfw ah okay
thanks
cotto it's a bit confusing
plobsing if you're lazy, you can call 'box_p_nc' and never have to remember. 01:51
cotto laziness++ 01:52
rfw need to stop pressing ctrl+s to save files in vim
Matt_: what was the coverage for math_ops again? 01:55
i refreshed my coverage stats and forgot what it used to be, heh 01:56
Nol888: how does throws_substring work again? 02:00
nvm got it 02:01
Nol888 cotto, stage 2 complete. 02:08
02:10 Nol888 left 02:11 Nol888 joined
Nol888 rfw, did my "stage 2 complete" send? 02:11
rfw yes 02:13
02:14 lucian_ left 02:15 Nol888 left 02:17 Yuki`N joined
rfw i think i've increased the coverage of the math dynops as much as reasonably possible 02:24
Yuki`N Ok, looks like I got all the ops covered. 02:25
The only parts not covered are the auto-added C functions.
They're static functions too. 02:27
That doesn't make any sense.
Why would static functions that don't get called at all be even necessary.
cotto You assume logic. It's a common newbie mistake. 02:29
Yuki`N loool.
02:30 Nol888 joined
rfw cotto: www.google-melange.com/gci/task/sho...9390679698 can you review 02:31
cotto sure 02:32
dalek rrot: 1ca129d | mikehh++ | MANIFEST:
re-generate MANIFEST
rrot: 67029a8 | mikehh++ | src/packfile/packfile_private.h:
fix c++ comment
rrot: eb35b54 | mikehh++ | t/pmc/capture.t:
remove trailing whitespace
rrot: e6d8cc8 | mikehh++ | src/packfile/execute.c:
fix pod problems
rrot: 734d38f | mikehh++ | src/embed/api.c:
linelength problem - missing newline added
cotto I was just thinking "It's been almost 15 minutes since the last task was completed. What are those slackers doing?"
rfw heh heh heh 02:33
Nol888 src/dynoplibs/bit_ops.c 92.0 92.0 02:34
I want my mad street cred lol.
mikehh hey you bunch - you all need to run codetest or something maybe moretest before committing :-}
Nol888 Pushed to my branch, after you pull to master I'll merge in the branch. cotto
02:35 Yuki`N left
rfw Nol888: did you test the hop_init and stuff 02:35
wondering how to do that
Nol888 rfw if you notice they're static. 02:36
So it's really really hard to test.
rfw ah
so just don't bother?
Nol888 mikehh, it's not me. :P I run fullcover which includes codingstd.
Yeah.
It's put in by ops2c anyway.
dalek TT #1925 created by coke++: remove config step auto::jit 02:38
TT #1925: trac.parrot.org/parrot/ticket/1925
cotto pulled
rfw cotto: i don't think i quite increased coverage by 20% but all the opcodes are tested 02:41
about 18 or 19% i think
cotto wfm
dalek rrot: b0cb0f1 | rfw++ | t/dynoplibs/math.t:
Increased coverage of math dynops to 81.8%
Nol888 plz2approve socghop.appspot.com/gci/task/show/g...9390806311
cotto done
Nol888 lol. 02:42
cotto @rfw
rfw thanks
Nol888 And pull, etc.
My internet does not like me at all today.
cotto and Nol888 now
rfw heh, first to break 200 points 02:43
Nol888 At this rate Matt will be the fourth to break 100. 02:44
rfw yup
the parrot tasks sure are going like hotcakes 02:45
cotto: also i think increasing test coverage of transcendental dynops isn't applicable any more
since i've covered all the opcodes 02:46
kid51 ponders the philosophical implications of ... "transcendental dynops"
cotto new gci task: make parrot perfect
4 points (difficult)
Nol888 Aviral Dasgupta must be raeging right now. 02:47
IT'S BECAUSE THEY'RE WORTH THEIR WEIGHT IN GOLD.
I'd offer to do some translation tasks but my Spanish is neither native nor good.
rfw what happened to aviral dasgupta
Matt_ rfw: not sure. he was doing some good work for Tux4Kids
rfw yeah, i saw
dukeleto ~~
rfw hey dukeleto 02:48
cotto hio dukeleto
dukeleto rfw, cotto: how goes it?
rfw barely scraping ahead of jumpyshoes
cotto keeping up with these students is a full-time job
dukeleto rfw: what is this about you covering all opcodes?
rfw dukeleto: i've covered all the opcodes in transcendetal and math 02:49
but not the weird static functions
dukeleto rfw: are you actually testing return values ? or just calling functions and ignoring their return values?
rfw testing return values, of course 02:50
Nol888 Henry David Thoreau wrote these dynops.
lololol.
Only 4 points? Lol.
New GCI Task: Increase Parrot overall coverage to 100% 4 points.
rfw Nol888: i think you lagged really bad there
cotto mikehh, thanks for the codingstd fixes
rfw dukeleto: cotto and i had a discussion about what calculator i was using for transcendental dynops
dukeleto rfw: oooh, fun. what did you use? 02:51
rfw "this crappy casio calculator i have on my desk"
dukeleto works for me 02:52
so is "make cover" broken? what is the deal?
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
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.
Bitops were actually easy to test, hah.
Especially rot
ROTATE 0xDEADBEEF OVER TO THE LEFT 4 BITS.
dukeleto rfw: these tests will fail on some platforms
rfw huh i am doing floating point equalities
with epsilon
what are you looking at? 02:55
dukeleto rfw: you are right.
rfw: i was looking with the wrong set of eyes
rfw hehe
Nol888 dukeleto, make cover is now make fullcover, and the old make quickcover is now cover apparently.
Quickcover never worked for me, so now make cover doesn't work for me. 02:56
rfw oops, i lied about trans dynops
there are some branches i didn't cover
dukeleto rfw: go make it happen!
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'.
cotto It should only need Devel::Cover
rfw dukeleto: can i claim the increase by 20% even though it's nowhere near 20%
Nol888 cotto, it kindasorta works but it dumps everything in / and I don't like how it's undercovered somehow.
dukeleto rfw: what kind of increase do you have?
rfw i don't know yet
Nol888 Quickcover_new doesn't even work for me, it gives me 5 files.
rfw but there's a chunk of ops2c static functions at the end which is more or less impossible to cover 02:58
s/cover/test/
kid51 Damn, everything we do with these coverage targets seems to make it worse
Nol888 Yeah, lol.
Let's just leave it as the magic voodoo box.
Try all three, pick the one that works best for you, and then stick to it.
cotto ETOOMUCHVOODOO 02:59
kid51 'cover' and 'fullcover' were working well for me just last night. Cf. my post to parrot-dev
dukeleto cotto: what needs test coverage the most currently in parrot? 03:00
cotto good question
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.
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.
kid51 That won't tell you what *needs* coverage the most, but it will indicate what *has been covered* (more or less)
Nol888 cotto, have you pulled my new tests yet? 03:02
Or should I just merge anywa.y
cotto Nol888, I think I did 03:03
github.com/parrot/parrot/commit/b0...8cf361f7b1 <-those?
Nol888 No that's rfw. 03:04
cotto github.com/parrot/parrot/commit/fa...b7efb7e964 ? 03:05
rfw how do i make a null pmc? 03:06
dukeleto kid51: that is not quite what I am asking
rfw: PMCs are null by default, if you don't initialize them
rfw dukeleto: how do i deinitialize a pmc register?
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
dukeleto rfw: you could assign it to an unused register
Nol888 null
null $P0
rfw so like
oh
thanks
dukeleto rfw: that too :)
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 socghop.appspot.com/gci/task/show/g...9390806311
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:09
dukeleto rfw: yes, into $P1 03:10
rfw oh, why the hell did i write $P9 instead of $P3
i'm so silly
dukeleto is very impressed with how productive these GCI students are 03:11
Nol888 rfw, you're so silly. 03:13
rfw i am :(
dukeleto cotto: how does one test src/pmc.c ?
cotto Nol888, could you update from parrot/parrot? There are some conflicts that are keeping my pull from working.
Nol888 cotto, ok 03:14
cotto, check master.
I've merged it back into master and rebased onto the latest from parrot/master
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?
Matt_: that error usually means your TAP output is corrupt 03:16
rfw: congrats on breaking 200 :)
rfw dukeleto: thanks
dukeleto rfw: what are you working on now? 03:17
rfw running cover so my computer is laggy as hell
Matt_ dukeleto: I'm getting a stdout file descriptor but not actually writing any output 03:18
this is in io.t
rfw dukeleto: finishing off transcendental dynops
dukeleto rfw: sweet!
Matt_: if you gist the entire output of the test with the error, we can try to help you 03:19
Matt_ 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.
kid51 Here is the output of a run of 'quickcover_new' which may (or may not) be useful.
thenceforward.net/parrot/coverage/q...erage.html
dukeleto cotto: indeed.
cotto: there may be dead code there
kid51: thanks
cotto evaluating that would be a good task
dukeleto our code coverage has grown leaps and bounds in the last few days, and I think that will continue 03:21
i have more gci tasks to add. I don't want these kids to get bored in the next week...
dalek rrot: ba390cb | Yuki`N++ | t/dynoplibs/bit.t:
Max out bit dynoplib test coverage.

Signed-off-by: Christoph Otto <christoph_git@mksig.org>
rfw huh that's odd 03:22
$N0 = pow 2, $I1
this should call the pow_n_nc_i opcode right?
oh
no it shouldn't!
cotto Nol888, that last set of changes required some manual intervention to commit.
dukeleto, we've jumped at least 2% since gci started. 03:23
Matt_ dukeleto: pastie.org/private/ammgvh4ctus2zyn1ervcw 03:24
dukeleto Yuki`N++ # bit dynop coverage
Matt_: you should run "prove -v t/dynoplibs/io.t" so we can see the full TAP output 03:25
03:26 Yuki`N joined
Matt_ dukeleto: pastie.org/private/avwvl8rvqjefzjn0sfxy2q 03:26
03:28 Nol888 left, rfw left 03:29 rfw joined
rfw dukeleto: maxed out coverage for trans dynops 03:30
dukeleto rfw++
rfw it's at 88.1%
from uh 03:31
dukeleto rfw: why is that maxed out?
rfw dukeleto: because it has the untestable ops2c static functions at the end
tapir2.ro.vutbr.cz/cover/cover-resu...ops-c.html
dukeleto Matt_: you have two test number 9's
rfw if you look at the hash_str and store_op functions at the end
i can't test those very easily at all
without actually changing the source 03:32
dukeleto rfw: are they dead code?
rfw dukeleto: i'm not sure
dukeleto rfw: do they ever get called?
rfw i don't think so
since they're static
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.
kid51 dukeleto: Created new task: www.google-melange.com/gci/task/sho...9393919283
rfw dukeleto: can i claim the last trans dynops task? 03:34
since there's actually nothing to cover, lol
nothing more*
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?
dukeleto kid51: published 03:35
rfw: yeah, those are yours
rfw \\o/
www.google-melange.com/gci/task/sho...9390833806
dukeleto Matt_: no, the is() functions and friends do that stuff for you
Matt_ starting with #9 it looks like the numbers were hardcoded and I had to manually update them 03:36
_readline_handler: 03:37
print "ok 11\\n"
pop_eh
dukeleto Matt_: yeah, some tests in the file have it hard-coded
Matt_: you can either fix that, or just leave it in the same order and add tests after it
Matt_: it could be avoiding is() and friends for a reason, not sure
Matt_ kk is ok(1, "some string") sufficient
rfw dukeleto: submitted 03:38
03:38 Yuki`N left
dukeleto rfw: completed 03:39
rfw thanks
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:40
rfw i think i'll finish the sys dynops too 03:41
www.google-melange.com/gci/task/sho...9390996695
kid51 So, now I have GCI tasks associated with TT #1922 and TT #1925. Any takers? 03:42
cotto rfw, done
dalek rrot: 4060599 | rfw++ | t/dynoplibs/trans.t:
Covered all opcodes in transcendental dynops.
dukeleto Matt_: usually 1 03:43
Matt_: and stderr is usually 2
Matt_: there should be constants that are defined and use them from PIR
cotto I think those constants work even on windows. 03:44
dukeleto PIO_STDIN_FILENO and friends live in include/parrot/io.h 03:47
03:48 Yuki`N joined
rfw oop, .SYSINFO_CPU_TYPE is faulty 03:48
# got: ''
# expected: 'i686-linux-thread-multi'
the implementation for CPU_TYPE is: SREG(1) = string_from_literal(interp, ""); 03:52
yeaaaah... 03:53
cotto That doesn't look accurate. 03:56
04:02 Yuki`N left 04:03 Yuki`N joined
rfw finished covering almost all of sys ops 04:04
the only thing left required PARROT_HAS_HEADER_SYSUTSNAME
and i'm not sure how to test that 04:05
i don't think i have that
regardless on windows it should work 04:06
argh did i just write sysinfo dynpmcs 04:08
www.google-melange.com/gci/task/sho...9390996695 review please 04:09
Matt_ almost done with io.t 04:14
04:14 kid51 left
dalek rrot: dc36cfd | rfw++ | t/dynoplibs/sysinfo.t:
Completed coverage of relevant parts of sysinfo dynops.
04:15
cotto rfw, done 04:16
rfw thanks
parrot sure is having fun using GCI for child labor 04:18
dukeleto ~~ 04:29
rfw: i see those same uncovered test functions in a few other dynops 04:30
rfw: i think they are copy+paste dead code, but need to verify
rfw dukeleto: yeah
they're static too so they won't ever get called
dukeleto rfw: ok, don't worry about those when doing dynop coverage 04:31
rfw but there's no more dynop coverage
i eated them all, it would seem
dukeleto rfw: i am adding more now :)
rfw \\o/! 04:32
dukeleto rfw: you can start working on the debug or obscure dynops, i am making tasks for them now
rfw ah okay
obscure sounds scary
dukeleto rfw: not really, just some number theory functions like GCD and LCM 04:33
rfw ah, okay
the name just sounded scary
dukeleto rfw: obscure is a pretty horrible name
rfw yeah
dukeleto rfw: we will fix that, eventually 04:34
rfw gcdlcm.ops?
cotto magic.ops 04:37
dukeleto rfw: something like number_theory.ops or somesuch
rfw: socghop.appspot.com/gci/task/show/g...9394305842 04:39
rfw dukeleto: is there one for obscure? 04:40
dalek m-eta-wink-kzd: a758bc2 | plobsing++ | src/Ωη.capo.winxed:
correctly implement toProgramString
04:42
m-eta-wink-kzd: 353de62 | plobsing++ | src/ometa-compiler.dual:
explicit check against null in variable dedup - null and false are not the same
m-eta-wink-kzd: 5c72344 | plobsing++ | src/ometa-base.winxed:
fix thinko in notLast()
04:45 contingencyplan left
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:51
also, why isn't there a chord op? That one stands a decent chance of actually being useful ;) 04:52
04:54 theory left
dukeleto plobsing: there are many math ops which parrot doesn't have that would be useful 04:55
rfw: i am making a task for the obscure ops now
Matt_ dukeleto: Can you review this: www.google-melange.com/gci/task/sho...9391050609 04:59
dukeleto rfw: obscure task created
05:01 Nol888 joined
dukeleto Matt_: looking 05:02
Matt_: nice work 05:03
Matt_ dukeleto: thanks 05:04
dukeleto Matt_: task completed
Matt_ Im gonna go now. Good night!
05:04 Yuki`N left
cotto 'night 05:04
05:05 Matt_ left
dukeleto cotto: you want to merge that pull request? it looks pretty good 05:05
dukeleto is creating more tasks
cotto deal 05:06
dukeleto, is it better to rebase before pushing or not? 05:07
dalek rrot: 28f157a | (Matt Rajca)++ | t/dynoplibs/io.t:
Increased coverage for io_ops.c
05:07 Nol888 left 05:08 Nol888 joined
dukeleto cotto: in what situation? 05:08
cotto here, where I'm accepting a pull request
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
cotto: yes, i would always "git pull --rebase" before dealing with a merge, to make sure you have the latest master
cotto Sure, but do I want to do it between when I merge and when I push? 05:09
to avoid the merge commit?
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
cotto: --rebase will never create a merge commit unless there are conflicts and you have to manually deal with them
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
cotto: this is in git_workflow.pod :)
cotto: it is described in more detail there
cotto is schooled
rfw kills a kitten 05:12
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
brb heading out for a bit
dukeleto cotto: the OS dynpmc has scarily low test coverage
05:14 redicaps joined
cotto I thought that just got a bump. 05:14
looks like it won't be too hard to test 05:17
05:18 Nol888 left
dukeleto cotto: i just created a task for it 05:20
cotto bam 05:21
dukeleto cotto: i see the gziphandle dynpmc at 0% coverage. Is it not being included in coverage tests?
dalek tracwiki: v74 | cotto++ | ParrotQuotes 05:22
tracwiki: trac.parrot.org/parrot/wiki/ParrotQ...ction=diff
05:22 Yuki`N joined
cotto dukeleto, I don't know. fperrad wrote it. 05:23
05:23 aantn joined
aantn hi, are there any gci mentors around? 05:23
cotto aantn, chances are good 05:24
dukeleto aantn: hola, wazzup?
aantn: i am the GCI org admin. welcome!
aantn cotto, dukeleto: I want to submit my work as a github branch
should I commit changes to the include files (that were made automatically by the headerizer?) 05:25
cotto aantn, yes
any files that are tracked should be committed when they change 05:26
headerizer isn't run as part of the regular build
aantn cotto: damn, I'm having some trouble accessing github 05:27
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
dukeleto aantn: if you are having lots of trouble with github, a patch is fine
aantn: which task are you working on?
aantn dukeleto: socghop.appspot.com/gci/task/show/g...9372687973
dukeleto aantn: create a patch and submit the task and we will take a look 05:28
aantn dukeleto: thanks, submitted
dukeleto: I'm going to be for a few hours w/o internet access
dukeleto: can you quickly recommend another task to work on? 05:29
dukeleto aantn: i just added a few
aantn dukeleto: I can't claim any yet
dukeleto: ah, I have to run
dukeleto: I'll figure something out 05:30
dukeleto aantn: the OS PMC task
aantn: there are 2 of them
aantn dukeleto: quick link?
dukeleto aantn: one task each for increasing test coverage by 30%
aantn dukeleto: fantastic, can you hide one of them so that no one else will claim it? 05:31
dukeleto: docs are included in git master, right?
dukeleto aantn: i don't think i have that ability
aantn: docs are in the docs/ directory in our repo 05:32
aantn dukeleto: okay, nm
thanks
dukeleto aantn: trying to get you a link
aantn: melange is dog slow
aantn: don't worry, just work on the OS PMC task and don't worry about it. 05:33
aantn: do you think you will be able to complete it within the next few days?
aantn: socghop.appspot.com/gci/task/show/g...9394583528
aantn: i can still create another OS dynpmc task for you if those 2 get taken 05:36
05:37 rurban_ joined 05:38 aantn left, fbrito joined, Nol888 joined
fbrito Nol888: are you there? 05:38
Nol888 Hi.
My internet does not like me today. 05:39
fbrito Nol888: I just saw your ticket trac.parrot.org/parrot/ticket/1918
Nol888 Yes, it hasn't been pulled into master yet. 05:40
Pending testing results with Rakudo.
And other HLLs.
05:40 rurban left, rurban_ is now known as rurban
rfw time to write some obscure tests for some obscure dynops 05:42
fbrito Nol888: ah, I see
Nol888 I'm playing VVVVVV.
rfw oh god
why
why would you do that
05:43 Yuki`N left, gbacon left
cotto that game is kinda great 05:54
rfw cotto: kinda oh god why am i still playing this too 05:55
i can see why nobody bothered writing comprehensives tests for the obscure dynops 05:57
-s
they're _boring_ 05:58
hah, ahead of jumpyshoes by 10
cotto I bet he's not so jumpy now. 06:01
;)
rfw lol 40% -> 80% for obscure dynops 06:02
am i allowed to claim 2 tasks for that
dukeleto rfw: you can write code that generates tests if you like :)
rfw: that can be more fun
rfw dukeleto: can you make another dynops task
err
-dynops+obscure
sorear eval "pass;" x 1024 06:03
dukeleto rfw: is there only one now?
rfw dukeleto: yeah
dukeleto: www.google-melange.com/gci/task/sho...9394433887
you didn't approve yet, heh
i love scrolling down the coverage stats and only seeing green in the margin 06:04
dukeleto rfw: indeed
rfw dukeleto: can you accept claim for that then make another obscure task?
dukeleto rfw: accepted 06:05
rfw: socghop.appspot.com/gci/task/show/g...9394826232
rfw work submitted
[19:01:23] <@cotto> I bet he's not so jumpy now. <-- i think he's more jumpy if anything
fbrito dukeleto: can you please accept my claim on socghop.appspot.com/gci/task/show/g...9394826232 ? 06:06
aahhaa, just kidding :D
rfw fbrito: there's nothing for you to do if you do :D
well technically there is
have fun testing static functions!
dukeleto fbrito: there are plenty more tasks
fbrito: just create more in the last few mins
s/create/created/
rfw i better merge
fbrito yes, I now :P 06:07
I was just kidding. actually I still have to finish work on a task that I claimed
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."
someone really needs to fix that
dukeleto rfw: blarg
rfw: bad copy and pasting. 06:09
rfw blarg?
lol
dukeleto rfw: don't worry too much about it :) you know what is going on, that is the important part
rfw i feel myself calling it yoink-and-plonk now due to vim's y and p keys, heh
s/feel/find/
dukeleto rfw: i like that 06:11
rfw dukeleto: did you look at my pull request yet? 06:14
dukeleto rfw: probably not. I complete tasks that look good and let a few pull request build up 06:15
rfw: assembly line fashion. I am creating more tasks now
rfw did you look at www.google-melange.com/gci/task/sho...9394826232 yet? 06:16
dukeleto rfw: task switching reduces effectiveness
rfw: description updated 06:17
rfw dukeleto: no i mean could you mark it as completel, lol
fbrito I am going to bed 06:20
good night guys
dukeleto rfw: your pull request 84 mixes lots of stuff together
rfw night fbrito
dukeleto fbrito: night!
rfw dukeleto: yeah i know
i don't know why github does that
dukeleto rfw: just accepted your debug dynop task
rfw what debug dynop task 06:21
dukeleto rfw: are you creating topic branches?
rfw: forget it, wrong task
rfw: have you read git_workflow.pod ?
rfw oh
uh
don't kill that kitten!
oh, should i make a branch for everything new i make? 06:22
06:22 fbrito left
dukeleto rfw: yes, one topic branch per gci task 06:23
rfw ah okay
dukeleto rfw: then your pull requests will work correctly
rfw i'll do that in future, heh
dukeleto rfw: and don't commit directly to master
rfw ah okay
dukeleto rfw: you need anything from me?
rfw can you close that task?
and then approve+close the other obscure dynops task 06:24
since i improved it from 40% -> 80% in that commit
Kapace_ thanks dukeleto, good night.. 06:25
dukeleto Kapace_: no worries
rfw: completed
Kapace_ rfw: beware jumpy is taking a ton of fuzzing tasks.. 06:27
dukeleto rfw: i think you are all set now
rfw Kapace_: yeah i saw
dukeleto: alright, now the other one
www.google-melange.com/gci/task/sho...9394826232
dukeleto rfw: accepted 06:28
rfw dukeleto: submitted
rfw fuzzes Kapace_ 06:29
www.google-melange.com/gci/task/sho...9394826232 06:30
Kapace_ eww
rfw dukeleto: ^
Nol888 I think I'm stopping for tonight. 06:32
dukeleto rfw: completed
Nol888: take a break
rfw thanks
Nol888 Ugh, I get back into school on the 3rd. 06:33
dukeleto Nol888: go for a walk and breath some fresh air
Nol888 It's 1:33am unfortunately.
At this rate I might lose my 3rd place. ;-;
rfw Nol888: go for a walk and take a gun with you
Nol888 I need to catch up on schoolwork, ugh.
Kapace Nol888, no one will take your 3rd. Trust me
rfw inb4 Kapace takes Nol888's 3rd 06:34
Nol888 lol
YOU SAID INB4 NOW IT CAN'T BE DONE.
Kapace hehe, ssh, he's still here!
rfw now i'm 18 points ahead of jumpyshoes
i bet he's jelly
Nol888 Lol he's jelly. 06:35
What's the status of the IO dynops.
rfw www.google-melange.com/gci/task/sho...9394583528 hey let's increase the coverage of the os dynpmc
rfw remembers to switch branch 06:36
dukeleto rfw: i have one of those tasks "reserved" for another gci student ;)
rfw oh right 06:37
forgot about that
dukeleto rfw: you can do one of them, but try some other tasks :) I am adding more now
rfw let me withdraw
since most likely i'll end up covering all of it
dukeleto rfw: ;)
rfw: i am making more tasks to satisfy your needs :)
Nol888 dukeleto, you need to prune some of these tasks which are technically impossible to fulfill.
rfw oh dukeleto, was it you who i talked to about Continuation.continuation
Experimental: returns continuation PMC of this Continuation or PMCNULL if none. 06:38
^ does this even make any sense
dukeleto rfw: oh yeah. damn. 06:39
rfw i should make a bug 06:40
dukeleto Nol888: yes, you are probably right
dukeleto creates a task relating to pbc_disassemble 06:41
rfw ticket created for continuation method of continuation pmc 06:42
dukeleto Nol888: i will try to cull the bad ones tomorrow
Nol888 Ok.
dukeleto rfw++ # ticket wrangling
rfw probably should've done it earlier, heh
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.
rfw dukeleto: we can still bother cotto :D
dukeleto Nol888: i want to make sure there are lots of tasks for everyone to choose from the in the last frenzy of GCI
rfw: yep :)
Nol888 Lol.
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.
dukeleto if nothing in parrot calls those functions, we should remove them
dalek TT #1926 created by rfw++: continuation method of Continuation PMC
TT #1926: trac.parrot.org/parrot/ticket/1926
rfw i'm pretty sure we can
Nol888 Some of them are not technically dead.
rfw well
Nol888 However others seem to be. 06:45
dukeleto cotto: i hope you are ready for a whirlwind of commits in the next week
Nol888: remove the zombies, please :)
Nol888 Was the PIRC readme ever fixed?
cotto dukeleto, because of the end of gci?
rfw actually it does look like they may be needed
but they're never called so i have no idea
dukeleto cotto: yep. It is like blood in a shark tank
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.
dukeleto rfw: it might be that way because the alternative sucks. Who knows. But it is something to think about.
rfw yeah 06:47
dukeleto rfw: there are lots of tasks in melange now. You can hack on those
rfw ah, thanks
dukeleto: www.google-melange.com/gci/task/sho...9395051887 06:50
do i test the --help option just by assuming it doesn't break, lol
dukeleto rfw: yes, but have a test verifies the output of it 06:51
rfw so what if it changes?
dukeleto rfw: the test changes
rfw oh okay
dukeleto rfw: you can make the test as strict as you want
rfw: just making sure the damn thing doesn't coredump when it is given --help is most of test :) 06:52
rfw heh
is there a run_output_like or something function
to capture the output of a program?
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.
Instead it just fails an assertion. 06:53
dukeleto Nol888: sounds like a bug 06:54
rfw: yes
rfw dukeleto: what is it?
dukeleto rfw: look at the tests in t/tools
Nol888 dukeleto, i will attempt a fix.
dukeleto rfw: they use the functions
Nol888: thanks!
dukeleto is going to attempt to go to bed soon
rfw i only see things like dump_output_like 06:55
which invokes pbc_dump and stuff
oh i see it
bleh
at the bottom
Nol888 #6 0x0074476d in Parrot_NCI_invoke (interp=0x8059020, _self=0x80dcecc, 06:56
next=0x80e8c3c) at ./src/pmc/nci.pmc:248
Oh damn
Source lines are working again.
I'm rather confused.
dukeleto Nol888: what confuses you, grasshopper? 06:58
Nol888 Before line information was broken. 06:59
And now it's working again.
Maybe it was only broken for some PMCs.
Why do some VTABLEs return pointers to orig_func and others to func? 07:03
dukeleto Nol888: are you building differently now? with --debugging ?
Nol888: great question. perhaps ask parrot-dev ?
Nol888 Nope.
rfw hah my --help regex is horrible 07:07
dukeleto: pastebin.com/6HCVpF3d is this sufficiently evil 07:08
Nol888 Sent to parrot-dev.
Well I can't quite complete this yet. 07:09
dukeleto Nol888: because you are waiting on parrot-dev ? 07:14
Nol888 Yes.
dukeleto rfw: sure 07:15
Nol888 I will instead revise the PIRC README.
dukeleto Nol888: sounds good
Nol888 Should I withdraw?
dukeleto Nol888: not sure. don't want you to be blocked
Nol888 Well I guess I will; other mentors might mistakenly give others tasks that I'm doing then. 07:16
dukeleto Nol888: ok
rfw increased to 65.4% 07:20
\\o/
dalek rrot: 78e1a97 | rfw++ | t/dynoplibs/obscure.t:
Maxed obscure dynops coverage.
07:21
rrot: 8f290cb | dukeleto++ | t/dynoplibs/obscure.t:
Merge branch 'master' of github.com/rofflwaffls/parrot into rofflwaffls-master
rfw dukeleto: lol this break line isn't being covered
dukeleto rfw: submit a task and pull request and go hack on something else :)
rfw: i won't be awake much longe 07:22
rfw okay
hold for a bit!
dukeleto longer, rather. My eyes are failing...
rfw dukeleto: www.google-melange.com/gci/task/sho...395051887] 07:23
er
www.google-melange.com/gci/task/sho...9395051887
dukeleto: don't fall asleep on me now! D: 07:24
dukeleto looks 07:25
07:25 Nol888 left, chromatic left
dukeleto rfw: your pull requests are all wonky, because you aren't updating from upstream 07:26
rfw dukeleto: i did then
dukeleto rfw: but i will accept it 07:27
rfw thanks
dukeleto needs to add docs for keeping in sync with an upstream to our git_workflow.pod
dukeleto self-flagellates
rfw: completed
rfw yay
dukeleto rfw: want another task approved? 07:29
rfw hunting for one
dalek Some 'leto' person just gave me a 22455 byte commit packet. They need to be more careful in the future.
rfw holy crap i did 8 tasks today
dukeleto rfw: wow, congrats 07:30
rfw thanks 07:31
dalek rrot/leto/embed_grant: c6e3d16 | dukeleto++ | t/src/embed.t:
Remove incorrect comment
07:32
07:33 Yuki`N joined
Yuki`N dukeleto, can you approve socghop.appspot.com/gci/task/show/g...9365062593 07:33
I've finished revising but since it's only one file I'm just providing a patch. 07:34
dukeleto Yuki`N: accepted
rfw roundup.ffmpeg.org/file1249/fix.diff <-- and they criticize me for one line fixes 07:36
Yuki`N dukeleto, submitted, please apply and proofread my work. :P 07:38
dukeleto Yuki`N: looking 07:49
Yuki`N: this patch applies to the parrot/pirc repo, correct? 07:51
Yuki`N Yes.
dukeleto Yuki`N: applied and completed 07:55
Yuki`N Thanks~ 07:56
dukeleto Yuki`N: pirc doesn't have the proper stuff to notify this channel. I will add it now 07:57
dalek rc: a7f5f04 | dukeleto++ | README.pod:
Improve README.pod, a GCI task by Yuki`N++
07:59
rfw karma N 08:00
aloha N has karma of 47.
Yuki`N Impressive. 08:01
dalek rrot/leto/embed_grant: 4899a1b | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_is_equal
08:12
08:14 fperrad joined
Yuki`N Night all. 08:21
08:23 Yuki`N left
dalek rrot/leto/embed_grant: 28a3817 | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_subtract
08:29
rrot: 4f194d1 | (Natan Yellin)++ | / (2 files):
Break PackFile_unpack into separate validation and unpacking stages

Signed-off-by: Christoph Otto <christoph_git@mksig.org>
08:36
cotto Hmm. That function should definitely be broken down further. 08:38
cotto goes off to make another suspiciously similar task 08:41
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.
dalek rrot: a17b69c | cotto++ | / (2 files):
[pf] rename function to avoid unneeded caps, fix exception messages
08:45
rrot/leto/embed_grant: ffa2d6a | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_floor_divide
rrot/leto/embed_grant: 3e2c729 | dukeleto++ | t/src/embed.t:
[t] Parrot_PMC_cmp
08:56
cotto rfw, pign
rfw cotto: pong 08:57
cotto rfw, should I expect the tests in your pull request to fail?
rfw cotto: which?
cotto pbc_disassemble
rfw odd, mine are fine
hold on
cotto the last 3 fail on my box
might just be a bad plan 08:58
rfw argh
how the hell did that happen
cotto yup
that's all
rfw thank god
cotto done
dalek rrot: 0d1b7ab | rfw++ | t/tools/pbc_disassemble.t:
Increased coverage of pbc_disassemble tool to 65.4%
rrot: 7fb8b03 | cotto++ | t/tools/pbc_disassemble.t:
[t] fix test plan
cotto did you have a gci task for that?
rfw yup, dukeleto approved 09:00
cotto great
dukeleto++ for git_workflow 09:16
dukeleto cotto: danke :) 09:17
cotto It seems clunky to format-patch, apply and am. Why not merge directly? 09:19
09:32 aantn joined
cotto hi aantn 09:34
09:34 redicaps left
aantn hey cotto :) 09:34
thanks for reviewing my patch so quickly 09:35
cotto thanks for writing it
I hope it won't be the last.
aantn cotto: nope 09:37
cotto: my internet connection is too slow for melange's list of tasks to load
cotto socghop.appspot.com/gci/task/show/g...9372687973 09:38
sigh
aantn cotto: thanks, can you give me a link to another 4-point task? 09:39
cotto whoops. I thought I was.
aantn cotto: or even two tasks - aloha mentioned another refactoring task 09:40
cotto socghop.appspot.com/gci/task/show/g...9395776088
aantn cotto: I was also reading over the docs and code for the pmc tests
cotto do any of those look interesting to you? 09:43
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.
thanks for sticking with it
aantn cotto: nah, it's fine
09:47 rfw left
aantn cotto: the new task has the same description as the old task 09:47
cotto yes
aantn cotto: okay, I can break out more of the code
cotto there's still plenty of room to break down the code
definitely intentional 09:48
aantn cotto: I'm claiming that task and I'll work on the code offline for a while
cotto excellent
aantn cotto: if I finish, is there any test code that I can safely work on without duplicating someone else's effort?
cotto I'll look forward to your patch
If you want to pick a task, I'll try to reserve it 09:49
aantn cotto: I can't see anything :/
cotto I'm sorry Melange's ui makes that difficult for you.
aantn cotto: just name a part of the code
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 nopaste.snit.ch/27529
aantn cotto: what's interesting is that google-melange.com is blocked, but the appspot domain isn't
cotto there you go. That should load quickly
go figure
aantn cotto: wow, great 09:51
cotto ugly, but functional
pick one and I'll mark it as reserved
aantn cotto: I'll take the Class PMC 09:52
cotto ok
aantn cotto: how can I check what the test coverage is?
cotto done 09:53
aloha, coverage?
aloha cotto: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/
cotto ^
or make fullcover or make cover, depending how patient you're feeling
aantn cotto: make cover will output the results locally? 09:54
cotto yes
it'll make some local html files
that's what cv.perl6.cz displays
aantn cotto: I'm missing Devel:Cover 09:58
cotto: is there an easy way to install modules in perl?
cotto: something akin to easy_install/pip for python?
cotto aantn, what OS are you running?
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
cotto libperl-devel-cover I think 10:00
aantn cotto: I already installed that, but it didn't seem to help
cotto libdevel-cover-perl 10:01
are you using a custom-build perl?
aantn cotto: no
cotto that should give you what you need then
did you re-run Configure.pl? 10:03
you need to do that after install Devel::Cover
aantn cotto: ah, awesome
cotto: I've got to run and catch the tourbus again
cotto see you
aantn cotto: thanks for all the help
cotto happy hacking
np 10:04
10:09 aantn left
mikehh moritz: ping 10:10
cotto msg aantn claim accepted, btw 10:16
aloha OK. I'll deliver the message.
10:26 contingencyplan joined
moritz mikehh: pong 10:40
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:44
nopaste "mikehh" at 192.168.1.3 pasted "git status for rakudo" (33 lines) at nopaste.snit.ch/27530 10:46
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
btw 10:48
sorear there isn't one
moritz there's none that pastes directly to #perl6
sorear just use App::Nopaste :) 10:49
there used to be one but it was discovered by spammers.
mikehh moritz: yes, they should be removed by the test suite, but rakudo_test_run.tar.gz, should probably be in .gitignore 10:50
moritz mikehh: agreed 10:51
mikehh sorear: that's sad, I seem to remember using lisp something, but them spammers need really sortin' out 10:52
11:00 whiteknight joined
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:23
g++ build fails (since yesterday) - 11:36
src/packfile/execute.c: In function ā€˜PMC* run_sub(parrot_interp_t*, PMC*)’:
src/packfile/execute.c:89:52: error: ā€˜Parrot_ext_call’ was not declared in this scope
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
that
ok - think I have worked it out - let me check 11:44
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
let me look
11:48 cosmixn2003 joined
cosmixn2003 hello.. anybody here? i need some help regarding parrot test suites 11:49
11:52 cosmixn2003 left
mikehh well I was going to reply to cosmixn2003, but seems to have gone 11:57
11:57 cosmixn2003 joined
mikehh back 11:57
cosmixn2003 ok
may i get some help?
mikehh cosmixn2003: what do you need? 11:58
whiteknight: works now with include/parrot/extend.h
whiteknight mikehh: Still, I think there is a better function to use which doesn't require that header 12:05
mikehh: Commit what you have, and I'll see what I can do with it
mikehh whiteknight: 'k
dalek rrot: d658546 | mikehh++ | src/packfile/execute.c:
add include file to get g++ to build
12:13
rrot: 5b484bf | mikehh++ | config/gen/makefiles/root.in:
add dependencies for src/packfile/execute.c
mikehh whiteknight: make moretests ok for those 12:15
whiteknight ok
mikehh still don't see what I did wrong when I tried to fix it yesterday, but it works now 12:22
mikehh got to go out for a bit - bbl 12:28
cosmixn2003 any windows user here? 12:33
12:35 cosmixn2003 left
whiteknight cosmixn2003: sortof. What do you need? 13:18
13:28 kid51 joined 13:37 rurban_ joined 13:40 rurban left, rurban_ is now known as rurban 13:41 bluescreen left, bluescreen joined
whiteknight has anybody played with whitespace handling in the makefile recently? 13:44
I'm getting some weird buildfailures
kid51 whiteknight: 'make' was satisfactory for me as of 1000pm last night 13:45
Is this in master?
whiteknight kid51: yes
kid51 What has changed in config/gen/makefiles/root.in? 13:46
(or subsidiary templates)?
whiteknight I just pulled and it looks like there are some changes in root.in
let me rebuild
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
successful make here
PASS: smolder.parrot.org/app/projects/rep...tails/1967 13:59
dalek rrot: 80a776a | nwellnhof++ | / (5 files):
Preparation for TT #1103

Fix PGE so that subs declare a :slurpy :named param if they're called with named arguments they don't handle. The test suite should pass if we switch to the stricter checks of TT #1103, but there might be other places that have to be changed.
14:07
whiteknight okay, I can't make here at all 14:10
I'm going to try a directory without spaces in the path 14:12
14:27 kid51 left
dalek rrot: 6a36a11 | unknown++ | config/gen/platform/win32/uid.c:
fix uid on Win32 so it builds
14:38
rrot: 21e0c8f | unknown++ | / (5 files):
Merge branch 'master' of github.com:parrot/parrot
whiteknight ls 14:39
dalek TT #1927 created by whiteknight++: Parrot doesn't build on Win32 with spaces in directory name 14:41
TT #1927: trac.parrot.org/parrot/ticket/1927
14:42 Kristaba joined 14:59 aantn joined
dalek rrot: 78c580a | unknown++ | src/pmc/filehandle.pmc:
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
15:11 aantn left
whiteknight goddamnit 15:30
15:35 jsut_ joined 15:40 jsut left
dalek rrot: b05bb32 | nwellnhof++ | / (2 files):
[src] Fix string usage in src/library.c
15:59
16:07 Patterner left, lucian joined, Psyche^ joined, Psyche^ is now known as Patterner 16:19 aantn joined
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:19
Kristaba Hey people 16:24
I'm interested by increasing the coverage of CallContext PMC, but after some looking, I see something I don't understand
In the last coverage report, the two VTABLEs functions set/get_number_keyed_str are marked as "not covered"
But in t/pmc/callcontext.t, there is a test for these, using "$N0 = $P0['bar']" 16:25
So, why they are marked as not covered?
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
s/opcodes/vtables/
Kristaba plobsing: Okay, so, to call get_number_keyed_str, I have to do something like "$S0 = 'bar'" and then "$N0 = $P0[$S0]" ? 16:28
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:29
Kristaba plobsing: Ok, thank you 16:31
16:32 whiteknight left
dalek rrot: 9eeccff | nwellnhof++ | / (7 files):
[io] Put unknown++'s Windows dup fix in src/io/win32.c
16:37
rrot: 270fec7 | nwellnhof++ | / (2 files):
[t] Fix checkdepend.t on Windows
16:38 nwellnhof joined
dalek rrot: 931877f | mikehh++ | src/library.c:
isxxx() function must cast to unsigned char
16:43
rrot: 1e032fd | mikehh++ | src/library.c:
forgot to update copyright
lucian Kroll is interesting developer.appcelerator.com/doc/desktop/python 16:44
nwellnhof mikehh: why must the isalpha(c) function argument be cast to unsigned char? c is an INTVAL already. 16:47
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.
lucian plobsing: possible
plobsing: i've been away from internet for a long time, bookmarks are missing 16:52
16:53 gbacon joined
mikehh nwellnhof: one of the coding standards tests checks for it 16:53
aantn is anyone working on testing the OS PMC? 16:54
nwellnhof mikehh: yes, man isalpha says the argument should be an unsigned char or EOF. 16:56
16:57 silug left
dalek Some 'nwellnhof' person just gave me a 59304 byte commit packet. They need to be more careful in the future. 17:13
moritz lol 17:15
dalek rrot/encapsulate-main: 0280cfd | plobsing++ | t/profiling/profiling.t:
workaround nqp-rx not generating :main tags in profiling.t
17:17
rrot: eb2e8da | plobsing++ | / (6 files):
Revert "Move code-running functions out of src/packfile/api.c"

This reverts commit 74168f90b3e4fcdef38b17f9e971c90d4bb6a47d.
Conflicts:
  \tconfig/gen/makefiles/root.in
  \tsrc/embed.c
  \tsrc/packfile/execute.c
  \tsrc/packfile/packfile_private.h
rrot: b270d98 | plobsing++ | MANIFEST:
mk_manifest_and_skip
rrot: cbaad37 | plobsing++ | / (114 files):
Merge branch 'encapsulate-main'

Conflicts:
  \tt/dynoplibs/sysinfo.t
rrot: 75fb81b | plobsing++ | t/pmc/ (2 files):
add :main tags to recently added tests
rrot/nwellnhof/unicode_io: d970bb5 | nwellnhof++ | src/string/encoding.c:
Fix ASSERT_ARGS
17:19
nwellnhof branch nwellnhof/unicode_io is ready for some final testing 17:20
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:21
17:23 contingencyplan left 17:24 kapace__ joined, Kapace left
dalek rrot: ab8da41 | plobsing++ | PBC_COMPAT:
bump PBC_COMPAT after encapsulate-main merge
17:27
17:28 aantn left 17:31 fbrito joined
dalek TT #1704 closed by plobsing++: Implicit selection of main sub is deprecated. 17:42
TT #1704: trac.parrot.org/parrot/ticket/1704
17:43 jan left
plobsing nwellnhof: unicode_io passes fulltest on x86_64 linux 18:37
dukeleto ~~ 18:38
tadzik hello dukeleto 18:39
18:40 theory joined
dukeleto tadzik: how goes it? 18:42
tadzik: where did you leave off with getting cardinal to compile/run on parrot master?
18:43 allison left
tadzik dukeleto: still fails with this tricky error. Compiles and runs some code 18:45
dukeleto Kristaba: just accepted your callcontext task 18:47
tadzik: can you create a github issue in the cardinal repo with all the details?
Kristaba dukeleto: thanks 18:48
nwellnhof plobsing: thanks for testing 18:51
dalek rrot: d4f23c7 | nwellnhof++ | / (2 files):
Fix TT #1924

Also put checks of named arguments order in the right place.
18:57
18:59 Matt221 joined
Matt221 Can someone explain the Continuation PMC? Apparently its for restoring the state of an interp to a previous one? 18:59
dalek TT #1918 closed by nwellnhof++: Remove share and share_ro VTABLEs 19:04
TT #1918: trac.parrot.org/parrot/ticket/1918
TT #1924 closed by nwellnhof++: Incorrect use of is function in PIR tests raises misleading error
TT #1924: trac.parrot.org/parrot/ticket/1924
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:06
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:15
dukeleto Matt221: the continuation pmc might actually be hard to get another 10% out of 19:16
Matt221: is there another PMC test task that interests you? 19:17
Matt221 I was looking at the OS dynpmc
Kristaba plobsing: I did the major part of my work, but I can't finish it if I can't call these functions :/
Matt221 It seems like its just basic OS functionality, disk IO, etc..
dukeleto Kristaba: if you can increase the code coverage, but some code is not reachable from PIR, you can still submit the task
Kristaba: just describe in the task description that some things don't seem to be reachable 19:18
Matt221: yep. is there still an OS task open ?
Matt221 yup. there's two
Hmm. the mkdir method isn't covered but theres a test for it
plobsing Kristaba: there is exactly *one* instance of that vtable's use: src/call/args.c:fill_params 19:19
ack ftw
dukeleto Kristaba: betterthangrep.com
plobsing: can you think of any other PMCs that you would like GCI students to add test coverage to?
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
in short, no
dukeleto plobsing: hokey dokey
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
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
plobsing: GCI students have found plenty of bugs and sharp corners of Parrot, so I think this stuff in useful, on the whole
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
plobsing: it will allow us to change and refactor parrot more quickly in the future
19:27 jan joined
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:32
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?
plobsing: tasks can be related to any HLL
plobsing: not just parrot
plobsing: i would argue that knowing that an accidental codepath exists is quite valuable
plobsing: our HLL authors will find them, so we better know about them
plobsing dukeleto: accidental codepaths are imcc's bread and butter ;)
dukeleto plobsing: yep. And the day IMCC is deleted will be a grand day in Parrot's history 19:34
19:34 rfw joined
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:34
dukeleto plobsing: that is when Parrot becomes a teenager instead of an adolescent 19:35
plobsing: interesting task, i know some students would be interested
plobsing: can you describe specific deliverables? which features need to be in the first version of that?
thank you to whoever made the tapir2.ro.vutbr.cz/cover/latest-c_cover/ symlink
plobsing task idea: pmc2c generates line number information that confuses C compilers and makes vtable-source-line-stepping impossible. fix it.
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
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.
dukeleto plobsing: yes, that would be awesome 19:37
plobsing: is that called a "gdb plugin" or something?
plobsing: what is that called? i haven't ever used something like that, but i want it for parrot
plobsing possibly a separate task - make STRING* show the contents (just like char* already does) 19:38
dukeleto: I cannot recall. googling.
dukeleto plobsing++
dukeleto is going to get really busy in the next few days and won't have as much time for GCI stuff
so I am trying to add lots of tasks today 19:39
at the current rate, we will run out of tasks in a few days
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:43
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:44
sourceware.org/gdb/current/onlinedocs/gdb/ contains adequate information to complete any of the gdb tasks I mentioned 19:45
dukeleto: the pmc2c line number issue is TT #1735 19:51
dukeleto plobsing: awesome, thanks 19:52
19:54 whiteknight joined
plobsing dukeleto: if one of them to convince NQP-rx to generate :main subs, they should get a bajillion points. 19:54
s/to/can/
tadzik dukeleto: will probably go
* do
dalek rrot/gci_unpack_cleanup: 82bc505 | (Natan Yellin)++ | / (2 files):
Break out PackFile_Header validation from PackFile_unpack into a new function
20:06
rrot/gci_unpack_cleanup: f8efe12 | (Natan Yellin)++ | src/packfile/api.c:
Update exception strings in PackFile_Header_validate
rrot/gci_unpack_cleanup: 8209940 | (Natan Yellin)++ | / (2 files):
Break apart PackFile_unpack into more small functions
whiteknight nwellnhof: ping 20:10
nwellnhof pong
whiteknight nwellnhof: I've got a local branch I'm cleaning up all that dup code 20:11
I'm testing out a GCI branch now, then I'm going to finish up the dup cleanup and push it 20:12
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?
Matt221 set_string_keyed_str 20:14
set_integer_keyed_str
and set_number_keyed_str
looks like tests already exist for them
whiteknight From PIR you can't call the _keyed_str variants, those would only be used internally
I don't know whether OrderedHash would ever be used internally, but I suspect it could be 20:15
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?
Matt221 whiteknight: Will do. Does the same apply to delete_keyed_str 20:17
and defined_keyed_str ?
whiteknight I don't know about those two. I think they are different 20:18
nwellnhof: Actually, looking at your commit, it does basically everything I was going to do.I won't mess with it 20:21
kudos
rfw am i allowed to take the OS PMC tasks, since the Class PMC task says reserved for aantn 20:22
whiteknight rfw: you're allowed to take any task 20:23
I'm working on aantn's current task now
rfw whiteknight: mm dukeleto said yesterday he had one of the OS PMC tasks reserved
so i'm not sure
i guess i'll take one of them 20:26
and wait for the opinion on the second
whiteknight: www.google-melange.com/gci/task/sho...9394583528 20:30
funny, i see the tests for the uncovered methods, but they're not being marked as covered 20:31
these tests all pass, too 20:33
dalek rrot: 7460ad9 | Whiteknight++ | / (2 files):
fix merge conflicts
20:38
20:42 kid51 joined
dalek rrot: 539d122 | fperrad++ | runtime/parrot/library/osutils.pir:
[osutils] improve install() utility

use case (*nix only):
   $ sudo plumage install plumage
20:53
rfw odd, can_read claims that a file with mode 000 can be read
oh, blah, perl says the same thing 20:56
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:58
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. 20:59
pjcj should work fine on C code 21:00
(I think9 21:01
)
kid51 pjcj: It would be great if you could post a blog post somewhere about that.
Until all these GCI students showed up here last month, we made only intermittent attempts to determine coverage of C/PMC code.
pjcj OK - I'll see what I can do, but it won't be right now, I'm afraid 21:02
darned students ...
kid51 (Though, of course, as your disciple, I made your all the Perl 5 code is covered to the max ;-) )
pjcj :)
rfw kid51: the coverage for the os.pmc seems to be off
pjcj I noticed there seems to be a little trouble with the coverage targets
rfw all the mkdir/cwd and stuff tests seem to be uncovered, when there are actually tests for those
kid51 rfw: How so? Can you post a coverage report? 21:03
rfw hold on
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
IMO they'd be easier to debug and maintain
pjcj that seems sensible, and it looks like someone has made a start on it
rfw kid51: rofflwaffls.no-ip.info/src-dynpmc-os-pmc.html
kid51 master: make moretests PASS linux/i386
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
kid51 s/made your/made sure/
rfw my tests are just the ones at master
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
rfw: and i don't have any good explanation, either 21:09
rfw odd
kid51 So let me ask a couple of questions. 21:10
What t/ file would you expect to test src/dynpmc/os.pmc?
rfw t/dynpmc/os.t
kid51 And the coverage target you're invoking is ...? 21:12
rfw quickcover_new
mikehh btw you cannot have PARROT_WARN_UNUSED_RESULT with a void function 21:15
fperrad plumage have its first report on smolder.parrot.org/app/projects/smoke_reports/3
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
kid51 config/gen/makefiles/root.in: line 2699: quickcover_new calls cover-test_core
rfw rofflwaffls.no-ip.info/src-dynoplib...ops-c.html 21:17
blah
wrong file
kid51 line 2714: cover-test_core runs the tests in test_core
rfw oh
i got dynops and dynpmcs mixed up
let me try fullcover and see what happens
kid51 Now, I'm just looking at quickcover_new for the first time right now, so I may be wrong
Try: make cover 21:18
rfw: Here are my 'make quickcover_new' results: thenceforward.net/parrot/coverage/q...erage.html 21:19
rfw ah, it seems the dynpmc tests just aren't being called
i swear i wrote tests for the dynlexpad pmc
21:24 plobsing_ joined
rfw kid51: make cover didn't even work properly 21:27
dalek rrot: 1aadf81 | mikehh++ | src/packfile/api.c:
remove PARROT_WARN_UNUSED_RESULT from void function - run make headerizer
rrot: 7ded4c3 | mikehh++ | include/parrot/packfile.h:
run make headerizer
rfw okay nope 21:28
21:28 fperrad left 21:29 plobsing left
rfw i'll just add dynpmc coverage to the quickcover_new target 21:30
21:30 bluescreen left, whiteknight left 21:36 rurban_ joined
kid51 You know, I don't think the tests in t/dynpmc/*.t are being run *anywhere*! 21:37
Not just in coverage targets, but even 'make test' and 'make fulltest' 21:38
rfw i think i found the problem 21:39
cotto merged the dynlexpad get_iter test into master without actually merging dynlexpad get_iter support 21:40
causing dynpmc_tests to fail
21:40 rurban left, rurban_ is now known as rurban 21:44 fbrito left 21:45 fbrito joined
rfw okay nope, that didn'twork at all 21:46
kid51: okay, finally managed to get some correct coverage statistics 21:48
rofflwaffls.no-ip.info/src/dynpmc/o....gcov.html
kid51 I am in the process of adding to t/dynpmc/*.t to @Parrot::Harness::DefaultTests::library_tests. 21:49
rfw ah okay
kid51 This will cause t/dynpmc to start appearing in many of the testing targets, starting with 'make test'
rfw: How did you generate that page? 21:50
rfw kid51: with lcov
kid51 Can you post to parrot-dev about how you did that?
rfw i'm not sure how to use the parrot coverage page generator so i used lcov instead
kid51 rfw: An excellent tactic!
rfw :D 21:51
kid51 Which we haven't paid attention to for a long time.
That's why I'm saying: write a post to our list about that.
rfw alright
dalek rrot: cd40e35 | nwellnhof++ | / (10 files):
Fix build with spaces in build dir

See TT #1927
21:52 Yuki`N joined
rfw kid51: so just "use lcov for coverage reports"? 21:52
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?
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
dukeleto ~~
rfw i just made cover-dynpmc and got the coverage report of that 21:55
Yuki`N GCI task: Fix make cover/fullcover/quickcover/quickcover_new 21:57
dalek rrot: cf58fa9 | jkeenan++ | lib/Parrot/Harness/DefaultTests.pm:
Add t/dynpmc/*.t to @library_tests.

Why the tests in t/dynpmc/ were absent from @library_tests is unclear. Including them in @library_tests will cause them to be run in 'make test' and many other testing targets.
rrot: 111bbdb | nwellnhof++ | / (2 files):
Rename quickcover_new to cover_new, add fullcover_new target
21:58
cotto rfw, Hmmm. I thought I made sure that passed before pushing. 22:00
rfw cotto: i put a skip over it for now
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
dukeleto kid51: good. they will get fixed 22:02
rfw dukeleto: is aantn still wanting that os dynpmc task? 22:03
dukeleto rfw: i think so, but i haven't heard back from him 22:05
rfw: do you have other stuff to work on?
rfw no :(
well
dukeleto rfw: oh no!
rfw i didn't ocmpletely finish the coverage of the os dynpmc
so he could do that
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
dukeleto rfw: i see
rfw: well, it is good that we realized that
cotto dukeleto, indeed 22:07
rfw src/dynpmc/os.pmc\t75.9\t75.9
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%
rfw still enough for him to do :)
dukeleto rfw: that will involve testing lots of exceptions, probably
rfw: awesome!
rfw: there is also the task that plobsing suggested earlier today: gdb pretty-printers for parrot
rfw: which sounds pretty cool
dalek rrot: 0496af5 | jkeenan++ | / (12 files):
Update copyright dates to 2011.
22:08
Yuki`N Heh.
dukeleto rfw: we want to register gdb pretty printers so that we can dump STRING PMCs and PMC attributes easily from gdb
Yuki`N gdb~
I will help with that.
dukeleto Yuki`N: there is multiple parts of hacking on gdb stuff
Yuki`N They print out relatively nicely already though. 22:09
As long as you have the right pointer type, at least.
22:09 Matt221 left
dukeleto Yuki`N: look at the log of #parrot from the last 3-4 hrs between me and plobsing 22:09
Yuki`N: plobsing_ has specific features he wants added
dalek rrot: 6c6f93d | jkeenan++ | lib/Parrot/Harness/DefaultTests.pm:
Update copyright dates to 2011.
mikehh kid51: good one, I completely missed that 22:10
rfw cotto or dukeleto: www.google-melange.com/gci/task/sho...9394583528 22:11
nopaste "kid51" at 192.168.1.3 pasted "t/dynpmc/dynlexpad.t: test failures" (19 lines) at nopaste.snit.ch/27533
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 nopaste.snit.ch/27534
rfw kid51: yeah i don't think those things are in master yet
dukeleto rfw: on it
kid51 Those failures are in master.
rfw let me skip get_user_id
kid51: no, i mean the functionality those tests are testing
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
However, I noticed it only "doesn't work" for some PMCs
cotto dukeleto, thanks 22:14
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
rfw okay, let me just skip the get_user_id test
can someone make a task for the rational dynpmc? 22:16
it looks fun
dukeleto rfw: start hacking on it, i will make a task
rfw hooray \\o/
dukeleto rfw: what test coverage is it at now? 22:17
rfw 75%
aloha 0.75
rfw i could probably bring it to 100%
dukeleto rfw: make it happen
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.
dalek rrot: 9157ed6 | jkeenan++ | t/dynpmc/dynlexpad.t:
TODO: get_iter() not yet implemented in class 'DynLexPad'
22:20
Yuki`N I think I see the problem. 22:21
pmc2c spits out #line directives one line too soon.
All the numbers are offset by one.
Rather, negative one.
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
it just hasn't been merged into master
kid51 Who is working on that branch? 22:23
rfw whiteknight iirc
Kapace_ rfw: you working on os dynpmc testing? 22:24
rfw Kapace_: i was yeah
Kapace_ not any more?
rfw finished :>
Yuki`N Is anyone else getting compilation problems with the latest master? 22:27
I get a bunch of undefined ASSERT_ARGS, so I run make headerizer. 22:28
Then, it tells me there are multiple declarations of a function.
parrot/src/packfile/api.c:900: multiple definition of `do_sub_pragmas'
src/packfile/execute.o:/home/nlum/parrot/src/packfile/execute.c:215: first defined here
Did someone forget to add a file while they were refactoring? 22:29
plobsing_ Yuki`N: have you realclean'd? 22:30
Yuki`N Yes. 22:31
kid51 successfully built with HEAD of master 22:32
commit 9157ed6f1185b8881fc58a3a8d753bd85567f3b5 22:33
rfw: Can you either paste or post a link to how that test failures was solved in get_user_id branch?
rfw kid51: wait, how is it failing? 22:34
kid51 See my paste above ( 12 minutes after the hour )
rfw kid51: can you run in verbose 22:35
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 nopaste.snit.ch/27535
rfw ah, oh
i see
kid51 mikehh: I think that was my error. Can you fix?
dalek rrot: 550769f | plobsing++ | config/gen/makefiles/.root.in.swp:
remove backup file
22:37
kid51 Thanks. You beat me to it. 22:38
plobsing_ fastest git in the west
22:40 Yuki`N left
rfw kid51: pushed to my os_dynpmc_coverage branch 22:40
i was using getpwent instead of getlogin, whoops 22:41
Kapace_ rfw: what % is the os dynpmc at? 22:42
rfw Kapace_: 70-something
but the other task is for aantn or something
you'll have to ask dukeleto
Kapace_ oh ok 22:43
rfw rational dynpmc is mine
kid51 rfw: Link to that repository? 22:44
22:44 Yuki`N joined
Yuki`N pmc2c is a well-organized mess. 22:45
22:50 Kristaba left, Jumpyshoes joined
kid51 How do I get that "signed off by" into a commit message. 22:51
?
cotto kid51, see git_workflow.pod
Jumpyshoes hi, i cloned parrot, configured, and ran "make test", is this supposed to happen: pastebin.com/KGVwJQU8 22:53
cotto hi Jumpyshoes 22:55
unfortunately we have a couple failing tests atm 22:56
Jumpyshoes ah, i see
cotto can you run prove -v t/library/pcre.t ? 22:58
and nopaste the output?
Jumpyshoes nopaste?
cotto aloha, nopaste? 22:59
aloha cotto: nopaste is is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
Jumpyshoes ah, thanks
cotto np
nopaste "Jumpyshoes" at 192.168.1.3 pasted "failing test" (39 lines) at nopaste.snit.ch/27536
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
cotto I'll file a bug. You can move on to gci tasks if you like.
23:00 Coke joined
Jumpyshoes hrm, okay 23:01
kid51 Can someone else handle this?
cotto kid51, handle what?
nwellnhof the libpcre test failing on windows is a known issue.
cotto ok
kid51 Pulling in rfw's os_dynpmc_coverage branch
cotto sure 23:02
does it need review or does it just need a merge
kid51 rfw: Your last test should be a todo (as I have in master), not a skip
I reviewed it, built it in my local branch, ran t/dynpmc/*.t ...
.... tried to create patch, got conflicts, thought I resolved, patch would not apply. 23:03
mikehh Jumpyshoes: you running on windows or what?
Jumpyshoes gentoo 64-bit
kid51 would have preferred a simple patch rather than all this git crap
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.
That workflow is much more complex than what I would have had to do in SVN
mikehh Jumpyshoes: you need to get libpcre/libpcre-dev - it's libpcre3 and libpcre3-dev on Ubuntu/Debian 23:05
Jumpyshoes okay
cotto mikehh, the test shouldn't fail if he doesn't have the right package installed, though 23:06
mikehh cotto: dunno, never tried running without it available 23:07
kid51 docs/project/git_workflow.pod does not describe how one gracefully recovers from a failure at: git apply --check gci.patch 23:08
plobsing_ git reset HEAD --hard 23:10
no moar promblems
modify 'HEAD' to appropriate commit as appropriate 23:11
mikehh we need documentation related to libraries/CPAN modules required - parrot/docs/book/draft/appd_build_options.pod && chXX_library.pod 23:12
updated and somewhere relevant 23:13
23:19 Matt221 joined
dalek rrot: cec090b | rfw++ | t/dynpmc/os.t:
Fixed get_user_id test in os.t
23:20
rrot: 643eaa1 | cotto++ | t/dynpmc/ (2 files):
Merge branch 'os_dynpmc_coverage' of github.com/rofflwaffls/parrot

Conflicts:
  \tt/dynpmc/dynlexpad.t
23:23 kid51 is now known as kid51_at_dinner 23:25 Yuki`N left
cotto is rfw's task completed? 23:27
nm
23:27 aantn joined
aantn cotto: good morning :) 23:27
cotto aantn, hi 23:29
aantn cotto: I claimed the Class PMC task 23:34
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
cotto ask 23:35
aantn cotto: okay, what's the correct behaviour when the PMC is passed NULL initialization info
cotto aantn, claim accepted
aantn cotto: in init_class_from_hash 23:36
cotto: thanks
dalek rrot: d2195b7 | Coke++ | / (2 files):
JIT is gone; don't need this tool anymore.
23:37
cotto The code explicitly handles that case by not initializing anything.
rrot: e153603 | Coke++ | tools/build/c2str.pl:
Process our own args (43% speedup)
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?
aantn, You'll do well here.
aantn cotto: if you write the tests based off the code then of course they're going to pass :P
cotto: me? nah, Jumpyshoes will do well here, which is what you probably meant to say :P
Jumpyshoes: you've been mostly working in assembly, right? 23:39
Jumpyshoes yea
although i can't get parrot to compile
er, pass make test
and i don't have admin access to my linux box
which is an issue
cotto Jumpyshoes, don't worry about those tests. If everything else passes you're fine 23:40
Jumpyshoes s/admin/root
aantn Jumpyshoes: are you on debian?
Jumpyshoes gentoo
cotto You can install Parrot to your home dir and it should work fine
Jumpyshoes i can't install that other library thoug
h
cotto something like ~/parrot
Jumpyshoes, it's not critical
Jumpyshoes oh, i see
aantn Jumpyshoes: yeah, I was going to suggest a chroot 23:41
cotto If Parrot builds, you can hack on it.
Jumpyshoes i also only have a very minimal knowledge of perl
although i did learn assembly from scratch
aantn Jumpyshoes: it's also possible to setup a chroot on gentoo, but I've never done it 23:42
Jumpyshoes: you'll be fine, there's very little perl coding involved
Jumpyshoes aantn: sysadmins would never let me
ever.
aantn Jumpyshoes: start of with a C task
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.
aantn Jumpyshoes: that's the beauty of it! they have no control over user chroots in your own home folder!
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
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
aantn Jumpyshoes: ah, well... back to work for me :)
Yuki`N One is by having a libparrot.so-gdb.py in the same directory as libparrot.so
aantn Jumpyshoes: I've got the chinese government to deal with, until tuesday
Yuki`N The other is to have a special ELF section that we can put in via embedded asm in a C file. 23:44
Obviously the most portable is the former, but implementing that with the current toolchain is a pain. 23:45
Suggestions?
Jumpyshoes i like my string of all 4 tasks... are there any C parrot tasks with difficulty 4?
23:45 fbrito left, fbrito joined 23:46 kid51 is now known as kid51_at_dinner
cotto Jumpyshoes, socghop.appspot.com/gci/task/show/g...9395090916 would be useful 23:48
Jumpyshoes i thought this required perl?
23:49 chromatic joined
cotto the Perl parts are mostly copy/paste 23:49
Jumpyshoes i see
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.
Jumpyshoes how do i run a specific test? i.e. only the pdc_disassemble one 23:51
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.
Jumpyshoes okay, thanks
kapace__ goes back to tech work on friend's laptop
Yuki`N plobsing_, I can try adding a line to the makefile to copy over the necessary .py files into blib 23:53
23:53 contingencyplan joined
dalek rrot: 703df59 | cotto++ | t/pmc/callcontext.t:
Merge branch 'gci_callcontext_cov' of github.com/Kristaba/parrot
23:58
rrot: f4797c2 | cotto++ | t/ (2 files):
[t] trailing space fix