<commit_before>batunit -- Bourne Again Test Unit

## SYNOPSIS

    batunit \<files\>

**batunit** is a xUnit-like testing framework written in pure bash in 12 lines of code.

## DESCRIPTION

**batunit** takes the files to run as an argument. It reports pess, fail,
pending based on the following:

* A non-executable file is **pending**
* An executable file that exits 0 is **pass**
* An executable file that exits non-0 is **fail**

## EXAMPLES

    batunit test/*.sh

Outputs:

    F.P
    
      0) Failure: test/test_fail.sh: FLUNK
    
    Finished: 3 tests, 1 failures, 1 pending
<commit_msg>Minor tweaks to README<commit_after>batunit -- Bourne Again Test Unit

## SYNOPSIS

    batunit <files>

**batunit** is a xUnit-like testing framework written in pure bash in 12 lines of code.

## DESCRIPTION

**batunit** takes the files to run as an argument. It reports pess, fail,
pending based on the following:

* A non-executable file is **pending**
* An executable file that exits 0 is **pass**
* An executable file that exits non-0 is **fail**

## EXAMPLES

    batunit test/*.sh

### Outputs:

    F.P
    
      0) Failure: test/test_fail.sh: FLUNK
    
    Finished: 3 tests, 1 failures, 1 pending

{'fraction_non_alphanumeric': 0.09859154929577464, 'fraction_numerical': 0.013256006628003313, 'mean_word_length': 3.2090592334494774, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4163748', 'n_tokens_mistral': 414, 'n_tokens_neox': 379, 'n_words': 161}