From b43be6b8f61becff18545471614fc8faa4c55c71 Mon Sep 17 00:00:00 2001 From: Mark Stapp Date: Tue, 16 Mar 2021 11:28:25 -0400 Subject: [PATCH] doc: add more notes about new topotests Add some extra notes to the dev doc section about writing new topotests: check for OS/kernel support if necessary; avoid volatile or unstable data like ifindices or link-locals. Signed-off-by: Mark Stapp --- doc/developer/subdir.am | 1 + doc/developer/topotests.rst | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/doc/developer/subdir.am b/doc/developer/subdir.am index f7e4486ef0..d16420c7e7 100644 --- a/doc/developer/subdir.am +++ b/doc/developer/subdir.am @@ -57,6 +57,7 @@ dev_RSTFILES = \ doc/developer/tracing.rst \ doc/developer/testing.rst \ doc/developer/topotests-snippets.rst \ + doc/developer/topotests-markers.rst \ doc/developer/topotests.rst \ doc/developer/workflow.rst \ doc/developer/xrefs.rst \ diff --git a/doc/developer/topotests.rst b/doc/developer/topotests.rst index 93d81548b2..7976a206f7 100644 --- a/doc/developer/topotests.rst +++ b/doc/developer/topotests.rst @@ -388,11 +388,19 @@ This is the recommended test writing routine: - Format the new code using `black `_ - Create a Pull Request -.. Note:: +Some things to keep in mind: + +- BGP tests MUST use generous convergence timeouts - you must ensure + that any test involving BGP uses a convergence timeout of at least + 130 seconds. +- Topotests are run on a range of Linux versions: if your test + requires some OS-specific capability (like mpls support, or vrf + support), there are test functions available in the libraries that + will help you determine whether your test should run or be skipped. +- Avoid including unstable data in your test: don't rely on link-local + addresses or ifindex values, for example, because these can change + from run to run. - BGP tests MUST use generous convergence timeouts - you must ensure - that any test involving BGP uses a convergence timeout of at least - 130 seconds. Topotest File Hierarchy """"""""""""""""""""""" @@ -795,7 +803,7 @@ Requirements: - Use `black `_ code formatter before creating a pull request. This ensures we have a unified code style. - Mark test modules with pytest markers depending on the daemons used during the - tests (s. Markers) + tests (see :ref:`topotests-markers`) Tips: -- 2.39.5