Usage demo • Installation • Usage • CI Status • License
bibop
is a utility for testing command-line tools, packages and daemons. Initially, this utility was created for testing packages from ESSENTIAL KAOS Public Repository.
Information about bibop recipe syntax you can find in our cookbook.
bibop.mp4
To build the bibop
from scratch, make sure you have a working Go 1.20+ workspace (instructions), then:
go install github.com/essentialkaos/bibop@latest
You can download prebuilt binaries for Linux from EK Apps Repository.
To install the latest prebuilt version of bibop, do:
bash <(curl -fsSL https://apps.kaos.st/get) bibop
Official webkaos images available on GitHub Container Registry and Docker Hub. Install the latest version of Docker, then:
curl -fL# -o bibop-docker https://kaos.sh/bibop/bibop-docker
chmod +x bibop-docker
sudo mv bibop-docker /usr/bin/
bibop-docker your.recipe your-package.rpm
# or
bibop-docker --image ghcr.io/essentialkaos/bibop:centos7 your.recipe your-package.rpm
You can generate completion for bash
, zsh
or fish
shell.
Bash:
sudo bibop --completion=bash 1> /etc/bash_completion.d/bibop
ZSH:
sudo bibop --completion=zsh 1> /usr/share/zsh/site-functions/bibop
Fish:
sudo bibop --completion=fish 1> /usr/share/fish/vendor_completions.d/bibop.fish
You can generate man page for bibop using next command:
bibop --generate-man | sudo gzip > /usr/share/man/man1/bibop.1.gz
Usage: bibop {options} recipe
Options
--dry-run, -D Parse and validate recipe
--extra, -X lines Number of output lines for failed action (default: 10)
--pause, -P duration Pause between commands in seconds
--list-packages, -L List required packages
--list-packages-flat, -L1 List required packages in one line (useful for scripts)
--variables, -V List recipe variables
--barcode, -B Show unique barcode for test (based on recipe and required packages)
--time, -T Print execution time for every action
--format, -f format Output format (tap13|tap14|json|xml)
--dir, -d dir Path to working directory
--path, -p path Path to directory with binaries
--error-dir, -e dir Path to directory for errors data
--tag, -t tag One or more command tags to run
--quiet, -q Quiet mode
--ignore-packages, -ip Do not check system for installed packages
--no-cleanup, -nl Disable deleting files created during tests
--no-color, -nc Disable colors in output
--help, -h Show this help message
--version, -v Show version
Examples
bibop app.recipe
Run tests from app.recipe
bibop app.recipe --quiet --error-dir bibop-errors
Run tests from app.recipe in quiet mode and save errors data to bibop-errors directory
bibop app.recipe --tag init,service
Run tests from app.recipe and execute commands with tags init and service
bibop app.recipe --extra
Run tests from app.recipe and print the last 10 lines from command output if action was failed
bibop app.recipe --extra=50
Run tests from app.recipe and print the last 50 lines from command output if action was failed
bibop app.recipe --format json 1> ~/results/app.json
Run tests from app.recipe and save result in JSON format
sudo dnf install $(bibop app.recipe -L1)
Install all packages required for tests
Branch | Status |
---|---|
master |
|
develop |