blob: 6df42d61e4fa90fd4025b3f6a4f2c9038df8f984 [file] [edit]
import time
import lldb
from lldbsuite.test.lldbtest import *
from lldbsuite.test.decorators import *
from lldbsuite.test.gdbclientutils import *
from lldbsuite.test.lldbgdbclient import GDBRemoteTestBase
class TestPacketTestDelay(GDBRemoteTestBase):
NO_DEBUG_INFO_TESTCASE = True
def test_packet_test_delay(self):
"""Verify that packet-test-delay inserts a delay before each sent packet."""
# 1000ms should be long enough that this test doesn't pass by
# accident even on slow machines, but not too long to waste test
# suite time.
DELAY_MS = 1000
class MyResponder(MockGDBServerResponder):
def x(self, addr, length):
return "foobar"
self.server.responder = MyResponder()
target = self.dbg.CreateTargetWithFileAndTargetTriple("", "x86_64-pc-linux")
process = self.connect(target)
error = lldb.SBError()
start = time.time()
self.runCmd(
"settings set plugin.process.gdb-remote.packet-test-delay %d" % DELAY_MS
)
# Send a single dummy packet so we can observe the delay.
process.ReadMemory(0x1000, 10, error)
elapsed_ms = (time.time() - start) * 1000
self.assertGreaterEqual(
elapsed_ms, DELAY_MS, "Packet was sent faster than the set test delay?"
)