pkg.soopen package index

brew / rank 9320

Install shelltestrunner with Homebrew, apt

Portable command-line tool for testing command-line programs. Version 1.11 via Homebrew; verified 2026-09-13. Also installable with debian: sudo apt install shelltestrunner.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install shelltestrunner

local Homebrew formula metadata

Linux

Debian aptverified · 92%
sudo apt install shelltestrunner

Debian stable package indexes · shelltestrunner · source: deb.debian.org

overview

Package summary

Portable command-line tool for testing command-line programs

Commands and aliases

  • shelltest

history

Project history and usage

shelltestrunner is a portable, Haskell-based black-box test runner for command-line programs. Its shelltest executable reads concise specifications containing commands, input, expected output, expected error output, and exit status.

Project history

Simon Michael wrote shelltestrunner, taking inspiration from John Wiegley's tests for Ledger. The tool developed three test-specification formats; format 3 is now preferred, while the older formats remain for compatibility and can be converted with the print facility.

Adoption history

The project has been packaged for Debian and Ubuntu and is installable through the Haskell Stack and Cabal ecosystems. Its README also names real users of its test formats, including Agda, cblrepo, hledger, and shelltestrunner itself.

How it is used

Users write .test files and run shelltest against files or directories. The runner can recurse through test directories, execute cases in parallel, substitute the executable under test, select or exclude cases, impose timeouts, and compare stdout, stderr, and exit status literally or by regular expression. It has no documented persistent configuration or credentials file.

Why package nerds care

shelltestrunner gives package authors a lightweight, language-independent way to test command behavior from the outside. Plain-text fixtures, portable shell selection, parallel execution, filtering, timeouts, and explicit stdout, stderr, and exit-status assertions make it well suited to distribution-level regression tests.

Timeline

  • Origins: Simon Michael created shelltestrunner after John Wiegley's Ledger test approach.
  • Later development: Format 2 added reusable input and more useful defaults.
  • Version 1.9 era: Preferred short-delimiter format 3 became available.
  • 2023: The official repository lists release 1.10.

Related projects

  • The project is historically connected to Ledger through its inspiration and to hledger through its maintainer and use in that project's tests. Its Haskell implementation relies notably on test-framework and GHC.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:shell

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 2 build dependencies.

Recommended review

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

executables

Installed executables

CommandKindExposureNote
shelltestcliglobal 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-09-19
manager version1.11
manager updated2026-09-13
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/simonmichael/shelltestrunner

install metadata

Package metadata

Package keybrew:shelltestrunner
Version1.11
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/shelltestrunner
Homepagehttps://github.com/simonmichael/shelltestrunner
Repositoryhttps://github.com/simonmichael/shelltestrunner
LicenseGPL-3.0-or-later
Source archivehttps://hackage.haskell.org/package/shelltestrunner-1.11/shelltestrunner-1.11.tar.gz
Last updated2026-09-13T13:43:27Z
Pulseupdated
Dependenciesgmp
Build dependenciescabal-install, ghc
Uses from macOSlibffi
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameshelltestrunner
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.

Debian apt95%

shelltestrunner 1.10-1+b1

test command-line programs or arbitrary shell commands

https://github.com/simonmichael/shelltestrunner

sudo apt install shelltestrunner
  • Section: haskell
  • Architecture: amd64
  • Source Package: shelltestrunner
  • 4 dependencies
  • normalized package name match
  • Matched by: Shelltestrunner
Debian stable package indexes · deb.debian.org · Debian stable package indexes: shelltestrunner from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Ubuntu apt95%

shelltestrunner 1.9.0.1-1

test command-line programs or arbitrary shell commands

https://github.com/simonmichael/shelltestrunner

sudo apt install shelltestrunner
  • Section: universe/haskell
  • Architecture: amd64
  • 3 dependencies
  • normalized package name match
  • Matched by: Shelltestrunner
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: shelltestrunner from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

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
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment
  • pkg.so package database
  • pkgdb category and tag curation