Plain is headed towards 1.0! Subscribe for development updates →

 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)