Cmdt
Cmdt is a command-line tool for testing command-line tools.
This is handy for testing a command line execution result by checking its exit code and output. Commands will be executed in a temporary directory /tmp/cmdt--/ , this directory will be removed after all tests are completed unless -d/--debug flag is specified.
Installation
npm install -g cmdt
Usage
Run tests on specified .cmdt files:
cmdt run <file1>.cmdt <file2>.cmdt
Run all .cmdt test files contained in a directory:
cmdt run <dir>
Debug exit code and output of failing tests, temporary directory will be logged and won't be removed at the end of the execution:
cmdt run --debug <file>.cmdt <dir>
Test File
Set test command, expected exit code and/or output regular expression in a .cmdt file:
command: whoami
exitcode: 0
output: someuser
command: time
exitcode: 0
output: real.+user.+sys.+
command: unknowncommand
exitcode: 1
output: ^some error$
Fields
Name | Description | Mandatory |
---|
description | the description of the test | No |
command | the command line to be executed | Yes |
exitcode | the expected exit code | No |
output | the stdout + stderr output, supports regexp matching | No |