Can python nosetest and py.test frameworks run tests with multiprocessing

I have the following code that works fine when run as a python unittest but fails if using nosetest or py.test with the following error messages:

NoseTest error: PicklingError: Can't pickle : it's not found as teamcity.nose_report.newCaptureBeforeTest

py.test error: PicklingError: Can't pickle : it's not found as __builtin__.module

Code:

import unittest
import multiprocessing as mp
import time

TIME_LIMIT = 1

class TestCases(unittest.TestCase):

    def setUp(self):
        self.a = 0

    def my_func(self):
        time.sleep(2)
        self.q.put(self.a + 1)

    def run_case(self, func):
        self.q = mp.Queue()

        test_process = mp.Process(target=func)

        test_process.start()
        test_process.join(TIME_LIMIT)

        self.assertFalse(test_process.is_alive(), 'timeout exceeded')

    def test_case1(self):
        self.run_case(self.my_func)
        self.assertEquals(self.a + 1, self.q.get())