Daily Usage Issues

Impacted tests with internal types under CompareIL detection mode.

Started by GreenMoose on 5,356 views

[v3.6.0.1]

From what I understand internal types are excluded from the impact detection engine, right? i.e. if I alter the some covered lines of an internal type, that will not mark tests covering those lines as impacted?
(And marking that assembly with [assembly: internalsVisibleTo("myTestAsembly')] does not seem to matter).

Is this planned to change in a near future?

I mostly declare types as internal with public interfaces and use IOC to resolve the instances. But this is not working with the IL impacted detection mode since tests are not treated as impacted, which is a pity since this is one awesomeness of NCrunch to only run impacted tests :/.

(Changing impact detection mode to CompareText works with internal types, but then all tests covering some line of the entire file is marked as impacted but I guess that is same behavior as before the CompareIL mode was introduced).

Thanks.
The impact detection system should consider ALL covered methods in an assembly, regardless of whether they are internal.

So what you've described looks like a bug.

Some issues have recently been found where the impact detection wasn't working correctly for certain compiler generated structures (such as async/await, etc). The build below includes a fix for these problems. If the build below doesn't solve the impact detection issue you've discovered, I'd like to learn more about this to make sure it's handled.

http://downloads.ncrunch.net/NCrunch_Console_3.7.0.3.msi
http://downloads.ncrunch.net/NCrunch_Console_3.7.0.3.zip
http://downloads.ncrunch.net/NCrunch_GridNodeServer_3.7.0.3.msi
http://downloads.ncrunch.net/NCrunch_GridNodeServer_3.7.0.3.zip
http://downloads.ncrunch.net/NCrunch_LicenseServer_3.7.0.3.zip
http://downloads.ncrunch.net/NCrunch_VS2008_3.7.0.3.msi
http://downloads.ncrunch.net/NCrunch_VS2010_3.7.0.3.msi
http://downloads.ncrunch.net/NCrunch_VS2010_3.7.0.3.zip
http://downloads.ncrunch.net/NCrunch_VS2012_3.7.0.3.msi
http://downloads.ncrunch.net/NCrunch_VS2012_3.7.0.3.zip
http://downloads.ncrunch.net/NCrunch_VS2013_3.7.0.3.msi
http://downloads.ncrunch.net/NCrunch_VS2013_3.7.0.3.zip
http://downloads.ncrunch.net/NCrunch_VS2015_3.7.0.3.msi
http://downloads.ncrunch.net/NCrunch_VS2015_3.7.0.3.zip
http://downloads.ncrunch.net/NCrunch_VS2017_3.7.0.3.msi
http://downloads.ncrunch.net/NCrunch_VS2017_3.7.0.3.zip
Ok thanks. 3.7.0.3 did not fix the issue however (yes the method is async, and it behaves the same as before; e.g. commenting out a line: no impact detection, un-commenting a line/inserting a line: impact detection works).
GreenMoose wrote:Ok thanks. 3.7.0.3 did not fix the issue however (yes the method is async, and it behaves the same as before; e.g. commenting out a line: no impact detection, un-commenting a line/inserting a line: impact detection works).


Is there any chance you could isolate this issue with a sample project? I'd like to fill this hole if possible :)
Remco wrote:Is there any chance you could isolate this issue with a sample project? I'd like to fill this hole if possible :)

Sent via mail.
Ok, this looks to have been a similar issue. I've redesigned the way the whole impact detection system works with compiler generated code. Hopefully we'll now see an end to these problems. New build is below.

http://downloads.ncrunch.net/NCrunch_Console_3.7.0.4.msi
http://downloads.ncrunch.net/NCrunch_Console_3.7.0.4.zip
http://downloads.ncrunch.net/NCrunch_GridNodeServer_3.7.0.4.msi
http://downloads.ncrunch.net/NCrunch_GridNodeServer_3.7.0.4.zip
http://downloads.ncrunch.net/NCrunch_LicenseServer_3.7.0.4.zip
http://downloads.ncrunch.net/NCrunch_VS2008_3.7.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2010_3.7.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2010_3.7.0.4.zip
http://downloads.ncrunch.net/NCrunch_VS2012_3.7.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2012_3.7.0.4.zip
http://downloads.ncrunch.net/NCrunch_VS2013_3.7.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2013_3.7.0.4.zip
http://downloads.ncrunch.net/NCrunch_VS2015_3.7.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2015_3.7.0.4.zip
http://downloads.ncrunch.net/NCrunch_VS2017_3.7.0.4.msi
http://downloads.ncrunch.net/NCrunch_VS2017_3.7.0.4.zip
Great! Works for my solution now as well :)

Post a reply

Log in to reply.