{"id":25978719,"url":"https://github.com/leonidboykov/go-mutesting","last_synced_at":"2026-06-15T07:32:22.246Z","repository":{"id":279973408,"uuid":"940597689","full_name":"leonidboykov/go-mutesting","owner":"leonidboykov","description":"Mutation testing for Go source code. Fork from https://github.com/zimmski/go-mutesting","archived":false,"fork":false,"pushed_at":"2025-11-14T08:58:17.000Z","size":400,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-11-14T10:05:44.720Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leonidboykov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-28T13:09:38.000Z","updated_at":"2025-11-14T08:58:14.000Z","dependencies_parsed_at":"2025-02-28T19:50:37.469Z","dependency_job_id":"6af3e8ac-ccf6-4380-9e63-3ffe28d16c8d","html_url":"https://github.com/leonidboykov/go-mutesting","commit_stats":null,"previous_names":["leonidboykov/go-mutesting"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/leonidboykov/go-mutesting","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonidboykov%2Fgo-mutesting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonidboykov%2Fgo-mutesting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonidboykov%2Fgo-mutesting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonidboykov%2Fgo-mutesting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leonidboykov","download_url":"https://codeload.github.com/leonidboykov/go-mutesting/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonidboykov%2Fgo-mutesting/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285207643,"owners_count":27132524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-19T02:00:05.673Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-05T05:28:34.669Z","updated_at":"2026-06-15T07:32:22.238Z","avatar_url":"https://github.com/leonidboykov.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-mutesting\n[![Go Reference](https://pkg.go.dev/badge/github.com/leonidboykov/go-mutesting.svg)](https://pkg.go.dev/github.com/leonidboykov/go-mutesting)\n[![Go package](https://github.com/leonidboykov/go-mutesting/actions/workflows/go-test.yml/badge.svg)](https://github.com/leonidboykov/go-mutesting/actions/workflows/go-test.yml)\n[![codecov](https://codecov.io/github/leonidboykov/go-mutesting/graph/badge.svg?token=5MIQGV48K9)](https://codecov.io/github/leonidboykov/go-mutesting)\n\ngo-mutesting is a framework for performing mutation testing on Go source code. Its main purpose is to find source code,\nwhich is not covered by any tests.\n\n## Quick Example\n\ngo-mutesting includes a binary which is go-getable.\n\n```bash\ngo get -t -v github.com/leonidboykov/go-mutesting/...\n```\n\nThe following command mutates the go-mutesting project with all available mutators.\n\n``` bash\ngo-mutesting github.com/leonidboykov/go-mutesting/...\n```\n\nThe execution of this command prints for every mutation if it was successfully tested or not. If not, the source code\npatch is printed out, so the mutation can be investigated. The following shows an example for a patch of a mutation.\n\n``` diff\nfor _, d := range opts.Mutator.DisableMutators {\n\tpattern := strings.HasSuffix(d, \"*\")\n\n-\tif (pattern \u0026\u0026 strings.HasPrefix(name, d[:len(d)-2])) || (!pattern \u0026\u0026 name == d) {\n+\tif (pattern \u0026\u0026 strings.HasPrefix(name, d[:len(d)-2])) || false {\n\t\tcontinue MUTATOR\n\t}\n}\n```\n\nThe example shows that the right term `(!pattern \u0026\u0026 name == d)` of the `||` operator is made irrelevant by substituting\nit with `false`. Since this change of the source code is not detected by the test suite, meaning the test suite did not\nfail, we can mark it as untested code.\n\nFor the rest of the readme, check out the documentation at \u003chttps://leonidboykov.github.io/go-mutesting\u003e.\n\n## Can I make feature requests and report bugs and problems?\n\nSure, just submit an [issue via the project tracker](https://github.com/leonidboykov/go-mutesting/issues/new) and we will see what I can do.\n\n## Slop-free software\n\nThis software is 100% human-authored. All AI-generated contributions will be rejected.\n\n\u003ca href=\"https://slop-free.org\" title=\"This content is 100% human-authored.\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n  \u003cimg src=\"https://slop-free.org/logos/slop-free-url.svg\" width=\"170\" alt=\"slop-free.org logo\" /\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonidboykov%2Fgo-mutesting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleonidboykov%2Fgo-mutesting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonidboykov%2Fgo-mutesting/lists"}