Automic VaultAutomic Vault

brew

Install bashunit with Homebrew, MacPorts, Nix

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

install

Additional install commands

macOS

Homebrewverified · 100%
brew install bashunit

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install bashunit

MacPorts ports tree · devel/bashunit/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#bashunit

nixpkgs package indexes · pkgs/by-name/ba/bashunit/package.nix · source: api.github.com

overview

Package summary

Simple testing library for bash scripts

Commands and aliases

  • bashunit

history

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.

security posture

No protected-tool coverage found yet

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.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

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

Config paths the tool may read or write during local use.

Unix
./.env./.bashunitrc

executables

Installed executables

CommandKindExposureNote
bashunitcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.40.0
manager updated2026-06-16
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/TypedDevs/bashunit

install metadata

Package metadata

Package keybrew:bashunit
Version0.40.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/bashunit
Homepagehttps://bashunit.typeddevs.com
Repositoryhttps://github.com/TypedDevs/bashunit
Upstream docshttps://bashunit.com/
LicenseMIT
Source archivehttps://github.com/TypedDevs/bashunit/releases/download/0.40.0/bashunit
Last updated2026-06-16T22:24:04Z
Pulseupdated
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namebashunit
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

bashunit

nix profile install nixpkgs#bashunit
  • normalized package name match
  • Matched by: Bashunit
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ba/bashunit/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

bashunit

sudo port install bashunit
  • normalized package name match
  • Matched by: Bashunit
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/bashunit/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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