forked from orbit-oss/flask
Improved extension test runner
This commit is contained in:
parent
d455135338
commit
63a37b75ac
1 changed files with 23 additions and 5 deletions
|
|
@ -74,6 +74,9 @@ RESULT_TEMPATE = u'''\
|
||||||
<th>Author
|
<th>Author
|
||||||
<th>License
|
<th>License
|
||||||
<th>Outcome
|
<th>Outcome
|
||||||
|
{%- for iptr, _ in results[0].logs|dictsort %}
|
||||||
|
<th>{{ iptr }}
|
||||||
|
{%- endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
@ -85,6 +88,9 @@ RESULT_TEMPATE = u'''\
|
||||||
<td>{{ result.author }}
|
<td>{{ result.author }}
|
||||||
<td>{{ result.license }}
|
<td>{{ result.license }}
|
||||||
<td>{{ outcome }}
|
<td>{{ outcome }}
|
||||||
|
{%- for iptr, _ in result.logs|dictsort %}
|
||||||
|
<td><a href="#{{ result.name }}-{{ iptr }}">see log</a>
|
||||||
|
{%- endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
@ -93,7 +99,8 @@ RESULT_TEMPATE = u'''\
|
||||||
<p>Detailed test logs for all tests on all platforms:
|
<p>Detailed test logs for all tests on all platforms:
|
||||||
{%- for result in results %}
|
{%- for result in results %}
|
||||||
{%- for iptr, log in result.logs|dictsort %}
|
{%- for iptr, log in result.logs|dictsort %}
|
||||||
<h3>{{ result.name }} - {{ result.version }} [{{ iptr }}]</h3>
|
<h3 id="{{ result.name }}-{{ iptr }}">
|
||||||
|
{{ result.name }} - {{ result.version }} [{{ iptr }}]</h3>
|
||||||
<pre>{{ log }}</pre>
|
<pre>{{ log }}</pre>
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
|
@ -237,14 +244,14 @@ def test_extension(name, interpreters, flask_dep):
|
||||||
return TestResult(name, checkout_path, rv, interpreters)
|
return TestResult(name, checkout_path, rv, interpreters)
|
||||||
|
|
||||||
|
|
||||||
def run_tests(interpreters, only_approved=True):
|
def run_tests(extensions, interpreters):
|
||||||
results = {}
|
results = {}
|
||||||
create_tdir()
|
create_tdir()
|
||||||
log('Packaging Flask')
|
log('Packaging Flask')
|
||||||
flask_dep = package_flask()
|
flask_dep = package_flask()
|
||||||
log('Running extension tests')
|
log('Running extension tests')
|
||||||
log('Temporary Environment: %s', tdir)
|
log('Temporary Environment: %s', tdir)
|
||||||
for name in iter_extensions(only_approved):
|
for name in extensions:
|
||||||
log('Testing %s', name)
|
log('Testing %s', name)
|
||||||
result = test_extension(name, interpreters, flask_dep)
|
result = test_extension(name, interpreters, flask_dep)
|
||||||
if result.success:
|
if result.success:
|
||||||
|
|
@ -272,10 +279,21 @@ def main():
|
||||||
help='run against all extensions, not just approved')
|
help='run against all extensions, not just approved')
|
||||||
parser.add_argument('--browse', dest='browse', action='store_true',
|
parser.add_argument('--browse', dest='browse', action='store_true',
|
||||||
help='show browser with the result summary')
|
help='show browser with the result summary')
|
||||||
|
parser.add_argument('--env', dest='env', default='py25,py26,py27',
|
||||||
|
help='the tox environments to run against')
|
||||||
|
parser.add_argument('--extension=', dest='extension', default=None,
|
||||||
|
help='tests a single extension')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
results = run_tests(['py26'], not args.all)
|
if args.extension is not None:
|
||||||
filename = render_results(results, not args.all)
|
only_approved = False
|
||||||
|
extensions = [args.extension]
|
||||||
|
else:
|
||||||
|
only_approved = not args.all
|
||||||
|
extensions = iter_extensions(only_approved)
|
||||||
|
|
||||||
|
results = run_tests(extensions, [x.strip() for x in args.env.split(',')])
|
||||||
|
filename = render_results(results, only_approved)
|
||||||
if args.browse:
|
if args.browse:
|
||||||
import webbrowser
|
import webbrowser
|
||||||
webbrowser.open('file:///' + filename.lstrip('/'))
|
webbrowser.open('file:///' + filename.lstrip('/'))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue