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 | ' | ||
