Fixed udpsocket to work on offline computer.

Reviewed: Marcelo Lira <marcelo.lira@openbossa.org>
          Luciano Wolf <luciano.wolf@openbossa.org>
This commit is contained in:
Renato Filho 2010-06-17 18:49:12 -03:00
commit 5ce7c94536

View file

@ -14,16 +14,13 @@ class HttpSignalsCase(unittest.TestCase):
def setUp(self): def setUp(self):
#Acquire resources #Acquire resources
self.called = False
self.app = QCoreApplication([]) self.app = QCoreApplication([])
self.socket = QUdpSocket() self.socket = QUdpSocket()
self.socket.bind(45454)
self.server = QUdpSocket() self.server = QUdpSocket()
self.timer = QTimer.singleShot(1000, self.app.quit) self.server.bind(QHostAddress(QHostAddress.LocalHost), 45454)
self.a = QTimer.singleShot(100, self.broadcast)
#self.a = QTimer()
#self.a.setInterval(100)
#QObject.connect(self.a, SIGNAL('timeout()'), self.broadcast)
#self.a.start()
def tearDown(self): def tearDown(self):
#Release resources #Release resources
@ -31,21 +28,21 @@ class HttpSignalsCase(unittest.TestCase):
del self.server del self.server
del self.app del self.app
def broadcast(self): def sendPackage(self):
addr = QHostAddress(QHostAddress.Broadcast) addr = QHostAddress(QHostAddress.LocalHost)
self.server.writeDatagram('datagram', addr, 45454) self.socket.writeDatagram('datagram', addr, 45454)
def callback(self): def callback(self):
while self.socket.hasPendingDatagrams(): while self.server.hasPendingDatagrams():
datagram, host, port = self.socket.readDatagram( datagram, host, port = self.server.readDatagram(self.server.pendingDatagramSize())
self.socket.pendingDatagramSize())
self.called = True self.called = True
self.app.quit() self.app.quit()
def testDefaultArgs(self): def testDefaultArgs(self):
#QUdpSocket.readDatagram pythonic return #QUdpSocket.readDatagram pythonic return
# @bug 124 # @bug 124
QObject.connect(self.socket, SIGNAL('readyRead()'), self.callback) QObject.connect(self.server, SIGNAL('readyRead()'), self.callback)
self.sendPackage()
self.app.exec_() self.app.exec_()
self.assert_(self.called) self.assert_(self.called)