Skip to content

Commit a5c68ac

Browse files
Added SR execution environment and acs run config user guide. (#387)
* Add files via upload * Update SystemReady_Execution_Enviroment_and_Config_Guide.md
1 parent 09b70a1 commit a5c68ac

1 file changed

Lines changed: 181 additions & 0 deletions

File tree

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
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

Comments
 (0)