PyTest Activity (rever.activities.pytest)

Activity for running pytest inside of a container.

class rever.activities.pytest.PyTest[source]

Runs pytest inside of a container.

The environment variable that affects the behaviour of this activity is:

$PYTEST_COMMAND

str, the test command to run. The defaults to 'pytest'.

Additionally, the $DOCKER_* environment variables will affect the behaviour of the conatiner that is used for testing.

Parameters
namestr, optional

Name of the activity.

depsset of str, optional

Set of activities that must be completed before this activity is executed.

funccallable, optional

Function to perform as activity when this activities is executed (called). The default _func method is good enough for most cases.

undocallable, optional

Function to undo this activities behaviour and reset the repo state.

checkcallable, optional

Function to check if the activity can be run sucessfully on the user’s machine, with their credentials, etc. This function should return True if the activity can be run, and False otherwise.

requiresdict or None, optional

A dict of dicts of the following form that specifies the command line utility and import requirements for this activity.

{
    "commands": {"<cli name>": "<package name>", ...}
    "imports": {"<module name>": "<package name>", ...}
}

The top-level keys are both optional, and this will default to an empty dict. The docker command will be automatically added to the commands dict.

descstr, optional

A short description of this activity

imagestr or None, optional

Name of the image to run, defaults to $DOCKER_INSTALL_IMAGE. Environment variables will be expanded when the activity is run.

langstr, optional

Language to execute the body in, default xonsh. This may also be a full path to an executable.

run_argssequence of str, optional

Extra arguments to pass in after the executable but before the main body. Defaults to the standard compile flag '-c'.

codestr or None, optional

The code to execute in the docker container with lang. If this is None, it may be on the instance itself, passed in when the activity is called, or set by entering the activity as a macro context manager. In this last case, the context block is set as the code.

envbool or dict, optional

Environment to use. This has the same meaning as in rever.docker.run_in_container(). Please see that function for more details, default True.

mountslist of dict, optional

Locations to mount in the running container. This has the same meaning as ing run_in_container(). Please see that function for more details, default does not mount anything.

all_kwargs()

Returns all kwargs for this activity.

check()

Calls this activity’s check() function.

check_requirements()

Checks that an activities requirements are actually available.

checker(check)

Decorator that sets the check function for this activity.

clear_kwargs_from_env()

Removes kwarg from the environment, if they exist.

kwargs_from_env()

Obtains possible func() kwarg from the environment.

setup()

Calls this activity’s setup() initialization function.

setupper(setup)

Decorator that sets the setup function for this activity.

undo()

Reverts to the last instance of this activity. This default implementation uses the revision in the log file from the last time that the activity was started. This may be overridden in a subclass.

undoer(undo)

Decorator that sets the undo function for this activity.

property code

Get’s the code to execute in the docker container.

property env_names

Dictionary mapping parameter names to the names of environment varaibles that the activity looks for when it is executed.