From 3dc887332112bc6edeee1e78913da61c1a73d6f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Sat, 2 May 2026 09:58:21 +0200 Subject: [PATCH] Parallel better promotion --- src/sections/intro.tex | 3 ++- src/sections/items.tex | 2 +- testium_training.pdf | Bin 613181 -> 613211 bytes 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sections/intro.tex b/src/sections/intro.tex index 19ec853..5d2bcbb 100644 --- a/src/sections/intro.tex +++ b/src/sections/intro.tex @@ -35,7 +35,7 @@ \begin{itemize} \item Files written in \incode{YAML} \item Wide range of test items - \item Loops, Variables, conditional execution + \item Loops, parallel execution, Variables, conditional execution \item Modular templating using \incode{Jinja2} \end{itemize} \item Configuration files (.yaml, .yml) @@ -122,6 +122,7 @@ main: \begin{itemize} \item \incode{loop} \item \incode{group} + \item \incode{parallel} \end{itemize} \end{itemize} \item \incode{!include} directive diff --git a/src/sections/items.tex b/src/sections/items.tex index bd5914c..1c168e3 100644 --- a/src/sections/items.tex +++ b/src/sections/items.tex @@ -286,7 +286,7 @@ end \begin{columns} \column{0.6\textwidth} \begin{itemize} - \item iterator + \item \incode{iterator} \begin{itemize} \item The number of iterations of the loop \item The list of each iteration parameter diff --git a/testium_training.pdf b/testium_training.pdf index 622ff27d4660671f5428b0d0f833fcfc62c88249..932476e4b0e33642f398e53f70ba7ea6c717f15f 100644 GIT binary patch delta 12569 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