mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
Current validation check function inside resulttool disallow the report for single result file although the underlying library was able to handle both directory and file as source input to report. Removed the validation check as it was no longer needed and to enable report for single result file. (From OE-Core rev: 69ccfb9f978382f935c4d0609e09e00aab327188) Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
84 lines
3.1 KiB
Python
Executable File
84 lines
3.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
#
|
|
# test results tool - tool for manipulating OEQA test result json files
|
|
# (merge results, summarise results, regression analysis, generate manual test results file)
|
|
#
|
|
# To look for help information.
|
|
# $ resulttool
|
|
#
|
|
# To store test results from oeqa automated tests, execute the below
|
|
# $ resulttool store <source_dir> <git_branch>
|
|
#
|
|
# To merge test results, execute the below
|
|
# $ resulttool merge <base_result_file> <target_result_file>
|
|
#
|
|
# To report test report, execute the below
|
|
# $ resulttool report <source_dir>
|
|
#
|
|
# To perform regression file analysis, execute the below
|
|
# $ resulttool regression-file <base_result_file> <target_result_file>
|
|
#
|
|
# To execute manual test cases, execute the below
|
|
# $ resulttool manualexecution <manualjsonfile>
|
|
#
|
|
# By default testresults.json for manualexecution store in <build>/tmp/log/manual/
|
|
#
|
|
# Copyright (c) 2019, Intel Corporation.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify it
|
|
# under the terms and conditions of the GNU General Public License,
|
|
# version 2, as published by the Free Software Foundation.
|
|
#
|
|
# This program is distributed in the hope 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.
|
|
#
|
|
|
|
import os
|
|
import sys
|
|
import argparse
|
|
import logging
|
|
script_path = os.path.dirname(os.path.realpath(__file__))
|
|
lib_path = script_path + '/lib'
|
|
sys.path = sys.path + [lib_path]
|
|
import argparse_oe
|
|
import scriptutils
|
|
import resulttool.merge
|
|
import resulttool.store
|
|
import resulttool.regression
|
|
import resulttool.report
|
|
import resulttool.manualexecution
|
|
logger = scriptutils.logger_create('resulttool')
|
|
|
|
def main():
|
|
parser = argparse_oe.ArgumentParser(description="OEQA test result manipulation tool.",
|
|
epilog="Use %(prog)s <subcommand> --help to get help on a specific command")
|
|
parser.add_argument('-d', '--debug', help='enable debug output', action='store_true')
|
|
parser.add_argument('-q', '--quiet', help='print only errors', action='store_true')
|
|
subparsers = parser.add_subparsers(dest="subparser_name", title='subcommands', metavar='<subcommand>')
|
|
subparsers.required = True
|
|
subparsers.add_subparser_group('manualexecution', 'manual testcases', 300)
|
|
resulttool.manualexecution.register_commands(subparsers)
|
|
subparsers.add_subparser_group('setup', 'setup', 200)
|
|
resulttool.merge.register_commands(subparsers)
|
|
resulttool.store.register_commands(subparsers)
|
|
subparsers.add_subparser_group('analysis', 'analysis', 100)
|
|
resulttool.regression.register_commands(subparsers)
|
|
resulttool.report.register_commands(subparsers)
|
|
|
|
args = parser.parse_args()
|
|
if args.debug:
|
|
logger.setLevel(logging.DEBUG)
|
|
elif args.quiet:
|
|
logger.setLevel(logging.ERROR)
|
|
|
|
try:
|
|
ret = args.func(args, logger)
|
|
except argparse_oe.ArgumentUsageError as ae:
|
|
parser.error_subcommand(ae.message, ae.subcommand)
|
|
return ret
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|