diff options
Diffstat (limited to 'recipes-security/optee-imx/optee-test/run-ptest')
-rw-r--r-- | recipes-security/optee-imx/optee-test/run-ptest | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/recipes-security/optee-imx/optee-test/run-ptest b/recipes-security/optee-imx/optee-test/run-ptest new file mode 100644 index 000000000..ba88c14d3 --- /dev/null +++ b/recipes-security/optee-imx/optee-test/run-ptest | |||
@@ -0,0 +1,52 @@ | |||
1 | #!/bin/sh | ||
2 | xtest | awk ' | ||
3 | |||
4 | # Escapes the special characters in a string so that, when | ||
5 | # included in a regex, it represents a literal match | ||
6 | function regx_escape_literal(str, ret) { | ||
7 | ret = str | ||
8 | gsub(/[\[\]\^\$\.\*\?\+\{\}\\\(\)\|]/ , "\\\\&", str) | ||
9 | return str | ||
10 | } | ||
11 | |||
12 | # Returns the simple test formatted name | ||
13 | function name(n, ret) { | ||
14 | ret = n | ||
15 | gsub(/\./, " ", ret) | ||
16 | return ret | ||
17 | } | ||
18 | |||
19 | # Returns the simple test formatted result | ||
20 | function result(res) { | ||
21 | if(res ~ /OK/) { | ||
22 | return "PASS" | ||
23 | } else if(res ~ /FAILED/) { | ||
24 | return "FAIL" | ||
25 | } | ||
26 | } | ||
27 | |||
28 | function parse(name, description, has_subtests, result_line) { | ||
29 | has_subtests = 0 | ||
30 | |||
31 | # Consume every line up to the result line | ||
32 | result_line = " " regx_escape_literal(name) " (OK|FAILED)" | ||
33 | do { | ||
34 | getline | ||
35 | |||
36 | # If this is a subtest (denoted by an "o" bullet) then subparse | ||
37 | if($0 ~ /^o /) { | ||
38 | parse($2, description " : " substr($0, index($0, $3))) | ||
39 | has_subtests = 1 | ||
40 | } | ||
41 | } while ($0 !~ result_line) | ||
42 | |||
43 | # Only print the results for the deepest nested subtests | ||
44 | if(!has_subtests) { | ||
45 | print result($2) ": " name(name) " - " description | ||
46 | } | ||
47 | } | ||
48 | |||
49 | # Start parsing at the beginning of every test (denoted by a "*" bullet) | ||
50 | /^\* / { parse($2, substr($0, index($0, $3))) } | ||
51 | |||
52 | ' | ||