[Grinder-use] Puzzling Failures
Distributed load testing framework - Java, Jython, or Clojure scripts.
Brought to you by:
philipa
From: David R. <da...@ru...> - 2008-02-26 13:25:55
|
I've been beating my head against a problem and cannot figure it out. Ultimately I'm trying to use regular expressions to search the text of an HTTP response, but I've whittled the code down to a small bit that demonstrates the error I've not been able to get around. Here's the script: import re def x(message): print message s = "yaddah <!-- something --> foo <!-- blah blah blah --> bar" comments = re.findall("<!--.*?-->",s) for c in comments: print "\tFound \"%s\""%c return if False: x("all alone") class TestRunner: def __call__(self): x("test runner here") return def workaround(self): x("workaround here") return if False: tr = TestRunner() tr() if False: tr = TestRunner() tr.workaround() if False: x("alone again, naturally") When I run that script with The Grinder as-is, it fails with "Aborted run due to Jython exception: ValueError: ('unsupported operand type', 'any') [calling TestRunner]". My error log says: 2/26/08 6:14:04 AM (thread 0 run 0): Aborted run due to Jython exception: ValueError: ('unsupported operand type', 'any') [calling TestRunner] ValueError: ('unsupported operand type', 'any') File "/opt/jython2.2.1/Lib/sre_compile.py", line 143, in _compile File "/opt/jython2.2.1/Lib/sre_compile.py", line 71, in _compile File "/opt/jython2.2.1/Lib/sre_compile.py", line 421, in _code File "/opt/jython2.2.1/Lib/sre_compile.py", line 437, in compile File "/opt/jython2.2.1/Lib/sre.py", line 227, in _compile File "/opt/jython2.2.1/Lib/sre.py", line 166, in findall File "/home/david/grinder/agent_scripts/http11.py", line 6, in x File "/home/david/grinder/agent_scripts/http11.py", line 16, in __call__ Now, if I set ANY of the "if False" lines to "if True", the script runs fine, no errors. Why does it only work when I add a "fake" call to the x function first? The regular expression stuff also works fine in a simple Jython script outside of The Grinder. I'm using The Grinder 3.0.1 and Jython 2.2.1 on Ubuntu Linux 7.10 (Gutsy Gibbon). David |