This is an external Parser script for UEFI SCT & Arm ACS test suite.
This is an external Parser script for UEFI SCT. (Arm ACS test suite WIP)
It's designed to read a `.ekl` result log named `sample.ekl` and a generated `.seq` file named `sample.seq` from UEFI SCT configurator.
It will proceed to list the names of each test that has failed or had a warning, then filter that list based one the tests that were supposed to run according to the `.seq` file, including mentioning tests that would not run.
It's designed to read a `.ekl` results log (default is `sample.ekl`), and a generated `.seq` (default is `sample.seq`) from UEFI SCT configurator.
It will proceed to generate a CSV listing fails, passes, and each test set that was Silent dropped, and a list of all failed and warnings.
## Command line arguments (WIP)
### Diffrent File:
if you choose to, you can pass command like arguments like so `python3 Parser.py <file.ekl>`. this will provide a different `.ekl` log to search (such as `summary.ekl`), but run the same find failure/warnings, and cross check with a seq file.
### Different File:
if you choose to, you can pass command like arguments like so `python3 Parser.py <file.ekl> <file.seq>` This will provide a different `.ekl` log to search (such as `summary.ekl`), and a different `.seq` file, (such as `seq.seq`)
### Custom search
The next two arguments MUST be included together and will only search and display files that met that constraint, no cross check. `python3 Parser.py <file.ekl> <search key> <search value>`
For a custom Key:value search, the next two arguments *MUST be included together.* The program will search and display files that met that constraint, without the crosscheck, and display the names, guid, and key:value to the command line. `python3 Parser.py <file.ekl> <file.seq> <search key> <search value>`
you can use the `test_dict` below to see available keys.
...
...
@@ -24,7 +29,9 @@ The next two arguments MUST be included together and will only search and displa
## Notes
### Known Issues:
Currently If a test with the same guid is re-run, it will squash any previous test. I.E. TPL -4/6/8...
* "comment" is currently not implemented, as formatting is not currently consistent, should reflect the comments from the test.
* Currently ACS tests have shared GUIDs
* ACS follows different naming convention
### Need to test
would a concatenation of all `.ekl` logs work?
...
...
@@ -35,6 +42,7 @@ tests = {
<guid> : test_dict
<guid2> : test_dict2...
}
test_dict = {
"name": "some test",
"result": "pass/fail",
...
...
@@ -43,12 +51,12 @@ test_dict = {
"sub set": "some subset",
"set guid": "XXXXXX",
"guid": "XXXXXX",
"comment": "some comment"
"comment": "some comment",
"log": "full log output"
}
seqs = {
seqs = {
<guid> : seq_dict
<guid2> : seq_dict2...
}
...
...
@@ -59,4 +67,5 @@ seq_dict = {
"Iteration": "some hex/num of how many times to run",