HEX
Server: nginx/1.24.0
System: Linux prod-btpayments-io 6.14.0-1018-aws #18~24.04.1-Ubuntu SMP Mon Nov 24 19:46:27 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: //home/btminers/.vim/bundle/conflict-marker.vim/test/README.md
# Prerequisites

[Python](https://www.python.org/) is requried to take code coverage.

# How to run unit tests

This repository uses [vim-themis](https://github.com/thinca/vim-themis) to run unit tests.

Clone vim-themis in your local

```sh
git clone https://github.com/thinca/vim-themis.git
```

Run `vim-flavor` command via `bundle exec`:
Execute `themis` command to run all unit tests

```sh
cd /path/to/conflict-marker.vim/test
/path/to/vim-themis/bin/themis *.vimspec
```

It runs all unit tests and outputs the results in terminal.

# How to take code coverage

This repository uses [covimerage](https://github.com/Vimjas/covimerage) to take code coverage.

Install covimerage in `./venv` directory.

```sh
python -m venv venv
source ./venv/bin/activate
pip install covimerage
covimerage --version
```

Run unit tests enabling profiling by setting `PROFILE_LOG` environment variable.

```sh
cd /path/to/conflict-marker.vim/test
PROFILE_LOG=profile.txt /path/to/vim-themis/bin/themis *.vimspec
```

It saves profiling results to `profile.txt`. Extract code coverage data from it using `covimerage`.

```sh
covimerage write_coverage profile.txt
```

Output code coverage results with `coverage` command which is part of standard Python toolchain.

```sh
# Show code coverage results in terminal
coverage report

# Output coverage data to XML file
coverage xml
```