Skip to content
This repository has been archived by the owner on Mar 9, 2022. It is now read-only.

Latest commit

 

History

History
57 lines (55 loc) · 2.38 KB

testing.md

File metadata and controls

57 lines (55 loc) · 2.38 KB

CRI Plugin Testing Guide

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

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

Code Verification

Code verification includes lint, code formatting, boilerplate check etc.

  • Install tools used by code verification:
make install.tools
  • Run code verification:
make verify

Unit Test

Run all unit tests in containerd/cri repo.

make test

Integration Test

Run all integration tests in containerd/cri repo.

make test-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/cri without setting up Kubernetes components or running Kubernetes end-to-end tests.

make
  • Run CRI validation test:
make test-cri
  • Focus or skip specific CRI validation test:
make test-cri FOCUS=REGEXP_TO_FOCUS SKIP=REGEXP_TO_SKIP

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.

make test-e2e-node
  • Focus or skip specific node e2e test:
make test-e2e-node FOCUS=REGEXP_TO_FOCUS SKIP=REGEXP_TO_SKIP

More information about Kubernetes node e2e test.