Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / test / ispy / server / debug_view_handler.py
1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """Request handler to display the debug view for a Failure."""
6
7 import jinja2
8 import os
9 import sys
10 import webapp2
11
12 from common import ispy_utils
13
14 import views
15
16 JINJA = jinja2.Environment(
17     loader=jinja2.FileSystemLoader(os.path.dirname(views.__file__)),
18     extensions=['jinja2.ext.autoescape'])
19
20
21 class DebugViewHandler(webapp2.RequestHandler):
22   """Request handler to display the debug view for a failure."""
23
24   def get(self):
25     """Handles get requests to the /debug_view page.
26
27     GET Parameters:
28       test_run: The test run.
29       expectation: The expectation name.
30     """
31     test_run = self.request.get('test_run')
32     expectation = self.request.get('expectation')
33     expected_path = ispy_utils.GetExpectationPath(expectation, 'expected.png')
34     actual_path = ispy_utils.GetFailurePath(test_run, expectation, 'actual.png')
35     data = {}
36
37     def _ImagePath(url):
38       return '/image?file_path=%s' % url
39
40     data['expected'] = _ImagePath(expected_path)
41     data['actual'] = _ImagePath(actual_path)
42     data['test_run'] = test_run
43     data['expectation'] = expectation
44     template = JINJA.get_template('debug_view.html')
45     self.response.write(template.render(data))