Files
Chris Henzie 4e8b8429f5 Document contributor workflows
make test can succeed while skipping tests that require root. Explain
how to enable those tests and where to find CRI test prerequisites.
Add pull request expectations for documentation, testing, and CI
follow-up.

Assisted-by: Claude Code
Signed-off-by: Chris Henzie <chrishenzie@gmail.com>
2026-09-16 15:31:34 -07:00

2.7 KiB

CRI Plugin Testing Guide

This document assumes you have already setup the development environment (go, git, github.com/containerd/containerd repo etc.).

Before sending pull requests you should at least make sure your changes have passed code verification, unit, integration and CRI validation tests.

Build

Follow the building instructions.

CRI Integration Test

The tests need the host dependencies installed by make install-deps (see CONTRIBUTING.md).

  • Run all CRI integration tests:
make cri-integration
  • Run specific CRI integration tests: use the FOCUS parameter to specify the test case.
# run CRI integration tests that match the test string <TEST_NAME>
FOCUS=<TEST_NAME> make cri-integration

Example:

FOCUS=TestContainerListStats make cri-integration

CRI Validation Test

CRI validation test is a test framework for validating that a Container Runtime Interface (CRI) implementation such as containerd with the cri plugin meets all the requirements necessary to manage pod sandboxes, containers, images etc.

CRI validation test makes it possible to verify CRI conformance of containerd without setting up Kubernetes components or running Kubernetes end-to-end tests.

containerd -l debug

More information about CRI validation test.

Node E2E Test

Node e2e test is a test framework testing Kubernetes node level functionalities such as managing pods, mounting volumes etc. It starts a local cluster with Kubelet and a few other minimum dependencies, and runs node functionality tests against the local cluster.

Currently e2e-node tests are supported from via Pull Request comments on github. Enter "/test all" as a comment on a pull request for a list of testing options that have been integrated through prow bot with kubernetes testing services hosted on GCE. Typing /test pull-containerd-node-e2e will start a node e2e test run on your pull request commits.

More information about Kubernetes node e2e test.