{"id":13469037,"url":"https://github.com/bats-core/bats-core","last_synced_at":"2025-05-12T03:42:32.123Z","repository":{"id":37602648,"uuid":"104130720","full_name":"bats-core/bats-core","owner":"bats-core","description":"Bash Automated Testing System","archived":false,"fork":false,"pushed_at":"2025-05-01T09:32:24.000Z","size":2518,"stargazers_count":5270,"open_issues_count":109,"forks_count":429,"subscribers_count":49,"default_branch":"master","last_synced_at":"2025-05-01T10:07:07.311Z","etag":null,"topics":["bash","bats","junit","shell","tap","testing","testing-tools","xunit"],"latest_commit_sha":null,"homepage":"https://bats-core.readthedocs.io/","language":"Shell","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/bats-core.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"docs/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-09-19T21:28:20.000Z","updated_at":"2025-05-01T09:32:27.000Z","dependencies_parsed_at":"2023-12-19T01:03:47.227Z","dependency_job_id":"8f45241c-b7dc-4a06-9c61-ecdc4184e3b1","html_url":"https://github.com/bats-core/bats-core","commit_stats":{"total_commits":1259,"total_committers":121,"mean_commits":10.40495867768595,"dds":"0.46862589356632245","last_synced_commit":"4417a96cfc5e4afc493df94eeef8af4eec760163"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bats-core%2Fbats-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bats-core%2Fbats-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bats-core%2Fbats-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bats-core%2Fbats-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bats-core","download_url":"https://codeload.github.com/bats-core/bats-core/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251857023,"owners_count":21655121,"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":["bash","bats","junit","shell","tap","testing","testing-tools","xunit"],"created_at":"2024-07-31T15:01:24.980Z","updated_at":"2025-05-01T10:08:11.847Z","avatar_url":"https://github.com/bats-core.png","language":"Shell","readme":"[![Latest release](https://img.shields.io/github/release/bats-core/bats-core.svg)](https://github.com/bats-core/bats-core/releases/latest)\n[![npm package](https://img.shields.io/npm/v/bats.svg)](https://www.npmjs.com/package/bats)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/bats-core/bats-core/blob/master/LICENSE.md)\n[![Continuous integration status](https://github.com/bats-core/bats-core/workflows/Tests/badge.svg)](https://github.com/bats-core/bats-core/actions?query=workflow%3ATests)\n[![Read the docs status](https://readthedocs.org/projects/bats-core/badge/)](https://bats-core.readthedocs.io)\n\n[![Join the chat in bats-core/bats-core on gitter](https://badges.gitter.im/bats-core/bats-core.svg)][gitter]\n\n\u003cdiv align=\"center\"\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"docs/source/assets/dark_mode_cube.svg\"\u003e\n  \u003cimg alt=\"\" src=\"docs/source/assets/light_mode_cube.svg\"\u003e\n\u003c/picture\u003e\n\u003c/div\u003e\n\n# Bats-core: Bash Automated Testing System\n\nBats is a [TAP](https://testanything.org/)-compliant testing framework for Bash\n3.2 or above.  It provides a simple way to verify that the UNIX programs you\nwrite behave as expected.\n\nA Bats test file is a Bash script with special syntax for defining test cases.\nUnder the hood, each test case is just a function with a description.\n\n```bash\n#!/usr/bin/env bats\n\n@test \"addition using bc\" {\n  result=\"$(echo 2+2 | bc)\"\n  [ \"$result\" -eq 4 ]\n}\n\n@test \"addition using dc\" {\n  result=\"$(echo 2 2+p | dc)\"\n  [ \"$result\" -eq 4 ]\n}\n```\n\nBats is most useful when testing software written in Bash, but you can use it to\ntest any UNIX program.\n\nTest cases consist of standard shell commands. Bats makes use of Bash's\n`errexit` (`set -e`) option when running test cases. If every command in the\ntest case exits with a `0` status code (success), the test passes. In this way,\neach line is an assertion of truth.\n\n## Table of contents\n\n**NOTE** The documentation has moved to \u003chttps://bats-core.readthedocs.io\u003e\n\n\u003c!-- toc --\u003e\n\n- [Testing](#testing)\n- [Support](#support)\n- [Contributing](#contributing)\n- [Contact](#contact)\n- [Version history](#version-history)\n- [Background](#background)\n  * [What's the plan and why?](#whats-the-plan-and-why)\n  * [Why was this fork created?](#why-was-this-fork-created)\n- [Copyright](#copyright)\n\n\u003c!-- tocstop --\u003e\n\n## Testing\n\n```sh\nbin/bats --tap test\n```\n\nSee also the [CI](./.github/workflows/tests.yml) settings for the current test environment and\nscripts.\n\n## Support\n\nThe Bats source code repository is [hosted on\nGitHub](https://github.com/bats-core/bats-core). There you can file bugs on the\nissue tracker or submit tested pull requests for review.\n\nFor real-world examples from open-source projects using Bats, see [Projects\nUsing Bats](https://github.com/bats-core/bats-core/wiki/Projects-Using-Bats) on\nthe wiki.\n\nTo learn how to set up your editor for Bats syntax highlighting, see [Syntax\nHighlighting](https://github.com/bats-core/bats-core/wiki/Syntax-Highlighting)\non the wiki.\n\n## Contributing\n\nFor now see the [`docs`](docs) folder for project guides, work with us on the wiki\nor look at the other communication channels.\n\n## Contact\n\n- You can find and chat with us on our [Gitter].\n\n## Version history\n\nSee `docs/CHANGELOG.md`.\n\n## Background\n\n\u003c!-- markdownlint-disable MD026 --\u003e\n### Why was this fork created?\n\u003c!-- markdownlint-enable MD026 --\u003e\n\nThere was an initial [call for maintainers][call-maintain] for the original Bats repository, but write access to it could not be obtained. With development activity stalled, this fork allowed ongoing maintenance and forward progress for Bats.\n\n**Tuesday, September 19, 2017:** This was forked from [Bats][bats-orig] at\ncommit [0360811][].  It was created via `git clone --bare` and `git push\n--mirror`.\n\nAs of **Thursday, April 29, 2021:** the original [Bats][bats-orig] has been\narchived by the owner and is now read-only.\n\nThis [bats-core](https://github.com/bats-core/bats-core) repo is now the community-maintained Bats project.\n\n[call-maintain]: https://github.com/sstephenson/bats/issues/150\n[bats-orig]: https://github.com/sstephenson/bats\n[0360811]: https://github.com/sstephenson/bats/commit/03608115df2071fff4eaaff1605768c275e5f81f\n\n## Copyright\n\nThe Bats Logo was created by [Vukory](https://www.artstation.com/vukory) ([Github](https://github.com/vukory)) and sponsored by [SethFalco](https://github.com/SethFalco). If you want to use our logo, have a look at our [guidelines](./docs/source/assets/README.md#Usage-Guide-for-Third-Parties).\n\n© 2017-2024 bats-core organization\n\n© 2011-2016 Sam Stephenson\n\nBats is released under an MIT-style license; see `LICENSE.md` for details.\n\nSee the [parent project](https://github.com/bats-core) at GitHub or the\n[AUTHORS](AUTHORS) file for the current project maintainer team.\n\n[gitter]: https://gitter.im/bats-core/bats-core\n","funding_links":[],"categories":["Shell","Development","bash","\u003ca name=\"scripting\"\u003e\u003c/a\u003escripting","Shell Script Development","Productivity tools","Programming"],"sub_categories":["Testing","Directory Navigation","Chess :chess_pawn:","Unit testing \u003c!-- omit in toc --\u003e"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbats-core%2Fbats-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbats-core%2Fbats-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbats-core%2Fbats-core/lists"}