{"id":15446160,"url":"https://github.com/moul/testman","last_synced_at":"2025-06-28T19:36:58.164Z","repository":{"id":38272347,"uuid":"292957433","full_name":"moul/testman","owner":"moul","description":"😎 `go test` wrapper for advanced testing workflows in Go","archived":false,"fork":false,"pushed_at":"2025-04-05T19:53:33.000Z","size":136,"stargazers_count":6,"open_issues_count":17,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T20:29:54.563Z","etag":null,"topics":["golang","test","testing"],"latest_commit_sha":null,"homepage":"https://manfred.life/golang","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["moul"],"patreon":"moul","open_collective":"moul","custom":["https://manfred.life/donate"]}},"created_at":"2020-09-04T22:21:12.000Z","updated_at":"2022-06-02T05:06:53.000Z","dependencies_parsed_at":"2023-10-11T01:02:51.847Z","dependency_job_id":"7f518a08-ba76-4db4-97e9-d88236fb900c","html_url":"https://github.com/moul/testman","commit_stats":{"total_commits":57,"total_committers":4,"mean_commits":14.25,"dds":0.5263157894736843,"last_synced_commit":"2eb68f2ad428417b8a74c37b743699cdc52c4b73"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":"moul/golang-repo-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moul%2Ftestman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moul%2Ftestman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moul%2Ftestman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moul%2Ftestman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moul","download_url":"https://codeload.github.com/moul/testman/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248860007,"owners_count":21173342,"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","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":["golang","test","testing"],"created_at":"2024-10-01T19:58:46.443Z","updated_at":"2025-04-14T10:20:26.108Z","avatar_url":"https://github.com/moul.png","language":"Go","funding_links":["https://github.com/sponsors/moul","https://patreon.com/moul","https://opencollective.com/moul","https://manfred.life/donate"],"categories":[],"sub_categories":[],"readme":"# testman\n\n😎 `go test` wrapper for advanced testing workflows in Go\n\n[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go\u0026logoColor=white)](https://pkg.go.dev/moul.io/testman)\n[![License](https://img.shields.io/badge/license-Apache--2.0%20%2F%20MIT-%2397ca00.svg)](https://github.com/moul/testman/blob/master/COPYRIGHT)\n[![GitHub release](https://img.shields.io/github/release/moul/testman.svg)](https://github.com/moul/testman/releases)\n[![Docker Metrics](https://images.microbadger.com/badges/image/moul/testman.svg)](https://microbadger.com/images/moul/testman)\n[![Made by Manfred Touron](https://img.shields.io/badge/made%20by-Manfred%20Touron-blue.svg?style=flat)](https://manfred.life/)\n\n[![Go](https://github.com/moul/testman/workflows/Go/badge.svg)](https://github.com/moul/testman/actions?query=workflow%3AGo)\n[![Release](https://github.com/moul/testman/workflows/Release/badge.svg)](https://github.com/moul/testman/actions?query=workflow%3ARelease)\n[![PR](https://github.com/moul/testman/workflows/PR/badge.svg)](https://github.com/moul/testman/actions?query=workflow%3APR)\n[![GolangCI](https://golangci.com/badges/github.com/moul/testman.svg)](https://golangci.com/r/github.com/moul/testman)\n[![codecov](https://codecov.io/gh/moul/testman/branch/master/graph/badge.svg)](https://codecov.io/gh/moul/testman)\n[![Go Report Card](https://goreportcard.com/badge/moul.io/testman)](https://goreportcard.com/report/moul.io/testman)\n[![CodeFactor](https://www.codefactor.io/repository/github/moul/testman/badge)](https://www.codefactor.io/repository/github/moul/testman)\n\n\n## Usage\n\n*testman -h*\n\n[embedmd]:# (.tmp/root-usage.txt)\n```txt\nUSAGE\n  testman \u003csubcommand\u003e [flags]\n\nSUBCOMMANDS\n  test  advanced go test workflows\n  list  list available tests\n```\n\n*testman test -h*\n\n[embedmd]:# (.tmp/test-usage.txt)\n```txt\nUSAGE\n  testman test [flags] [packages]\n\nEXAMPLES\n   testman test ./...\n   testman test -v ./...\n   testman test -run ^TestUnstable -timeout=300s -retry=50 ./...\n   testman test -run ^TestBroken -test.timeout=30s -retry=10 --continue-on-error ./...\n   testman test -test.timeout=10s -test.v -test.count=2 -test.race\n\nFLAGS\n  -continue-on-error false  continue on error (but still fails at the end)\n  -retry 0                  fail after N retries\n  -run ^(Test|Example)      regex to filter out tests and examples\n  -test.count 1             `go test -count=VAL`\n  -test.race false          `go test -race`\n  -test.timeout 0s          `go test -timeout=VAL`\n  -test.v false             `go test -v`\n  -timeout 0s               program max duration\n  -v false                  verbose\n```\n\n*testman list -h*\n\n[embedmd]:# (.tmp/list-usage.txt)\n```txt\nUSAGE\n  testman list [packages]\n\nEXAMPLES\n   testman list ./...\n   testman list -v ./...\n   testman list -run ^TestStable ./...\n\nFLAGS\n  -run ^(Test|Example)  regex to filter out tests and examples\n  -v false              verbose\n```\n\n## Install\n\n### Using go\n\n```console\n$ go get -u moul.io/testman\n```\n\n### Releases\n\nSee https://github.com/moul/testman/releases\n\n## Contribute\n\n![Contribute \u003c3](https://raw.githubusercontent.com/moul/moul/master/contribute.gif)\n\nI really welcome contributions. Your input is the most precious material. I'm well aware of that and I thank you in advance. Everyone is encouraged to look at what they can do on their own scale; no effort is too small.\n\nEverything on contribution is sum up here: [CONTRIBUTING.md](./CONTRIBUTING.md)\n\n### Contributors ✨\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg)](#contributors)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://manfred.life\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/94029?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eManfred Touron\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-moul\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"https://github.com/moul/testman/commits?author=moul\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/moul/testman/commits?author=moul\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/moul/testman/commits?author=moul\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://manfred.life/moul-bot\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/41326314?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003emoul-bot\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-moul-bot\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n### Stargazers over time\n\n[![Stargazers over time](https://starchart.cc/moul/testman.svg)](https://starchart.cc/moul/testman)\n\n## License\n\n© 2020-2021 [Manfred Touron](https://manfred.life)\n\nLicensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) ([`LICENSE-APACHE`](LICENSE-APACHE)) or the [MIT license](https://opensource.org/licenses/MIT) ([`LICENSE-MIT`](LICENSE-MIT)), at your option. See the [`COPYRIGHT`](COPYRIGHT) file for more details.\n\n`SPDX-License-Identifier: (Apache-2.0 OR MIT)`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoul%2Ftestman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoul%2Ftestman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoul%2Ftestman/lists"}