[TIP] problems w/ coverage and threads?
ned at nedbatchelder.com
Tue Aug 24 19:43:30 PDT 2010
Indeed I can reproduce this. I don't understand why yet, but the run()
method is not recorded by the trace function, but functions it calls
are. Odd. I'll work more on it..
On 8/24/2010 2:36 PM, Dirk Pranke wrote:
> Hi all,
> I'm running the following program under coverage on a Mac Pro running
> Snow Loepard (using "coverage run threads_unittest.py", python 2.5,
> coverage 3.3.1) and getting no coverage numbers from the
> method. Also, if I try to mark it ignored with "# pragma: no cover",
> that seems to have no effect.
> I would have thought that both of these things would work. Any ideas?
> -- Dirk
> % cat threads_unittest.py
> import Queue
> import threading
> import unittest
> class TestThread(threading.Thread):
> def __init__(self, started_queue, stopping_queue):
> self._started_queue = started_queue
> self._stopping_queue = stopping_queue
> def run(self):
> print "starting thread"
> msg = self._stopping_queue.get()
> print "exiting thread"
> class ThreadTest(unittest.TestCase):
> def test_threads(self):
> starting_queue = Queue.Queue()
> stopping_queue = Queue.Queue()
> thd = TestThread(starting_queue, stopping_queue)
> if __name__ == '__main__':
> testing-in-python mailing list
> testing-in-python at lists.idyll.org
More information about the testing-in-python