1import os
2import sys
3
4import click
5from dotenv import load_dotenv
6
7import pytest
8from plain.cli import register_cli
9
10
11@register_cli("test")
12@click.command(
13 context_settings={
14 "ignore_unknown_options": True,
15 }
16)
17@click.argument("pytest_args", nargs=-1, type=click.UNPROCESSED)
18def cli(pytest_args):
19 """Run tests with pytest"""
20
21 if os.path.exists(".env.test"):
22 click.secho("Loading environment variables from .env.test", fg="yellow")
23 load_dotenv(".env.test")
24
25 returncode = pytest.main(list(pytest_args))
26 if returncode:
27 sys.exit(returncode)