[ 
https://issues.apache.org/jira/browse/GROOVY-7717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shil Sinha updated GROOVY-7717:
-------------------------------
    Description: 
When StaticTypeCheckingTestCase#shouldFailWithMessages(String, String...) is 
called with multiple message arguments, the call returns successfully if both 
of the following are true:

1) at least one argument is contained in a collected error message
2) the number of message arguments equals the number of collected errors

This causes tests to erroneously pass, even if they don't result in all of the 
desired errors. For example, 
TypeCheckingExtensionsTest#testPrecompiledExtensionNotExtendingTypeCheckingDSL 
currently passes even though 
PrecompiledExtensionNotExtendingTypeCheckingDSL#onMethodSelection throws a 
MissingPropertyException (which is converted to a compilation error in 
CompilationUnit#applyToPrimaryClassNodes) instead of actually adding the 
intended static type error.








  was:
When StaticTypeCheckingTestCase#shouldFailWithMessages(String, String...) is 
called with multiple message arguments, the call returns successfully if:

1) at least one argument is contained in a collected error message
2) the number of message arguments equals the number of collected errors

This causes tests to erroneously pass, even if they don't result in all of the 
desired errors. For example, 
TypeCheckingExtensionsTest#testPrecompiledExtensionNotExtendingTypeCheckingDSL 
currently passes even though 
PrecompiledExtensionNotExtendingTypeCheckingDSL#onMethodSelection throws a 
MissingPropertyException (which is converted to a compilation error in 
CompilationUnit#applyToPrimaryClassNodes) instead of actually adding the 
intended static type error.









> StaticTypeCheckingTestCase#shouldFailWithMessages erroneously passes
> --------------------------------------------------------------------
>
>                 Key: GROOVY-7717
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7717
>             Project: Groovy
>          Issue Type: Bug
>          Components: Static Type Checker
>    Affects Versions: 2.4.5
>            Reporter: Shil Sinha
>            Assignee: Shil Sinha
>
> When StaticTypeCheckingTestCase#shouldFailWithMessages(String, String...) is 
> called with multiple message arguments, the call returns successfully if both 
> of the following are true:
> 1) at least one argument is contained in a collected error message
> 2) the number of message arguments equals the number of collected errors
> This causes tests to erroneously pass, even if they don't result in all of 
> the desired errors. For example, 
> TypeCheckingExtensionsTest#testPrecompiledExtensionNotExtendingTypeCheckingDSL
>  currently passes even though 
> PrecompiledExtensionNotExtendingTypeCheckingDSL#onMethodSelection throws a 
> MissingPropertyException (which is converted to a compilation error in 
> CompilationUnit#applyToPrimaryClassNodes) instead of actually adding the 
> intended static type error.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to