Ticket #2119 (closed bug: fixed)

Opened 4 years ago

Last modified 4 years ago

t/tools/dev/headerizer/01_functions.t failure

Reported by: mikehh Owned by: jkeenan
Priority: normal Milestone:
Component: testing Version: master
Severity: medium Keywords:
Cc: petdance, kid51 Language:
Patch status: applied Platform:

Description (last modified by mikehh) (diff)

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 ')'

Change History

Changed 4 years ago by mikehh

  • description modified (diff)

Changed 4 years ago by jkeenan

  • component changed from none to testing

Changed 4 years ago by jkeenan

  • owner set to jkeenan
  • status changed from new to assigned
  • patch set to applied

8f70521: Update test to reflect change is way asserts are capture.

Changed 4 years ago by jkeenan

  • status changed from assigned to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.