From 020fe098b5fca38d3ef1189b95ccb58e5cb3c4a0 Mon Sep 17 00:00:00 2001 From: Diogo21Costa Date: Mon, 18 Dec 2023 14:18:19 +0000 Subject: [PATCH 1/2] feat(doc): include bao test framework introduction Signed-off-by: Diogo21Costa --- source/development/testing.rst | 19 ++++++++++++++++++- source/spelling_wordlist.txt | 2 ++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/source/development/testing.rst b/source/development/testing.rst index 1d46413..2d4e6e3 100644 --- a/source/development/testing.rst +++ b/source/development/testing.rst @@ -1,6 +1,23 @@ Testing ======= - +The primary goal of the Bao Test Framework is to provide the infrastructure for the testing process +of Bao Project components. It encompasses three core components: (i) a C library designed for +real-time test handling, (ii) a build system based on Nix, and (iii) a Python Tool for +comprehensive test management. + +1. **C Library** - This library that streamlines testing by providing macros, pre-processed logging + prompts, and an entry-point-based system, aiming to facilitating the integration of developer + tests in the software stack, such as the hypervisor or guest components. + +2. **Nix Build System** - The Nix Build System introduces an abstraction layer for system builds, + facilitating a modular construction of the software stack for comprehensive testing. It + encompasses a series of nix recipes that allow the compilation and build of three distinct + layers: (i) the hypervisor, (ii) multiple guests (e.g., baremetal, freeRTOS, etc.), and (iii) + the firmware. + +3. **Python Tool** - A command line tool that drives the framework by managing both the Nix Build + System and the C code library components to build testing artifacts, automating their deployment + in the target platform, and gathering, analyzing and outputting the final results. Test Framework Overview ----------------------- diff --git a/source/spelling_wordlist.txt b/source/spelling_wordlist.txt index c383579..be76558 100644 --- a/source/spelling_wordlist.txt +++ b/source/spelling_wordlist.txt @@ -67,3 +67,5 @@ subdirectory scalability codebase unix +baremetal +freeRTOS From 60c63b487ed38b204f8666e54cedfbcd540bfc7e Mon Sep 17 00:00:00 2001 From: Diogo Costa Date: Tue, 12 Mar 2024 14:46:08 +0000 Subject: [PATCH 2/2] fix(doc): improve readability Signed-off-by: Diogo Costa --- source/development/testing.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/development/testing.rst b/source/development/testing.rst index 2d4e6e3..d83ff2d 100644 --- a/source/development/testing.rst +++ b/source/development/testing.rst @@ -5,12 +5,13 @@ of Bao Project components. It encompasses three core components: (i) a C library real-time test handling, (ii) a build system based on Nix, and (iii) a Python Tool for comprehensive test management. -1. **C Library** - This library that streamlines testing by providing macros, pre-processed logging - prompts, and an entry-point-based system, aiming to facilitating the integration of developer - tests in the software stack, such as the hypervisor or guest components. +1. **C Library** - This library provides a framework for writing tests. It defines (i) a run-time + that automates the invocation of function unit tests and (ii) an API that mainly provides a way + of outputting test results in a standard format that can be parsed by the Python Tool (see + below). 2. **Nix Build System** - The Nix Build System introduces an abstraction layer for system builds, - facilitating a modular construction of the software stack for comprehensive testing. It + facilitating a modular construction of the target software stack used for testing. It encompasses a series of nix recipes that allow the compilation and build of three distinct layers: (i) the hypervisor, (ii) multiple guests (e.g., baremetal, freeRTOS, etc.), and (iii) the firmware.