Python coredumping при использовании мультипроцессинга. Процесс

Я использую squish для тестирования приложения qt. Проблема в том, что squish не поддерживает потоки:

http://kb.froglogic.com/display/KB/Article+-+Using+Threads+in+Python

Однако мне нужно использовать потоки, поскольку мне нужно периодически обмениваться данными с тестируемым приложением через tcp.

У меня есть скрипт, который делает следующее в своем основном потоке:

squishtest.waitForObject(":My_Button")
squishtest.waitForObject(":My_Button")

Эти команды закроют два диалоговых окна, которые появляются, когда я запускаю приложение. Хотя каждая команда squish выполняется, я действительно заметил, что все мои потоки tcp (threading.Thread) блокируются до тех пор, пока не вернется команда squish. Я не могу протестировать тестируемое приложение, если потоки заблокированы таким образом. Поэтому я решил, что могу использовать многопроцессорный модуль для решения этой проблемы, поэтому я попытался:

p = Process(target = squishtest.waitForObject, args = (":My_Button",))
p.start()
p.join()

Это работает нормально, однако, когда я попытался:

p = Process(target = squishtest.waitForObject, args = (":My_Button",))
p.start()
p.join()

p = Process(target = squishtest.waitForObject, args = (":My_Button",))
p.start()
p.join()

Я вижу следующий текст, выводимый в командной строке, где я выполняю python:

RemoteInspector(0x0x8702b28)::type: Invalid class id 493 for appid 156850424

Что это значит?

Затем я попытался ради этого:

p = Process(target = squishtest.waitForObject, args = (":My_Button",))
p.start()
p.join()

squishtest.waitForObject(":My_Button")

и на этот раз я также получаю coredump от python:

RemoteInspector(0x0x81b5ac8)::type: Invalid class id 493 for appid 156850440
Aborted (core dumped)

В чем проблема может быть здесь? Является ли мой подход к решению вопроса о том, что сквош блокирует мои нити, разумным? Можете ли вы предложить другой подход?

Я использую Python 2.6.

0 ответов

Другие вопросы по тегам