README.md 2.24 KB
Newer Older
Jeff Booher-Kaeding's avatar
Jeff Booher-Kaeding committed
1
# SCT_Parser
2

3
This is an external Parser script for UEFI SCT. (WIP)
4

5
It's designed to read a `.ekl` results log from an UEFI SCT run, and a generated `.seq` from UEFI SCT configurator.
Jeff Booher-Kaeding's avatar
V1.0?    
Jeff Booher-Kaeding committed
6

7
It will proceed to generate a Markdown file listing number of failures, passes, each test from the sequence file set that was Silently dropped, and a list of all failures and warnings.
8
9


10
## Usage
Vincent Stehlé's avatar
Vincent Stehlé committed
11
Usage to generate a "result md" is such. `python3 parser.py <log_file.ekl> <seq_file.seq>`
12
If you do no provided any command line arguments it will use `sample.ekl` and `sample.seq`.
Jeffrey Booher-Kaeding's avatar
Jeffrey Booher-Kaeding committed
13

Jeff Booher-Kaeding's avatar
V1.0?    
Jeff Booher-Kaeding committed
14

15
### Custom search
Jeff Booher-Kaeding's avatar
V1.0?    
Jeff Booher-Kaeding committed
16
17
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>`

Vincent Stehlé's avatar
Vincent Stehlé committed
18
you can use the `test_dict` below to see available keys.
19
20
21
22
23
24
25







Jeffrey Booher-Kaeding's avatar
Jeffrey Booher-Kaeding committed
26
27
## Notes
### Known Issues:
Jeff Booher-Kaeding's avatar
V1.0?    
Jeff Booher-Kaeding committed
28
* "comment" is currently not implemented, as formatting is not currently consistent, should reflect the comments from the test.
29
30
* some SCT tests have shared GUIDs,
* some lines in ekl file follow Different naming Conventions
Vincent Stehlé's avatar
Vincent Stehlé committed
31
* some tests in the sequence file are not strongly Associated with the test spec.
32

33
34
35
36
### Documentation

It is possible to convert this `README.md` into `README.pdf` with pandoc using
`make doc`. See `make help`.
37

38
39
### TODO:
* double check concatenation of all `.ekl` logs, preliminary tests show small Divergence between them and `summary.ekl` found in `Overall` folder. Cat.sh will generate this file.
40
* look into large number of dropped tests.
41
42
43


### db structure:
Vincent Stehlé's avatar
Vincent Stehlé committed
44
``` {.python}
45
46
47
48
tests = [
    test_dict,
    est_dict2...
]
Jeff Booher-Kaeding's avatar
V1.0?    
Jeff Booher-Kaeding committed
49

50
51
52
53
test_dict = {
   "name": "some test",
   "result": "pass/fail",
   "group": "some group",
Vincent Stehlé's avatar
Vincent Stehlé committed
54
   "test set": "some set",
55
56
57
   "sub set": "some subset",
   "set guid": "XXXXXX",
   "guid": "XXXXXX",
Jeff Booher-Kaeding's avatar
V1.0?    
Jeff Booher-Kaeding committed
58
   "comment": "some comment",
59
60
61
62
   "log": "full log output"
}


Vincent Stehlé's avatar
Vincent Stehlé committed
63
seqs = {
64
65
66
67
68
69
70
71
72
73
    <guid> : seq_dict
    <guid2> : seq_dict2...
}

seq_dict = {
                "name": "set name",
                "guid": "set guid",
                "Iteration": "some hex/num of how many times to run",
                "rev": "some hex/numb",
                "Order": "some hex/num"
Jeff Booher-Kaeding's avatar
V1.0?    
Jeff Booher-Kaeding committed
74
}
75
```