id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,lang,patch,platform
2119,t/tools/dev/headerizer/01_functions.t failure,mikehh,jkeenan,"t/tools/dev/headerizer/01_functions.t - Failed test:  51
{{{
...
not ok 51 - Got expected assert

#   Failed test 'Got expected assert'
#   at t/tools/dev/headerizer/01_functions.t line 471.
...
}}}

this appears to be the result of a change in an re in lib/Parrot/Headerizer/Functions.pm in commit  b3b76526480e75fac566 by petdance on 2011-05-18 (currently line 455):
{{{
...
-        if ( $arg =~ m{(ARGIN|ARGOUT|ARGMOD|ARGFREE_NOTNULL|NOTNULL)\((.+)\)} ) {
+        if ( $arg =~ m{(ARGIN|ARGOUT|ARGMOD|ARGFREE_NOTNULL|NOTNULL)\((.+?)\)} ) {
...
}}}

from the test line 459-471
{{{
@args = (
    'ARGFREE_NOTNULL(( _abcDEF123 )())',
    'PARROT_INTERP',
    'ARGIN(Linked_List *list)',
    'ARGIN(List_Item_Header *item)',
    'SHIM_INTERP',
);
%asserts = map { $_ => 1 } asserts_from_args( @args );
is( keys %asserts, 4, ""Got expected number of asserts"" );
ok( exists $asserts{'PARROT_ASSERT_ARG(list)'}, ""Got expected assert"" );
ok( exists $asserts{'PARROT_ASSERT_ARG(item)'}, ""Got expected assert"" );
ok( exists $asserts{'PARROT_ASSERT_ARG(interp)'}, ""Got expected assert"" );
ok( exists $asserts{'PARROT_ASSERT_ARG(_abcDEF123)'}, ""Got expected assert"" );

}}}

the 'ARGFREE_NOTNULL(( _abcDEF123 )())' on line 460 gets returned as:

'PARROT_ASSERT_ARG(( _abcDEF123 )'

not 'PARROT_ASSERT_ARG(_abcDEF123)' as expected.

Note two parens and a space'(( ' not '(' and a space and single parens ' )' not ')'


",bug,closed,normal,,testing,master,medium,fixed,,petdance kid51,,applied,
