Mercurial > bitten > bitten-test
changeset 551:6b4def531a4e
Added support for graphing ignored tests (currently only supported for `nunit`)
''from patch by `silk` to #385''
author | dfraser |
---|---|
date | Mon, 06 Apr 2009 08:41:29 +0000 |
parents | 6a8dcbffdce2 |
children | f20c079c17a7 |
files | bitten/build/monotools.py bitten/report/testing.py bitten/templates/bitten_chart_tests.html bitten/templates/bitten_summary_tests.html |
diffstat | 4 files changed, 29 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/bitten/build/monotools.py +++ b/bitten/build/monotools.py @@ -79,7 +79,7 @@ else: test.attr['status'] = 'success' else: - test.attr['status'] = 'ignored' + test.attr['status'] = 'ignore' results.append(test) total += 1
--- a/bitten/report/testing.py +++ b/bitten/report/testing.py @@ -42,7 +42,7 @@ tests = [] for rev, platform, status, num in cursor: if rev != prev_rev: - tests.append([rev, 0, 0]) + tests.append([rev, 0, 0, 0]) prev_rev = rev platform_total = 0 if platform != prev_platform: @@ -51,14 +51,19 @@ platform_total += num tests[-1][1] = max(platform_total, tests[-1][1]) - if status != 'success': + if status == 'success': + pass + elif status == 'ignore': + tests[-1][3] = max(num, tests[-1][3]) + else: tests[-1][2] = max(num, tests[-1][2]) data = {'title': 'Unit Tests', 'data': [ [''] + ['[%s]' % item[0] for item in tests], ['Total'] + [item[1] for item in tests], - ['Failures'] + [item[2] for item in tests] + ['Failures'] + [item[2] for item in tests], + ['Ignored'] + [item[3] for item in tests], ]} return 'bitten_chart_tests.html', data @@ -80,6 +85,7 @@ cursor.execute(""" SELECT item_fixture.value AS fixture, item_file.value AS file, COUNT(item_success.value) AS num_success, + COUNT(item_ignore.value) AS num_ignore, COUNT(item_failure.value) AS num_failure, COUNT(item_error.value) AS num_error FROM bitten_report AS report @@ -91,6 +97,9 @@ LEFT OUTER JOIN bitten_report_item AS item_success ON (item_success.report=report.id AND item_success.item=item_fixture.item AND item_success.name='status' AND item_success.value='success') + LEFT OUTER JOIN bitten_report_item AS item_ignore + ON (item_ignore.report=report.id AND item_ignore.item=item_fixture.item AND + item_ignore.name='status' AND item_ignore.value='ignore') LEFT OUTER JOIN bitten_report_item AS item_failure ON (item_failure.report=report.id AND item_failure.item=item_fixture.item AND item_failure.name='status' AND item_failure.value='failure') @@ -102,19 +111,24 @@ ORDER BY fixture""", (build.id, step.name)) fixtures = [] - total_success, total_failure, total_error = 0, 0, 0 - for fixture, file, num_success, num_failure, num_error in cursor: - fixtures.append({'name': fixture, 'num_success': num_success, + total_success, total_ignore, total_failure, total_error = 0, 0, 0, 0 + for fixture, file, num_success, num_ignore, num_failure, num_error in cursor: + fixtures.append({'name': fixture, + 'num_success': num_success, + 'num_ignore': num_ignore, 'num_error': num_error, 'num_failure': num_failure}) total_success += num_success + total_ignore += num_ignore total_failure += num_failure total_error += num_error if file: fixtures[-1]['href'] = req.href.browser(config.path, file) data = {'fixtures': fixtures, - 'totals': {'success': total_success, 'failure': total_failure, + 'totals': {'success': total_success, + 'ignore': total_ignore, + 'failure': total_failure, 'error': total_error} } return 'bitten_summary_tests.html', data
--- a/bitten/templates/bitten_chart_tests.html +++ b/bitten/templates/bitten_chart_tests.html @@ -2,6 +2,7 @@ <chart_type> <value>area</value> <value>column</value> + <value>line</value> </chart_type> <axis_category size="10" orientation="diagonal_up" @@ -25,6 +26,7 @@ <series_color> <color>99dd99</color> <color>ff0000</color> + <color>ffff00</color> </series_color> <legend_label layout="vertical" alpha="60"/>
--- a/bitten/templates/bitten_summary_tests.html +++ b/bitten/templates/bitten_summary_tests.html @@ -8,7 +8,7 @@ <table class="listing tests"> <thead><tr> <th>Test Fixture</th><th>Total</th> - <th>Failures</th><th>Errors</th> + <th>Failures</th><th>Ignores</th><th>Errors</th> </tr></thead> <tbody><tr py:for="item in data.fixtures" class="${item.num_failure or item.num_error and 'failed' or None}"> @@ -16,14 +16,16 @@ <a py:when="item.href" href="$item.href">$item.name</a> <py:otherwise>$item.name</py:otherwise> </th> - <td>${item.num_success + item.num_failure + item.num_error}</td> + <td>${item.num_success + item.num_failure + item.num_error + item.num_ignore}</td> <td>$item.num_failure</td> + <td>$item.num_ignore</td> <td>$item.num_error</td> </tr></tbody> <tbody class="totals"><tr py:with="totals = data.totals"> <th>Total</th> - <td>$totals.success</td> + <td>${totals.success + totals.failure + totals.ignore + totals.error}</td> <td>$totals.failure</td> + <td>$totals.ignore</td> <td>$totals.error</td> </tr></tbody> </table>