From 328eff19a08bd399c6a833d213862039b4432b05 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Thu, 5 Apr 2007 18:20:42 +0000 Subject: import of bitbake-qa bittest util which can be used as: - source availability checker - source mirror populate tool - and few others branch is named 'oetest' because this tool will be renamed to 'oetest' as it is useful only with OE metadata --- lib/bittest/testreport_html.py | 120 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 lib/bittest/testreport_html.py (limited to 'lib/bittest/testreport_html.py') diff --git a/lib/bittest/testreport_html.py b/lib/bittest/testreport_html.py new file mode 100644 index 0000000000..f9241edc2d --- /dev/null +++ b/lib/bittest/testreport_html.py @@ -0,0 +1,120 @@ +# ex:ts=4:sw=4:sts=4:et +# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- +# +# +# Copyright (C) 2005, 2006 Holger Hans Peter Freyther +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# Neither the name Holger Hans Peter Freyther nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +__version__ = "0.0" + +import os, sys + +class HTMLPage: + """ + Small utility to create a HTML report page + """ + def __init__(self): + self.header = "" + self.config = "" + self.summary = [] + self.passed = [] + self.failed = [] + + def open(self, title): + """ + The header is taken from JHBuild + """ + self.header = """ + + %(title)s + + +""" + pass + + def add_head(self, config): + pass + + def add_summary(self, count, passed, failed): + pass + + def add_failed(self, failed): + pass + + def add_passed(self, failed): + pass + + def write(self, file): + pass + +class TestReportHTML: + """ + Output the Test Result as a single HTML Page + """ + + def __init__(self, config, test_name, file): + self.test_config = test_name + + def init(self, test_result): + self.test_result = test_result + self.failed = [] + self.passed = [] + + def parse_tests(self): + """ + Parse the tests into the categories Passed and Failed + """ + for test in self.test_result: + if test.test_result: + self.passed.append( test ) + else: + self.failed.append( test ) + + def print_result(self): + self.parse_tests() + page = HTMLPage() + page.open( "Bit Test Result" ) + page.add_head( self.test_config ) + page.add_summary( len(self.test_result), len(self.passed), len(self.failed) ) + page.add_failed( self.failed ) + page.add_passed( self.failed ) + page.write( "result.html" ) -- cgit 1.2.3-korg