diff options
Diffstat (limited to 'automated/linux/gst-validate/gst_validate_lava_parse.py')
-rwxr-xr-x | automated/linux/gst-validate/gst_validate_lava_parse.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/automated/linux/gst-validate/gst_validate_lava_parse.py b/automated/linux/gst-validate/gst_validate_lava_parse.py new file mode 100755 index 0000000..8845fe6 --- /dev/null +++ b/automated/linux/gst-validate/gst_validate_lava_parse.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python3 + +# LAVA/OE gst-validate results parse script +# +# Copyright (C) 2018, Linaro Limited. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Author: Aníbal Limón <anibal.limon@linaro.org> +# + +import json +import os +import re +import sys + + +def map_result_to_lava(result): + if result == 'Passed': + result = 'pass' + elif result == 'Failed': + result = 'fail' + elif result == 'Skipped': + result = 'skip' + elif result == 'Timeout': + result = 'fail' + + return result + + +if __name__ == '__main__': + if len(sys.argv) < 2: + print("Usage: %s <result_file> [ignore_file]" % sys.argv[0]) + sys.exit(1) + + ignore_tests = [] + if len(sys.argv) == 3: + with open(sys.argv[2], 'r') as f: + ignore_tests = f.read().split() + + rex = re.compile('^(?P<test_case_id>validate\..*):\s+(?P<result>(Failed|Passed|Skipped|Timeout))') + with open(sys.argv[1], 'r') as f: + for line in f.readlines(): + s = rex.search(line) + if s: + test_case_id = s.group('test_case_id') + result = s.group('result') + + if test_case_id not in ignore_tests: + print("%s %s" % (test_case_id, map_result_to_lava(result))) |