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.

`mutations show <id>` results in `No mutation performed`

See original GitHub issue

Thesis

Some mutations are marked as failed. However, they are not making any changes to the source code. And the tests are working. So, there’s an issue somewhere.

How to reproduce

Steps to reproduce (however, I am not sure that this can be reproduced with 100%):

  1. Follow the installation steps of https://github.com/wemake-services/wemake-django-template
  2. Install dependencies + install mutmut (it is not included)
  3. Add this lines to the setup.cfg:
[mutmut]
paths_to_mutate = server/main_app
backup = False
runner = pytest
tests_dir = tests/
  1. Run mutmut run

Related output

(.venv) ~/Desktop/test_project
» mutmut run

- Mutation testing starting -

These are the steps:
1. A full test suite run will be made to make sure we
   can run the tests successfully and we know how long
   it takes (to detect infinite loops for example)
2. Mutants will be generated and checked

Mutants are written to the cache in the .mutmut-cache
directory. Print found mutants with `mutmut results`.

Legend for output:
🎉 Killed mutants. The goal is for everything to end up in this bucket.
⏰ Timeout. Test suite took 10 times as long as the baseline so were killed.
🤔 Suspicious. Tests took a long time, but not long enough to be fatal.
🙁 Survived. This means your tests needs to be expanded.

1. Running tests without mutations
⠙ Running... Done

2. Checking mutants
⠦ 6/6  🎉 2  ⏰ 0  🤔 0  🙁 4

(.venv) ~/Desktop/test_project
» mutmut results
Timed out ⏰

Suspicious 🤔

Survived 🙁
mutmut apply 1
mutmut apply 2
mutmut apply 3
mutmut apply 4

(.venv) ~/Desktop/test_project
» mutmut show 1
No mutation performed

(.venv) ~/Desktop/test_project
» mutmut show 2
No mutation performed

(.venv) ~/Desktop/test_project
» mutmut show 3
--- server/main_app/urls.py
+++ server/main_app/urls.py
@@ -7,6 +7,6 @@
 # Place your URLs here:

 urlpatterns = [
-    url(r'^hello/$', index, name='hello'),
+    url(r'XX^hello/$XX', index, name='hello'),
 ]


(.venv) ~/Desktop/test_project
» mutmut show 4
--- server/main_app/urls.py
+++ server/main_app/urls.py
@@ -7,6 +7,6 @@
 # Place your URLs here:

 urlpatterns = [
-    url(r'^hello/$', index, name='hello'),
+    url(r'^hello/$', index, name='XXhelloXX'),
 ]

Originally posted as https://github.com/boxed/mutmut/issues/31#issuecomment-439907098

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
boxedcommented, Nov 20, 2018

I just changed it to use sqlite for the database… I really disagree with the choices made in this cookiecutter template I must say. Super complex and python 3.6.6 specific (why so specific?), crazy amounts of dependencies, docker maybe?, coverage by default, explicit utf8 encoding markers on all files, but it’s python 3 so that’s the default anyway… it’s just a bit of a mess quite frankly.

In any case, after all that I can’t even reproduce the problem 😦

The config you specified seems a bit strange as you should only really need the paths_to_mutate setting, but even with it the same it give me the mutants fine:

>  mutmut show 1
--- server/main_app/apps.py
+++ server/main_app/apps.py
@@ -6,5 +6,5 @@
 class MainAppConfig(AppConfig):
     """Default django-app configuration."""
 
-    name = 'main_app'
+    name = 'XXmain_appXX'

etc

😦

0reactions
sobolevncommented, Nov 20, 2018

Ok, I will update this issue if this happens once again. Thanks for all your efforts!

Closing this issue for now.


P.S. Super sad, that I did not like our template. Its main idea it to create super strict code quality and security checks for developers. So we can control quality of the project. And everything is turned on be default. And can not be switched off. Including coverage, all quality checks, etc, etc.

So we use the most specific instruments, patterns, and versions. coding: utf-8 saves a lot of time in some setups. There are different tools, terminal emulators, text editors, etc that still relies on it. We had a lot of problems with it. Explicit is better than implicit.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Genetics 101: detecting mutations in human genes - NCBI - NIH
A mutation in a protein signal sequence may mean that a properly folded, functional protein never reaches its final destination in the cell....
Read more >
Mutations in Apollo Client - Apollo GraphQL Docs
The default value is none , meaning that the mutation result includes error details but not partial results. onCompleted. (data?: TData, clientOptions?:
Read more >
Mutational Analysis | Bio-Rad
In any living cell, mutations occur when there is a failure in DNA repair. In this section we review the different types of...
Read more >
BRAF Genetic Test: MedlinePlus Medical Test
A BRAF genetic test is most often used to guide treatment for certain cancers. Mutations in the BRAF gene are common in melanoma...
Read more >
Systematic identification of mutations and copy number ... - eLife
Gene copy number provides more prognostic information than gene mutation status in cancer.
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