---
name: "buttercup"
section: "1"
platform: "linux"
package: "elpa-buttercup"
version: "1.37-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/buttercup"
---

# buttercup(1)

behaviour-driven testing for Emacs Lisp packages

## NAME

buttercup - behaviour-driven testing for Emacs Lisp packages

## SYNOPSIS

**buttercup** \[**-h\|--help** *DIR*\] \[**-L\|--directory** *DIR*\] \[**-f\|--funcall** *FUNCTION*\] \[**-l\|--load** *FILE*\] \[**--eval\|--execute** *EXPR*\] \[**--p\|--pattern** *PATTERN*\] \[**--c\|--no-color**\] \[**--traceback** *STYLE*\] *dir*...

## DESCRIPTION

**buttercup** invokes the Buttercup testing framework for Emacs Lisp addons for tests found in the directories passed on the command line.

## OPTIONS

- **-h**, **--help**

  **Display usage information.**

- **-p** PATTERN, **--pattern** PATTERN

  Only run tests in files matching the Emacs regular expression PATTERN. May be passed multiple times.

- **-L** DIR, **--directory** DIR, **-f** FUNCTION, **--funcall** FUNCTION, **-l** FILE, **--load** FILE, **--eval** EXPR, **--execute** EXPR

  Passed on when invoking Emacs in batch mode to run the test suite. For example, most invocations will pass **-L** . to include the current project in the load-path.  May be passed multiple times.  See [emacs(1)](/emacs/1.md) for full descriptions of each option.

- **-c** PATTERN, **--no-color** PATTERN

  Disable Buttercup's coloured output.

- **--traceback** STYLE

  When printing backtraces for errors that occur during tests, print them in the chosen STYLE. Available styles are "full", which shows the full function call for each stack frame on a single line, "crop", which truncates each stack frame to 80 characters (the default), and "pretty", which uses Emacs' pretty-printing facilities to print each stack frame, and also annotates each frame with a lambda or M to indicate whether it is a normal function call or a macro/special form.
