From 27e59263a6825886cb5d8f1524f2e8d48955b57f Mon Sep 17 00:00:00 2001 From: David McDonald Date: Fri, 28 Mar 2025 13:17:38 -0500 Subject: [PATCH] Docstring: explain version-checking script This documents the general behavior and expectations of the version-checking CI script. --- test/check_configurable_requirements.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/check_configurable_requirements.py b/test/check_configurable_requirements.py index d532d98b3..f856c80b7 100644 --- a/test/check_configurable_requirements.py +++ b/test/check_configurable_requirements.py @@ -1,3 +1,19 @@ +""" +This script performs syntax analysis on the volatility3 source tree through a combination of AST analysis and import-time introspection of classes. + +The current checks it implements are: + 1. Ensure that classes derived from `ConfigurableInterface` properly + declare all `VersionableInterface` classes that they make use of in their + `get_requirements()` classmethod. + + :WARNING: a notable exception to this are classes defined within factory + functions. Because these classes are not created until the factory function + is called, they therefore do no exist at import time and cannot be checked + by this script. It is important to keep in mind during code review that + this is a best-effort check and does not make guarantees about the + completeness of declared requirements. +""" + import argparse import ast import importlib