Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Using "\u" escape sequence can produce equivalent mutations.

Abierto Apto para principiantes
#609 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 3 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
83/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
testing

Línea de trabajo

Empieza con operator_string en src/mutmut/mutation/mutators.py, como sugiere el issue, e inspecciona cómo gestiona las secuencias de escape de cadenas. Usa el script de reproducción del issue para comprobar que los escapes \u y \U ya no producen mutaciones equivalentes, mientras que las demás mutaciones de cadenas siguen funcionando. La tarea estará terminada cuando el reproducer deje de emitir un caso de mutación de escape Unicode que solo difiera en mayúsculas y minúsculas.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hello,

Bug description

If strings contain unicode symbols with syntax "\u00A0", mutmut generates a mutation of "\u00a0".

Both literals evaluate to the same symbol (non-breaking space).

Therefor it is impossible to catch this mutation using a test:

print("\u00a0" == "\u00A0") # True

Steps to reproduce the bug

You can use the following script to see the bug:

import libcst as cst
from mutmut.mutation.mutators import operator_string
source = r'u"\u00a0"'
node = cst.parse_expression(source)

print("Input:   ", source, "Evaluated value:", repr(eval(source)))
for result in operator_string(node):
    print("Mutation:", result.value, "Evaluated value:", repr(eval(result.value)))

# Input:    u"\u00a0" Evaluated value: '\xa0'
# Mutation: u"XX\u00a0XX" Evaluated value: 'XX\xa0XX'
# Mutation: u"\u00A0" Evaluated value: '\xa0'

Suggested fix:

Update def operator_string in src/mutmut/mutation/mutators.py, so that no mutation is being generated for \u or \U syntax.
https://github.com/boxed/mutmut/blob/7d5fff33cff22da5f6d0eb1a7bdc764362444221/src/mutmut/mutation/mutators.py#L58-L60

Lenguaje dominante
Python
Estrellas
1.5k
Forks
182
Merge medio
2 d 14 h
PR fusionados (30 d)
3

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de boxed/mutmut

Todos los issues de boxed/mutmut

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.