question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. ItΒ collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Solution mode doesn't handle namesakes

See original GitHub issue

Describe the bug Found this bug while trying to reproduce another bug… πŸ˜„

But basically, imagine there is a solution with projects Library1 and Library2 and both have class MyClass, both classes are tested in respective test projects Library1.Tests and Library2.Tests.

Judging by logs, Stryker knows what to do:

Version: 3.9.0

[14:38:45 INF] Analysis starting.
[14:38:45 INF] Identifying projects to mutate in C:\Users\xxx\Desktop\MySolution\MySolution.sln. This can take a while.
[14:38:48 INF] Found 2 source projects
[14:38:48 INF] Found 2 test projects
[14:38:48 INF] Found project C:\Users\xxx\Desktop\MySolution\Library2\Library2.csproj to mutate.
[14:38:48 INF] Found project C:\Users\xxx\Desktop\MySolution\Library1\Library1.csproj to mutate.
[14:38:48 INF] Analysis complete.
[14:38:48 INF] Building solution MySolution.sln
[14:38:53 INF] Number of tests found: 1 for project C:\Users\xxx\Desktop\MySolution\Library2\Library2.csproj. Initial test run started.
[14:38:57 INF] Number of tests found: 1 for project C:\Users\xxx\Desktop\MySolution\Library1\Library1.csproj. Initial test run started.
[14:38:59 INF] 3 mutants created
[14:38:59 INF] Capture mutant coverage using 'CoverageBasedTest' mode.
Hint: by passing "--open-report or -o" the report will open automatically and update the report in realtime.
[14:39:02 INF] 1     mutants got status Ignored.      Reason: Removed by block already covered filter
[14:39:02 INF] 1     total mutants are skipped for the above mentioned reasons
[14:39:02 INF] 2     total mutants will be tested
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ100,00% β”‚ Testing mutant 2 / 2 β”‚ K 2 β”‚ S 0 β”‚ T 0 β”‚ ~0m 00s β”‚                                                                                        00:00:02

Killed:   2
Survived: 0
Timeout:  0

Your html report has been generated at:
C:\Users\xxx\Desktop\MySolution\StrykerOutput\2023-06-08.14-38-45\reports\mutation-report.html
You can open it in your browser of choice.
[14:39:05 INF] Time Elapsed 00:00:19.9786253
[14:39:05 INF] The final mutation score is 100.00 %

But then the report… image

If I do the renaming - that is, rename classes to Library1.MyClass1 and Library2.MyClass2, the results are reasonable. image

That said, this is still confusing in a way, I want some notion of the fact those classes are in different projects - but that’s probably a separate discussion.

Desktop (please complete the following information):

  • OS: Windows
  • Stryker Version: 3.9.0

Additional context To save you some time, here is the repro: MySolution.zip

Issue Analytics

  • State:closed
  • Created 3 months ago
  • Comments:10 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
psfinakicommented, Jun 8, 2023

Alright. What I originally wanted to confirm is that somewhere between versions 3.7.1 and 3.8.2 (that’s the update I was testing) the files key in JSON reports started showing only the name of the file instead of the full path as it used to be. image

Is this what you are talking about also? Or should I create some separate issue for this?

0reactions
rouke-broersmacommented, Jun 9, 2023

Nope, it was me πŸ™„πŸ˜

Read more comments on GitHub >

github_iconTop Results From Across the Web

"Site names cannot contain certain reserved words" when ...
This article describes an issue where Site names cannot contain certain reserved words occurs when you try to create a new SharePoint OnlineΒ ......
Read more >
For Names' Sake
Of course, any namesake subsystem is hopeless as long as the son and father answer to the same handle. Phone calls, mail, checks,...
Read more >
Relative imports in Python 3
Explanation. Relative imports use a module's __name__ attribute to determine that module's position in the package hierarchy.
Read more >
Effective Go
Let's talk about new first. It's a built-in function that allocates memory, but unlike its namesakes in some other languages it does not...
Read more >
My account has a dot in it. Someone has been using ...
This applies to both account creation and usage to send e-mail; the presence of dots in the name does not make it a...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found