[pypy-commit] jitviewer default: fix for weird classes (pdb is intentiional)
fijal
noreply at buildbot.pypy.org
Wed Jul 20 12:45:53 CEST 2011
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch:
Changeset: r148:dde7241b441f
Date: 2011-07-20 12:01 +0200
http://bitbucket.org/pypy/jitviewer/changeset/dde7241b441f/
Log: fix for weird classes (pdb is intentiional)
diff --git a/_jitviewer/parser.py b/_jitviewer/parser.py
--- a/_jitviewer/parser.py
+++ b/_jitviewer/parser.py
@@ -1,4 +1,5 @@
import re
+import cgi
from pypy.tool.jitlogparser import parser
class Html(str):
@@ -16,12 +17,13 @@
def cssclass(cls, s, **kwds):
+ cls = re.sub("[^\w]", "_", cls)
attrs = ['%s="%s"' % (name, value) for name, value in kwds.iteritems()]
- return '<span class="%s" %s>%s</span>' % (cls, ' '.join(attrs), s)
+ return '<span class="%s" %s>%s</span>' % (cls, ' '.join(attrs),
+ cgi.escape(s))
def _new_binop(name):
- import cgi
name = cgi.escape(name)
def f(self):
return '%s = %s %s %s' % (self.getres(), self.getarg(0), name, self.getarg(1))
@@ -114,6 +116,8 @@
class TraceForOpcodeHtml(parser.TraceForOpcode):
def html_repr(self):
+ #import pdb
+ #pdb.set_trace()
if self.filename is not None:
code = self.getcode()
if code is None:
diff --git a/_jitviewer/test/test_parser.py b/_jitviewer/test/test_parser.py
--- a/_jitviewer/test/test_parser.py
+++ b/_jitviewer/test/test_parser.py
@@ -35,3 +35,8 @@
html = op.html_repr()
p0 = cssclass('p0', 'p0', onmouseover="highlight_var(this)", onmouseout="disable_var(this)")
assert p0 in html
+
+def test_cssclass():
+ s = cssclass('asd$%', 'v')
+ print s.__class__, s
+ assert '$' not in s
diff --git a/bin/jitviewer.py b/bin/jitviewer.py
--- a/bin/jitviewer.py
+++ b/bin/jitviewer.py
@@ -157,15 +157,6 @@
orig___init__(self2, *args, **kwds)
BaseServer.__init__ = __init__
-
-class CheckingLoopStorage(LoopStorage):
- def disassemble_code(self, fname, startlineno, name):
- result = super(CheckingLoopStorage, self).disassemble_code(fname, startlineno, name)
- #if result is None and fname is not None:
- # raise CannotFindFile(fname)
- return result
-
-
def main():
PATH = os.path.join(os.path.dirname((_jitviewer.__file__)))
print PATH
@@ -187,7 +178,7 @@
port = 5000
else:
port = int(sys.argv[2])
- storage = CheckingLoopStorage(extra_path)
+ storage = LoopStorage(extra_path)
log, loops = import_log(filename, ParserWithHtmlRepr)
parse_log_counts(extract_category(log, 'jit-backend-count'), loops)
storage.reconnect_loops(loops)
More information about the pypy-commit
mailing list