# Install bashunit with Homebrew, MacPorts, Nix

Simple testing library for bash scripts. Version 0.40.0 via Homebrew; verified 2026-06-16.

## Install

```sh
sudo av install brew:bashunit
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bashunit
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install bashunit
```

  Evidence: MacPorts ports tree: devel/bashunit/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#bashunit
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ba/bashunit/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:bashunit
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bashunit>
- **Version:** 0.40.0
- **Source summary:** Simple testing library for bash scripts
- **Homepage:** <https://bashunit.typeddevs.com>
- **Repository:** <https://github.com/TypedDevs/bashunit>
- **Upstream docs:** <https://bashunit.com/>
- **License:** MIT
- **Source archive:** <https://github.com/TypedDevs/bashunit/releases/download/0.40.0/bashunit>
- **Last updated:** 2026-06-16T22:24:04Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- bashunit (cli)
- bashunit (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.40.0
- Package-manager updated: 2026-06-16
- Local data: ok
- Upstream repository: https://github.com/TypedDevs/bashunit
- info: No cached GitHub release or tag data was available.
## Project history and usage

bashunit is a modern Bash testing framework by TypedDevs. Its README describes it as a lightweight, fast framework for Bash 3.0+ with assertions, spies, mocks, data providers, snapshots, and other developer-experience features.

### Project history

The project began publicly with version 0.1.0 on 2023-09-04, according to its official CHANGELOG. It developed rapidly through 2023 and 2024, adding documentation, examples, new assertions, configuration, snapshots, data providers, output formats, and CI-oriented reporting.

By late 2025 and 2026, bashunit had expanded beyond basic assertions into coverage, profiling, watch mode, parallel execution improvements, TAP/JUnit/GitHub Actions reporting, checksum-verified installer behavior, and an official composite GitHub Action.

### Adoption history

The project is distributed as a project-local installer from bashunit.com, an npm package, a Homebrew formula, and package-manager entries in MacPorts and Nix according to the supplied package facts. The docs site metadata identifies the current public site as bashunit.com and lists v0.40.0 on 2026-06-16.

bashunit's adoption story is tied to shell-heavy repositories wanting tests without moving logic into another language. The README explicitly frames it as a fast, simple way to test Bash scripts and includes a one-file quickstart.

### How it is used

The README quickstart installs the runner into a project with `curl -s https://bashunit.com/install.sh | bash`, writes test functions in shell files under `tests/`, and runs them with `./lib/bashunit tests/`.

The official docs describe configuration through `.env` and, since 0.37.0, `.bashunitrc`. Recent releases add workflow-friendly features such as JUnit, TAP, GitHub Actions annotations, coverage reports, test timeouts, and a composite GitHub Action.

### Why package nerds care

bashunit matters to package nerds because it is part of the small ecosystem that tests shell as shell. It keeps the runtime requirement low, uses Bash 3.0+ for broad compatibility, and packages itself for project-local use, npm, Homebrew, MacPorts, and Nix.

Its changelog is also an example of a modern CLI project optimizing for CI ergonomics: pinned GitHub Actions, checksum verification, inline annotations, coverage formats, and failure output tuned for automated logs.

### Timeline

- 2023-09-04: Version 0.1.0 appears in the official CHANGELOG.
- 2023-10-15: Version 0.9.0 adds early blog/docs-era features.
- 2024-07-14: Version 0.14.0 continues the pre-1.0 feature cadence.
- 2025-12-19: Version 0.31.0 adds code coverage tracking.
- 2026-02-15: Version 0.33.0 lowers the minimum Bash version to 3.0 and improves parallel execution.
- 2026-06-07: Version 0.38.0 adds the official `TypedDevs/bashunit` GitHub Action.
- 2026-06-16: Version 0.40.0 adds per-test timeouts and moves URLs to bashunit.com.

### Related projects

- The project includes its own installer, npm distribution, docs site, and official GitHub Action. It is adjacent to other shell test runners, but the official sources emphasize bashunit's own Bash 3.0+ compatibility and CI/reporting features.

### Sources

- <https://bashunit.com/>
- <https://github.com/TypedDevs/bashunit/blob/main/CHANGELOG.md>
- <https://github.com/TypedDevs/bashunit/blob/main/README.md>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for bashunit. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./.env, ./.bashunitrc
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** bashunit
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - bashunit: normalized package name match | nixpkgs package indexes: pkgs/by-name/ba/bashunit/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - bashunit: normalized package name match | MacPorts ports tree: devel/bashunit/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [bash_unit](https://www.automicvault.com/pkg/brew/bash-unit/) - Shares av.db curated category or tags: bash, cli, developer-tools, testing.
- [bats-core](https://www.automicvault.com/pkg/brew/bats-core/) - Shares av.db curated category or tags: bash, cli, developer-tools, testing.
- [adb-enhanced](https://www.automicvault.com/pkg/brew/adb-enhanced/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [allure](https://www.automicvault.com/pkg/brew/allure/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [artillery](https://www.automicvault.com/pkg/brew/artillery/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [atf](https://www.automicvault.com/pkg/brew/atf/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [autobench](https://www.automicvault.com/pkg/brew/autobench/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [autocannon](https://www.automicvault.com/pkg/brew/autocannon/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [bat-extras](https://www.automicvault.com/pkg/brew/bat-extras/) - Local package facts share a topical domain. Shared terms: bash, cli, developer, developer-tools, scripts.

## Combined YAML source

View the package source record on GitHub. [combined/bashunit.yml](https://github.com/automic-vault/db/blob/main/combined/bashunit.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
