3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-10-31 17:19:22 +01:00
iwd/autotests/testAdHoc/adhoc_test.py

66 lines
1.8 KiB
Python
Raw Normal View History

2018-07-17 23:16:06 +02:00
#!/usr/bin/python3
import unittest
import sys
sys.path.append('../util')
from iwd import IWD
from iwd import AdHocDevice
from config import ctx
2018-07-17 23:16:06 +02:00
import testutil
class Test(unittest.TestCase):
def validate_connection(self, wd, client=False):
2018-07-17 23:16:06 +02:00
dev1, dev2 = wd.list_devices(2)
self.assertIsNotNone(dev1)
self.assertIsNotNone(dev2)
adhoc1 = dev1.start_adhoc("AdHocNetwork", "secret123")
2018-07-17 23:16:06 +02:00
condition = 'obj.started == True'
wd.wait_for_object_condition(adhoc1, condition)
if not client:
adhoc2 = dev2.start_adhoc("AdHocNetwork", "secret123")
else:
ctx.start_process(['iwctl', 'device', dev2.name, 'set-property',
'Mode', 'ad-hoc'], check=True)
ctx.start_process(['iwctl', 'ad-hoc', dev2.name, 'start',
'AdHocNetwork', 'secret123'], check=True)
adhoc2 = AdHocDevice(dev2.device_path)
condition = 'obj.started == True'
wd.wait_for_object_condition(adhoc1, condition)
condition = '"%s" in obj.connected_peers' % dev2.address
wd.wait_for_object_condition(adhoc1, condition)
condition = '"%s" in obj.connected_peers' % dev1.address
wd.wait_for_object_condition(adhoc2, condition)
2018-07-17 23:16:06 +02:00
testutil.test_iface_operstate(dev1.name)
testutil.test_iface_operstate(dev2.name)
testutil.test_ifaces_connected(dev1.name, dev2.name)
def test_connection_success(self):
wd = IWD(True)
self.validate_connection(wd)
2018-10-19 20:39:38 +02:00
def test_client_adhoc(self):
wd = IWD(True)
self.validate_connection(wd, client=True)
2018-07-17 23:16:06 +02:00
@classmethod
def setUpClass(cls):
pass
@classmethod
def tearDownClass(cls):
IWD.clear_storage()
if __name__ == '__main__':
unittest.main(exit=True)