Skip to main content

No project description provided

Project description

muts_core

Mutations from mutmut:

  1. Number + 1
  2. str -> XXstrXX
  3. lambda x: ... -> lambda x: None, lambda x: 0
  4. dict(a=b, c=d) -> dict(aXX=b, c=d), dict(a=b, cXX=d)
  5. foo(a, b) -> foo(b), foo(a)
  6. a.lower() -> a.upper()
  7. Remove any unary operators
  8. is -> is not, is not -> is, in -> not in, not in -> in, break -> return, continue -> break
  9. True -> False, False -> True, deepcopy -> copy
  10. This mapping:

{ cst.Plus: cst.Minus, cst.Add: cst.Subtract, cst.Minus: cst.Plus, cst.Subtract: cst.Add, cst.Multiply: cst.Divide, cst.Divide: cst.Multiply, cst.FloorDivide: cst.Divide, cst.Modulo: cst.Divide, cst.LeftShift: cst.RightShift, cst.RightShift: cst.LeftShift, cst.BitAnd: cst.BitOr, cst.BitOr: cst.BitAnd, cst.BitXor: cst.BitAnd, cst.Power: cst.Multiply, cst.AddAssign: cst.SubtractAssign, cst.SubtractAssign: cst.AddAssign, cst.MultiplyAssign: cst.DivideAssign, cst.DivideAssign: cst.MultiplyAssign, cst.FloorDivideAssign: cst.DivideAssign, cst.ModuloAssign: cst.DivideAssign, cst.LeftShiftAssign: cst.RightShiftAssign, cst.RightShiftAssign: cst.LeftShiftAssign, cst.BitAndAssign: cst.BitOrAssign, cst.BitOrAssign: cst.BitAndAssign, cst.BitXorAssign: cst.BitAndAssign, cst.PowerAssign: cst.MultiplyAssign, cst.LessThan: cst.LessThanEqual, cst.LessThanEqual: cst.LessThan, cst.GreaterThan: cst.GreaterThanEqual, cst.GreaterThanEqual: cst.GreaterThan, cst.Equal: cst.NotEqual, cst.NotEqual: cst.Equal, cst.And: cst.Or, cst.Or: cst.And, }

  1. mutate all augmented assignments (+=, *=, |=, etc.) to normal = assignments
  2. mutate a = b to a = None and a = None to `a = ""
  3. Drop the case statements in a match.

Example prompt (in Russian):

Я запустил мутационное тестирование и узнал, что если мы в файле @awaits/utils/end_of_wrappers.py в 15 строке мы заменим 0 на 2 - этого мутанта наши тесты не убивают. Напиши ОДИН тест, который его убьет. Для этого тебе нужно 1. понять общую логику этого участка кода; 2. понять, как она ломается, если мы сделаем это изменение; 3. временно изменить этот участок кода и попробовать запустить тесты, убедиться, что не падают; 4. написать тест, который проверяет ту логику, которую ты выявил, он должен падать; 5. "починить" код, который ты сломал, и убедиться, что тест больше не падает; 6. если не сработало - попробуй вернуть все как было и снова начать с 1 пункта, но придумать другую гипотезу, и так по кругу, пока не получится (сами гипотезы где-то записывай, чтобы не повторяться). В итоге должен получиться ОДИН новый тест (убедись, что он всего один!), все остальное состояние репозитория должно остаться нетронутым.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mutating_core-0.0.1.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mutating_core-0.0.1-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file mutating_core-0.0.1.tar.gz.

File metadata

  • Download URL: mutating_core-0.0.1.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mutating_core-0.0.1.tar.gz
Algorithm Hash digest
SHA256 4379fe9f39298aff1bcd3d1e319b420a2371cd74cb9a82ec6b6cebeac3b02074
MD5 2fd2ea3cca78c335ea758b4b34dca1b1
BLAKE2b-256 5da9c74a59643cdac3581997f9d273cfd2d1684c8185c4f3857000737b2131d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mutating_core-0.0.1.tar.gz:

Publisher: release.yml on pomponchik/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mutating_core-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: mutating_core-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mutating_core-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a2464e784f1f62bf09dd332230a04ebc413d50257fdc080f9e7896f436dce2b3
MD5 90a22a87ee2e87cf57cfbab4be35718a
BLAKE2b-256 d730f2ab8a4c4afc373a7c9b4c617288c715b14f1927e9cb3de7652b1885ebd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mutating_core-0.0.1-py3-none-any.whl:

Publisher: release.yml on pomponchik/core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page