|
| 1 | +# SystemReady Band Execution Enviroment and Configuration User Guide |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +This guide provides details on the SR band Execution Enviroment and configuration-based feature integrated into the SystemReady-band image. |
| 6 | + |
| 7 | +Execution Enviroment is used to run manually only a desired selected test suites, and with a configuration file the test suite run can be customized with required parameter. |
| 8 | +The configuration file can also be used to selectively enable/disable individual test suites in automation run. This allows for flexible and targeted testing. |
| 9 | + |
| 10 | +--- |
| 11 | + |
| 12 | +## Configuration File |
| 13 | + |
| 14 | +The configuration file is an INI-style file located at a predefined path in the image, typically: |
| 15 | + |
| 16 | +- **Linux**: `/mnt/acs_tests/config/acs_run_config.ini` |
| 17 | +- **UEFI**: `fsx:\acs_tests\config\acs_run_config.ini` |
| 18 | + |
| 19 | +### Sample Configuration File |
| 20 | + |
| 21 | +```ini |
| 22 | +[AUTOMATION] |
| 23 | +config_enabled_for_automation_run = false |
| 24 | + |
| 25 | +[SCT] |
| 26 | +automation_sct_run = true |
| 27 | +sct_sequence_file = SBBR.seq |
| 28 | + |
| 29 | +[SCRT] |
| 30 | +automation_scrt_run = true |
| 31 | + |
| 32 | +[BSA] |
| 33 | +automation_bsa_run = true |
| 34 | +bsa_modules = |
| 35 | +bsa_tests = |
| 36 | +bsa_skip = 900 |
| 37 | +bsa_verbose = 3 |
| 38 | + |
| 39 | +[SBSA] |
| 40 | +automation_sbsa_run = false |
| 41 | +sbsa_modules = |
| 42 | +sbsa_level = 4 |
| 43 | +sbsa_tests = |
| 44 | +sbsa_skip = 900 |
| 45 | +sbsa_verbose = 3 |
| 46 | + |
| 47 | +[FWTS] |
| 48 | +automation_fwts_run = true |
| 49 | +fwts_modules = --uefi-set-var-multiple=1 --uefi-get-mn-count-multiple=1 --sbbr esrt uefibootpath aest cedt slit srat hmat pcct pdtt bgrt bert einj erst hest sdei nfit iort mpam ibft ras2 |
| 50 | + |
| 51 | +[BBSR_SCT] |
| 52 | +automation_bbsr_sct_run = true |
| 53 | +bbsr_sct_sequence_file = BBSR.seq |
| 54 | + |
| 55 | +[BBSR_FWTS] |
| 56 | +automation_bbsr_fwts_run = true |
| 57 | + |
| 58 | +[BBSR_TPM] |
| 59 | +automation_bbsr_tpm_run = true |
| 60 | +``` |
| 61 | +--- |
| 62 | + |
| 63 | +### Behavior Details for Config-Based Automation |
| 64 | + |
| 65 | +This section explains how the automation run behaves based on the `config_enabled_for_automation_run` flag in the configuration file. |
| 66 | + |
| 67 | +--- |
| 68 | + |
| 69 | +### Configuration variable: `config_enabled_for_automation_run` |
| 70 | + |
| 71 | +This flag controls whether the automation run should follow the instructions in the configuration file or use the default behavior. |
| 72 | + |
| 73 | +```ini |
| 74 | +[AUTOMATION] |
| 75 | +config_enabled_for_automation_run = true |
| 76 | +or |
| 77 | +config_enabled_for_automation_run = false |
| 78 | +``` |
| 79 | + |
| 80 | +### Behavior Matrix |
| 81 | + |
| 82 | +| config_enabled_for_automation_run | Behavior | |
| 83 | +|----------------------------------|----------| |
| 84 | +| `true` | - ✅ Configuration file is **read and parsed**. <br> - ✅ **Only test suites explicitly enabled** in the config will be run. <br> - ✅ Command-line parameters (like sequence files, modules, skip lists) are constructed from config values. <br> - ❌ Test suites with `false` skipped. | |
| 85 | +| `false` | - ⚠️ Configuration file is **ignored**. <br> - ✅ All test suites run using the **default full-flow** logic. <br> - ✅ Suitable for exhaustive platform testing. <br> - ❌ No selective filtering based on config. | |
| 86 | + |
| 87 | + |
| 88 | +### Flow Diagram (Conceptual) |
| 89 | + |
| 90 | +```text |
| 91 | ++-------------------------------------+ |
| 92 | +| START AUTOMATION | |
| 93 | ++-------------------------------------+ |
| 94 | + | |
| 95 | + v |
| 96 | ++-------------------------------+ |
| 97 | +| Read config file (if exists) | |
| 98 | ++-------------------------------+ |
| 99 | + | |
| 100 | + v |
| 101 | ++-----------------------------------------------+ |
| 102 | +| Is config_enabled_for_automation_run = true ? | |
| 103 | ++----------------------+------------------------+ |
| 104 | + YES | NO |
| 105 | + | | | |
| 106 | + v | v |
| 107 | ++--------------------------+ +----------------------------+ |
| 108 | +| Parse individual test | | Ignore config file | |
| 109 | +| suite flags and options | | Run all test suites | |
| 110 | ++--------------------------+ +----------------------------+ |
| 111 | + | | |
| 112 | + v v |
| 113 | ++------------------------------+ +------------------------------+ |
| 114 | +| run enabled tests and | |Execute default test commands | |
| 115 | +| generated commands | | | |
| 116 | ++------------------------------+ +-------------------------------+ |
| 117 | +``` |
| 118 | + |
| 119 | + |
| 120 | +--- |
| 121 | + |
| 122 | +## SR Execution Enviroment |
| 123 | + |
| 124 | +The grub menu is updated to provide two more options for execution enviroment. |
| 125 | +On boot, users are presented with the following GRUB menu: |
| 126 | + |
| 127 | +``` |
| 128 | +Linux Boot |
| 129 | +SystemReady band ACS (Automation) |
| 130 | +BBSR Compliance (Automation) |
| 131 | +UEFI Execution Enviroment |
| 132 | +Linux Execution Enviroment |
| 133 | +Set Virtual Address Map |
| 134 | +``` |
| 135 | +--- |
| 136 | + |
| 137 | +- Linux Boot - Boots into the default Linux environment. |
| 138 | +- SystemReady band ACS (Automation) - Initiates the automation flow. |
| 139 | +- BBSR Compliance (Automation) - - Launches the BBSR-specific testing environment. |
| 140 | +- UEFI Execution Enviroment - Allows manual execution of UEFI-based test suites using the config file. |
| 141 | +- Linux Execution Enviroment - Allows manual execution of Linux-based test suites using the config file. |
| 142 | +- Set Virtual Address Map - Technical option for configuring memory map behavior in UEFI. |
| 143 | + |
| 144 | +## SystemReady band ACS (Automation) Flow |
| 145 | + |
| 146 | +When selecting **SystemReady band ACS (Automation)**, the following behavior occurs: |
| 147 | + |
| 148 | +1. A **timer** is initiated. **if no key pressed** The system **ignores the config file** and runs **all test suites** in the legacy manner. |
| 149 | +2. During this timer period, if the user **presses any key**, the system will: |
| 150 | + - Launch the `Parser.efi` application. |
| 151 | + - Allow the user to **view, edit, and update** the configuration file. |
| 152 | +3. On exiting `Parser.efi`: |
| 153 | + - The system checks the flag `config_enabled_for_automation_run`. |
| 154 | + - If `true`: The automation runs only **enabled test suites** based on config parameters (commands are generated from config). |
| 155 | + - If `false`: The system **ignores the config file** and runs **all test suites** in the legacy manner. |
| 156 | + |
| 157 | +--- |
| 158 | + |
| 159 | +## Behavior of Linux Execution Enviroment and UEFI Execution Enviroment |
| 160 | + |
| 161 | +- **UEFI Execution Enviroment** |
| 162 | + - Enters UEFI Shell with similar behavior to Linux Execution Enviroment. |
| 163 | + - Users can run UEFI test suites (like SCT, SCRT) manually. |
| 164 | + - Help/guidance is displayed in the shell to inform how to execute commands using config. |
| 165 | + |
| 166 | +- **Linux Execution Enviroment** |
| 167 | + - Boots into Linux shell where users can manually execute test suites. |
| 168 | + - The system reads the config file and allows manual control over which test suites to run based on the enabled sections and their parameters. |
| 169 | + - A help or run-guide is displayed to assist users in running the appropriate commands. |
| 170 | + |
| 171 | +--- |
| 172 | + |
| 173 | +## Manual Execution Instructions (Linux Execution Enviroment / UEFI Execution Enviroment) |
| 174 | + |
| 175 | +- Users can manually view/edit the config file using: |
| 176 | + - `acs_tets/parser/Parser.efi` (UEFI shell) |
| 177 | + - `vi acs_tests/config/acs_run_config.ini` or any text editor in Linux |
| 178 | +- Once configured: |
| 179 | + - **Run test suites manually** using the generated command structure as per config parameters. |
| 180 | + |
| 181 | +--- |
0 commit comments