Please mentor for SoC | parrotcode.org/ | YAPC::NA talks deadline is Sat Mar 15 | tinyurl.com/2pmnlq
Set by moderator on 8 March 2008.
Infinoid kid51: hey, while we're on the subject of codingstd tests... last Wednesday, I added perl_language_files to the list of stuff trailing_space.t checks, and fixed up 32 .pm and .pl files that were failing the test (in r26349) 00:03
there was some mention here of adding .pir files to the list, too, and there are a couple hundred of those which fail. but that'll wait until after the release
it's probably worth a review at some point to see if there's any other codingstd coverage tweaks we can do 00:04
hmm, s/last Wednesday/yesterday/ 00:10
kid51 Infinoid: I'm not really the expert on t/codingstd tests; ptc wrote most of them, I think. So I mostly just do little fixes on them. 00:21
I don't know enough about the coding standards to be able to say how we should measure their "coverage". I don't think it's as "simple" as applying Devel::Cover or gcov. 00:22
Infinoid heh 00:23
it has to be handled on a test-by-test basis, I think
for c_header_guards.t, 100% would be each and every *.h file
for trailing_space.t, probably everything in text format applies (except for test .output files) 00:24
anyway, just thinking out loud I suppose 00:25
kid51 As I understand them, the "test" fails if >=1 particular file fails the standard; and then those files are identified. And that's the sum total of the design. 00:26
Infinoid yep
kid51 So getting good "coverage" means (a) identifying all the source files which ought to pass a particular test, then (b) ensuring that each file passes that test. 00:27
Hence, it's not measured by %age of lines exercised by test suite; it's more file-focused than statement-focused.
Infinoid the question is whether the list of files tested by each test is comprehensive 00:28
anyway, I'll start making noise about this next week
kid51 examines parrotvm.org/svn/parrot/revision/?rev=26349
Infinoid: Was it actually the case that perl language files were *not* covered by the no-trailing-whitespace standard until your patch? IIRC, I've been nailed repeatedly by that standard -- and everything I write is Perl 5. 00:29
Infinoid yes. actually, after I fussed with line numbering in that test, Coke nopasted a patch to add perl-language files, and also pir files
there were quite a lot of pir files which failed it. I'm of the opinion that pretty much everything should pass it, unless it has a good reason not to. hell, Makefiles, yaml files, the whole bit 00:30
anyway, r26349 is the first stage result of Coke's patch :) 00:31
if you've been bit by it before, could it be that perl language files were recently removed from the test? 00:33
kid51 Hmm, I see. I haven't paid too much attention to these tests because ptc was on top of them and because I've been focused elsewhere (configuration and build tools tests).
Infinoid: Dunno. I'd have to do a checkout of that test from 3-6 months ago to see. 00:34
Oh wait, let's see what svn log tells us.
Well, I guess my memory was wrong. r21509 2007-09-24 only has my @files = @ARGV ? @ARGV : $DIST->get_c_language_files(); 00:37
Infinoid versions previous to r15477 had broken it out a bit more (pmc, yacc, lex, etc) but it was still pretty focused on C 00:38
anyway, we'll soon fix that 00:39
along similar lines, pdd07 says cuddled elses are forbidden, but we're only checking C sources for that. 00:40
kid51 So, let me see if I understand this: the patch you're proposing in 51718 is consistent with the approach these files take, i.e., every file must pass the coding standard for the test to pass -- correct?
Infinoid yes, and it boils it all down to one test at the end 00:41
and provides some nifty diagnostics (which are now *consistent*) if the test did fail
the goal is reduced code duplication and consistent output, the behavior is otherwise unchanged. 00:42
kid51 per mjd: Repeated Code Is A Mistake
svnbotl r26371 | chromatic++ | trunk: 00:43
: [t] Avoid false negatives when checking for isxxx() functions. (The mention
: here was previously a test failure, even though it's obviously not a C function
: call. The C compiler will tell us if someone accidentally passes no arguments
: to these functions. We only care if someone passes one, and that without a
: cast).
r26372 | chromatic++ | trunk:
: [Rakudo] Cleaned up the use if isxxx() functions in Perl6Str PMC to pass the
: coding standards tests.
diff: parrotvm.org/svn/parrot/revision/?rev=26372
diakopter interesting 00:44
kid51 I think I remember now what was happening with those trailing spaces. ptc would run perltidy over the entire distribution, catching some trailing space in my files. When I would 'svn up', I'd be surprised to see that files I had written had changed. Inevitably, it was ptc catching me on trailing whitespace, cuddled elses, etc.
Infinoid ptc++
kid51 Ah, looks like c has fixed that file. I will re-test. 00:45
Infinoid: ping 01:32
Infinoid kid51: hi!
kid51 Can you take a look at how chromatic patched t/codingstd/check_isxxx.t? After I did svn up with his commit, and then tried to apply your patch, the section of your patch pertaining to that file didn't apply cleanly. 01:33
Infinoid yeah, I saw he had changed it. I'll reissue the patch 01:34
kid51 Cool.
diakopter er, what killed svnbotl 01:37
kid51 What always kills svnbotl. 01:38
A big movement. In this case, my refreshing the tcif branch from trunk.
This is the same problem it's had for months; nothing new.
01:39 svnbotl joined
diakopter poor pugs 01:39
it can't keep up :D
kid51 And that was basically just a big 'svn copy'. Watch, it will go out again when I do a big 'svn commit'. 01:40
diakopter hrm. at one point I thought it died when its call to SVN::Web timed out (and SVN::Web failures would sort of explain the correlation with "large" commits). but I guess that's not it. 01:43
kid51 diakopter: Would we get any better results if we re-implemented it in Perl 5? (I doubt Audrey's going to be available to revise the Pugs.) 01:46
Infinoid that sounds like a fun project. 01:47
kid51 Hey, Infinoid. I like the trailing space test. It just caught two files of mine in the 'tcif' branch. 01:50
# Trailing space or tab char found in 2 files:# /home/jimk/work/tcif/lib/Parrot/Configure/Options/Test.pm: 78 168# # /home/jimk/work/tcif/lib/Parrot/Configure/Parallel/Trace.pm: 63 100 132 134 145 166 188 210 236 260 284 316 357
Very useful output.
Infinoid awesome!
purl hmmm... awesome is a plug for chicken broth rice.
Infinoid if svnbotl had proper child process handling so it wasn't blocked waiting for svn, it wouldn't time out like that, right? 01:51
cotto_home purl, forget awesome
purl cotto_home: I forgot awesome
Infinoid I don't know enough perl6 to do that. but I can write it in perl5, if it would help 01:52
kid51 Now, watch me make svnbotl disappear ... 01:53
01:54 lola22 joined
kid51 purl svnbotl 01:58
purl svnbotl is a bit labil today, it committed suicide twice today ;)
diakopter <sigh> 02:02
kid51 It will be back. 02:03
diakopter kid51: actually all it needs to do is parse this: www.parrotvm.org/svn/parrot/log
er, I mean, www.parrotvm.org/svn/parrot/rss 02:04
if you wanted to reimplement it, I mean
Infinoid: you too 02:05
kid51 has avoided learning rss ... for years
Infinoid awesome 02:06
kid51: I'm sure we can find something on CPAN for that :)
diakopter yep, looks like SVN::Web's timing out on r26377 02:07
don't anyone (additional) try it, please
diakopter waits while feather crawls
kid51 Is the problem that it has to parse HTML? If so, couldn't it parse a plaintext version of the log instead? 02:08
diakopter no; it's rss or atom; I dunno 02:10
kid51 wonders whether feather is just a Dell box sitting under somebody's desk
diakopter all you need to do is write an HTML::Template-style template for its output
for SVN::Web's output
and I can add it as a theme
or something like that
if you wanted yaml or something 02:11
kid51 well, I can't think about it anymore tonight, because ...
kid51 must sleep
purl $kid51->sleep(8 * 3600);
Infinoid sleep well kid51
Infinoid tosses something together to find out how hard polling rss really is
02:13 Coke joined
diakopter Infinoid: good luck 02:26
Infinoid ooh, foreboding 02:27
diakopter I wasn't being sarcastic
Infinoid :) 02:28
XML::RAI looks pretty simple, so I'm trying that 02:29
02:34 svnbotl joined
diakopter www.parrotvm.org/svn/parrot/revision?rev=26377 is finally ready/cached 02:34
Infinoid I didn't do it!
02:35 svnbotl joined
Infinoid I have a 50 line perl5 script that seems to poll and parse www.parrotvm.org/svn/parrot/rss just fine 02:39
waiting for someone to check something in, tho, to see whether it outputs a line for new checkins
diakopter well, I'll implement it as a plugin to this (cool) perl irc bot framework I found 02:40
whose coolness I can explain at some later time 02:41
dalek: ping 02:42
dalek: you're still alive :)
nopaste "Infinoid" at 75.31.90.47 pasted "diakopter: here's what I got" (52 lines) at nopaste.snit.ch/12513 02:43
Infinoid obviously, you're going to want to handle the polling loop in a different way.
and replace print("new item: $last_top_id\\n"); with something nifty and irc-ish :) 02:44
diakopter the framework has its own timer/callback system
Infinoid yeah, I figured
the rss object is $item, and its an XML::RAI::Item, so you'll want $item->contributor, $item->title, $item->link 02:45
hope it helps. 02:46
diakopter cool
->contributor gives the 'creator' attribute?
Infinoid oh, you're right. $item->creator 02:47
diakopter ah
Infinoid search.cpan.org/~tima/XML-RAI-1.302...AI/Item.pm has a list of methods and the rss tags it pulls that data from (in order of precedence)
this module seems to be a catchall to handle all the various flavors of rss-ish things. seems neat
diakopter also waits for someone to commit something 02:49
Infinoid looks around for something trivial to fix :) 02:51
here we go 02:57
looks like it worked here! 02:58
svnbotl r26378 | infinoid++ | trunk: 03:03
: [tools] fix the following t/codingstd/perlcritic.t errors in tools/dev/vtablize.pl:
: * TestingAndDebugging::RequireUseStrict
: * TestingAndDebugging::RequireUseWarnings
diff: parrotvm.org/svn/parrot/revision/?rev=26378
spinclad 'i have a lot of lines with just a single C<}> on them. does this count as repeated code?' 03:11
Infinoid heh 03:16
yes, we should add a #define PARROT_NAKED_RIGHT_CURLY_BRACE and replace them all 03:17
parrot-poke mmm, curly braces 03:28
spinclad no, that would still count as repeated code. we need PARROT_NAKED_RIGHT_CURLY_BRACE_<int++> to distinguish them. 03:43
Infinoid heh 03:44
nono, see, we should just remove them entirely, and then write a special preprocessor to guess where to reinsert them before passing off to the compiler
TimToady_ actually, it's the whitespace that is redundant, so you should just remove all of that. 04:03
Infinoid that'll certainly make the guessing more interesting :) 04:05
04:15 natacha29 joined
svnbotl r26379 | chromatic++ | trunk: 05:44
: [GC] Minor speed improvements and consolidations.
diff: parrotvm.org/svn/parrot/revision/?rev=26379
cotto_home what's tcif? 06:13
Thank Cthulhu it's Friday? 06:14
06:44 kid51 joined 07:51 Ademan joined
svnbotl r26380 | chromatic++ | trunk: 08:07
: [PMC] Removed ancient /*NN*/ annotations from vtable entries in the Key PMC.
: These were getting in the way of METHOD parameter parsing (and like I said,
: they're ancient).
diff: parrotvm.org/svn/parrot/revision/?rev=26380
r26381 | chromatic++ | trunk: 08:15
: [lib/PMC] Modified :named parameter syntax in METHODs to match PDD03, per RT
: #42292. Note that this required substantial modifications to the PMC parser.
: O frabjous day.
diff: parrotvm.org/svn/parrot/revision/?rev=26381
08:29 AndyA joined 08:50 barney joined 09:10 mire joined
barney What the name of the markup used in NEWS? =:) 10:04
svnbotl r26382 | bernhard++ | trunk: 10:50
: [docs]
: Elaborate on changes since Parrot 0.5.3
r26383 | bernhard++ | trunk:
: Let SVN ignore generated files.
barney Shouldn't the t/harness calls be prepended with '-' in Makefile ? 10:59
Don't make 'make fulltest' exit early. 11:00
svnbotl r26384 | bernhard++ | trunk: 11:10
: Get rid of hard tabs.
: Some beautifications.
r26385 | bernhard++ | trunk:
: Remove obsolete target 'testbench' in root Makefile.
diff: parrotvm.org/svn/parrot/revision/?rev=26385
11:14 Coke joined
svnbotl r26386 | bernhard++ | trunk: 11:29
: Update last verified date for linux-x86-gcc4.1.3
diff: parrotvm.org/svn/parrot/revision/?rev=26386
11:32 mire joined
svnbotl r26387 | bernhard++ | trunk: 12:01
: [codingstd]
: Remove trailing spaces.
diff: parrotvm.org/svn/parrot/revision/?rev=26387
nopaste "barney" at 84.58.172.65 pasted "Does that look sane, for making 'make fulltest' always complete ?" (41 lines) at nopaste.snit.ch/12516 12:09
svnbotl r26388 | bernhard++ | trunk: 12:14
: [codingstd]
: Quiet Perl::Critic policy Bangs::ProhibitFlagComments.
: Some beautifications.
diff: parrotvm.org/svn/parrot/revision/?rev=26388
r26389 | bernhard++ | trunk: 12:21
: [codingstd]
: Make Perl::Critic happy, WRT conditional declaration.
diff: parrotvm.org/svn/parrot/revision/?rev=26389
r26390 | petergibbs++ | trunk: 12:53
: Prevent overrun of array. Found using valgrind while chasing down tcl test
: failures on linux x86-64.
diff: parrotvm.org/svn/parrot/revision/?rev=26390
13:11 Psyche^ joined 13:31 kid51 joined 15:07 kid51 joined 15:12 Sartak joined 15:19 Andy joined 16:04 adc joined 16:12 peeps[work] joined
svnbotl r26391 | particle++ | trunk: 16:17
: [donors] add mozilla foundation
diff: parrotvm.org/svn/parrot/revision/?rev=26391
17:02 adc joined
cotto_home anyone know what the tcif branch is? 17:04
17:19 Limbic_Region joined 17:56 apple-gunkies joined 18:34 Psyche^ joined 19:20 mire joined
svnbotl r26392 | chromatic++ | trunk: 19:35
: [docs] Removed some deprecated and removed features from DEPRECATED.pod.
r26393 | chromatic++ | trunk:
: [src] Minor cleanups and reformatting.
diff: parrotvm.org/svn/parrot/revision/?rev=26393
19:55 buchetc joined 20:07 cognominal joined, chromatic joined
svnbotl r26394 | rgrjr++ | trunk: 20:11
: * src/embed.c:
: + (Parrot_readbc): Make I/O error check really work.
diff: parrotvm.org/svn/parrot/revision/?rev=26394
r26395 | rgrjr++ | trunk: 20:18
: * src/packdump.c:
: + (pobj_flag_dump, flag_bit_names): Do hex & symbolic display of
: object flags. Needs better abstraction, though.
: + (PackFile_Constant_dump): Use pobj_flag_dump for strings, keys,
: and PMCs. Dump closures as subs. Add a missing "'" to the PFC_KEY
: output. Remove bogus slice_bits update; this var is unused, and
: appears to have been causing stuff to be printed inappropriately.
: * include/parrot/pobj.h:
: + (enum PObj_enum): Add a doc ref to flag_bit_names.
diff: parrotvm.org/svn/parrot/revision/?rev=26395
20:19 nowhere_man joined 20:26 adc joined
chromatic Rakudo: rt.perl.org/rt3/Ticket/Display.html?id=51350 20:41
svnbotl r26396 | chromatic++ | trunk: 20:49
: [t] Don't check for SVN metadata in git-svn check outs (Matt Kraai, RT #51334).
diff: parrotvm.org/svn/parrot/revision/?rev=26396
r26397 | chromatic++ | trunk: 20:56
: [pbc_to_exe] Use cc_o_out configuration value to specify output file instead of
: -Fo, for cross platform goodness (Matt Kraii, RT #51172).
diff: parrotvm.org/svn/parrot/revision/?rev=26397
20:57 guru joined 20:58 guru left 21:10 dalek joined 21:14 rdice joined
svnbotl r26398 | chromatic++ | trunk: 21:15
: [src] Various Cygwin tweaks:
: * jit.pm, exec.h: enabled EXEC_CAPABLE with EXEC_COFF on cygwin
: * added config/auto/jit/test_exec_cygwin.in
: * dynext get_path(): replace leading "lib" with "cyg".
: * dynext pirs: added special cygwin dll name tweaks for SDL, ncurses, Pg
: (no optional versioning yet)
: * fixed and enabled tests for t/native_pbc/header.t, t/src/compiler.t,
: t/stm/basic_mt.t, t/stm/llqueue.t
: * added a README_cygwin.pod
: (Reini Urban, RT #51328).
diff: parrotvm.org/svn/parrot/revision/?rev=26398
21:23 dakkar joined 21:32 jrt4 joined 21:37 Theory joined 21:38 chromatic joined
svnbotl r26399 | chromatic++ | trunk: 21:40
: [tools] Tidied code.
: Removed dependency on Regexp::Common by inlining the C and C++ comment regular
: expressions. (I'm not sure we use the latter type, however.)
: Resolves RT #43835.
diff: parrotvm.org/svn/parrot/revision/?rev=26399
21:42 jrt4 joined
spinclad diakopter: strange: sometimes svnbotl makes it through a long log, well paced; sometimes cuts off after 5 lines, as if throttled at server. first five lines appear together, regardless. 21:55
(compare r26398 and r26399 here) 21:56
dunno if this provides any clues
22:02 adc joined 22:24 marmic joined 22:31 kid51 joined
svnbotl r26400 | chromatic++ | trunk: 22:49
: [t] Skipped the dynoplibs event test under the CGP core, as there's some
: weirdness with dynops and multiple interpreters.
diff: parrotvm.org/svn/parrot/revision/?rev=26400
r26401 | chromatic++ | trunk: 23:08
: [src] Minor cleanups in formatting.
diff: parrotvm.org/svn/parrot/revision/?rev=26401
diakopter spinclad: yes, the server throttling is occuring. I keep trying to get pugs to put a 1 second delay between lines, but I think autothreading is preempting my efforts 23:13
either that or output buffering
Infinoid wrote up a nice POC that polls the rss log; I'm trying to write a botnix plugin 23:14
which is at svn.inspircd.org/repository/trunk/botnix if you're interested 23:16
dalek: you're a botnix instance, aren't you?
(yes)
Infinoid ooo
23:47 zarchne joined