Get Help

Run CAT on Linux

Three CAT tools run on Linux: CAT CLI, a single executable that needs nothing installed first, the PowerShell module under PowerShell 7, and the Python module. All three run the same tests with the same engine.

Three of the four CAT tools run on Linux. CAT CLI is a single self-contained executable — nothing has to be installed first, which makes it the tool for a container or a locked-down machine. The PowerShell module needs PowerShell 7.6 or later and gives you test results as PowerShell objects. The Python module installs with pip and needs nothing else — it carries its own .NET runtime. CAT Studio is a Windows application.

The providers built on Windows components (Dax@1, PowerBI@*, CsvOleDB@1, ExcelOleDB@1) are not available on Linux. The Excel output writes from all three tools there. Dax@2 reaches Power BI, Fabric and Azure Analysis Services, not an on-premises SSAS. Databases, CSV and YAML files, the JSON/YAML/JUnit/TRX and database outputs — all there.

Install CAT CLI

Download the archive for your architecture (uname -m prints x86_64 for x64, aarch64 for arm64), check its hash, unpack it and link it onto PATH. Replace <version> with the current version from the Releases page; the lines are chained with &&, so a failed hash check stops the sequence before anything is unpacked:

curl -fLO https://docs.justcat.it/releases/cat-cli-<version>-linux-x64.tar.gz && \
curl -fLO https://docs.justcat.it/releases/cat-cli-<version>-linux-x64.tar.gz.sha256 && \
sha256sum -c cat-cli-<version>-linux-x64.tar.gz.sha256 && \
sudo rm -rf /opt/catcli && \
sudo mkdir -p /opt/catcli && \
sudo tar -xzf cat-cli-<version>-linux-x64.tar.gz -C /opt/catcli && \
sudo ln -sfn /opt/catcli/catcli /usr/local/bin/catcli

Homebrew works on Linux too: brew install justcatit/cat/catcli.

Your distribution needs curl and ICU installed — desktop distributions have both, a minimal container image does not; Installation has the install command for each distribution. Then:

catcli --version
cd /path/to/your/project
catcli run

See CAT CLI installation for updating, removing and the no-sudo variant, and CAT CLI introduction for the verbs.

Install the Python module

python3 -m pip install justcatit

The wheel carries its own .NET runtime — nothing to install first beyond Python itself. Your distribution needs ICU (libicu) for the .NET runtime — desktop distributions have it, a minimal container image does not. See Installation.

Install PowerShell 7

Microsoft has a nice article with step-by-step instructions to install PowerShell 7 on Ubuntu. At the moment Focal, Jammy and Noble are supported:

https://learn.microsoft.com/en-us/powershell/scripting/install/install-ubuntu?view=powershell-7.6

Install the CAT PowerShell module

First, you need to run PowerShell 7:

pwsh

PowerShell prints its version. Notice it also changes the prompt, now you are “in PowerShell”, not “in bash”. The prompt now starts with “PS” letters:

pwsh command in bash

Your terminal now expects PowerShell commands. You can easily install CAT with a single line, the same way as on Windows:

Install-Module CAT -AcceptLicense -Force -AllowClobber -Scope CurrentUser

On macOS (preview)

macOS (Apple silicon and Intel) ships as a preview. Install PowerShell 7 with Homebrew (brew install --cask powershell) or Microsoft’s .pkg, then run pwsh and the same Install-Module CAT … line above. Files land where they do on Linux (~/.config/CAT/).

Use the PowerShell module

Now you can use any commands from CAT PowerShell module.

Don’t forget you need to run Import-Module CAT everytime before you use CAT module. Example:

CAT commands in PowerShell

For non-interactive way, you can save your commands into a .ps1 script and run it like this:

pwsh ./run-cat-tests.ps1