mirror of
https://github.com/espressif/openthread.git
synced 2026-08-06 18:57:47 +00:00
[csl] test resync after parent is down for a long period (#7915)
Add test steps to verify that a CSL Receiver is able to re-establish CSL synchronization after its peer has been absent for a long period.
This commit is contained in:
committed by
Jonathan Hui
parent
7b60716713
commit
424005f695
@@ -125,6 +125,23 @@ class SSED_CslTransmission(thread_cert.TestCase):
|
||||
ssed_messages = self.simulator.get_messages_sent_by(SSED_1)
|
||||
self.assertIsNotNone(ssed_messages.next_data_poll())
|
||||
|
||||
# Check if SSED is able to resynchronize with the parent after it is gone longer than the timeout
|
||||
self.nodes[LEADER].start()
|
||||
self.simulator.go(config.LEADER_STARTUP_DELAY)
|
||||
self.nodes[SSED_1].set_csl_timeout(8)
|
||||
self.nodes[SSED_1].set_timeout(10)
|
||||
self.simulator.go(2)
|
||||
self.nodes[LEADER].stop()
|
||||
self.simulator.go(25)
|
||||
self.flush_all()
|
||||
self.nodes[LEADER].start()
|
||||
self.simulator.go(config.LEADER_STARTUP_DELAY)
|
||||
self.assertEqual(self.nodes[LEADER].get_state(), 'leader')
|
||||
self.simulator.go(5)
|
||||
self.assertEqual(self.nodes[SSED_1].get_state(), 'child')
|
||||
ssed_messages = self.simulator.get_messages_sent_by(SSED_1)
|
||||
self.assertIsNotNone(ssed_messages.next_mle_message(mle.CommandType.CHILD_UPDATE_REQUEST))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user