#2119: t/tools/dev/headerizer/01_functions.t failure
--------------------+-------------------------------------------------------
Reporter: mikehh | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: none | Version: master
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
--------------------+-------------------------------------------------------
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 ')'
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/2119>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets