123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- import remotehost
- from wpasupplicant import WpaSupplicant
- import hostapd
- import config
- import rutils
- import monitor
- import logging
- logger = logging.getLogger()
- def test_example(devices, setup_params, refs, duts, monitors):
- """TC example - simple connect and ping test"""
- try:
- sta = None
- ap = None
- hapd = None
- wpas = None
- mon = None
-
- sta = rutils.get_host(devices, duts[0])
- ap = rutils.get_host(devices, refs[0])
-
- local_log_dir = setup_params['local_log_dir']
-
- rutils.setup_hw([sta, ap], setup_params)
-
- rutils.trace_start([sta], setup_params)
-
- rutils.perf_start([sta], setup_params)
-
- rutils.run_wpasupplicant(sta, setup_params)
- rutils.run_hostapd(ap, setup_params)
-
- ap_params = rutils.get_ap_params(channel="1", bw="HT20", country="US",
- security="open")
-
- monitor_hosts = monitor.create(devices, setup_params, refs, duts,
- monitors)
- if len(monitor_hosts) > 0:
- mon = monitor_hosts[0]
- monitor.add(sta, monitors)
- monitor.add(ap, monitors)
-
- hapd = hostapd.add_ap(ap.dev, ap_params)
- freq = hapd.get_status_field("freq")
- wpas = WpaSupplicant(hostname = sta.host, global_iface="udp",
- global_port = sta.port)
- wpas.interface_add(sta.ifname)
-
-
- monitor_param = monitor.get_monitor_params(hapd)
- monitor.setup(mon, [monitor_param])
-
- monitor.run(sta, setup_params)
- monitor.run(ap, setup_params)
- monitor.run(mon, setup_params)
-
- wpas.connect(ap_params['ssid'], key_mgmt="NONE", scan_freq=freq)
-
- ap_sta, sta_ap = rutils.check_connectivity(ap, sta, "ipv6")
-
- monitor.remove(sta)
- monitor.remove(ap)
- monitor.destroy(devices, monitor_hosts)
-
- wpas.interface_remove(sta.ifname)
- wpas.terminate()
- hapd.close_ctrl()
- hostapd.remove_bss(ap.dev)
- hostapd.terminate(ap.dev)
-
- rutils.perf_stop([sta], setup_params)
-
- rutils.trace_stop([sta], setup_params)
-
- sta.get_logs(local_log_dir)
- ap.get_logs(local_log_dir)
- if mon:
- mon.get_logs(local_log_dir)
- return "packet_loss: " + ap_sta + ", " + sta_ap
- except:
- rutils.perf_stop([sta], setup_params)
- rutils.trace_stop([sta], setup_params)
- if wpas:
- try:
- wpas.interface_remove(sta.ifname)
- wpas.terminate()
- except:
- pass
- if hapd:
- try:
- hapd.close_ctrl()
- hostapd.remove_bss(ap.dev)
- hostapd.terminate(ap.dev)
- except:
- pass
- if mon:
- monitor.destroy(devices, monitor_hosts)
- mon.get_logs(local_log_dir)
- if sta:
- monitor.remove(sta)
- dmesg = setup_params['log_dir'] + setup_params['tc_name'] + "_" + sta.name + "_" + sta.ifname + ".dmesg"
- sta.execute(["dmesg", "-c", ">", dmesg])
- sta.add_log(dmesg)
- sta.get_logs(local_log_dir)
- sta.execute(["ifconfig", sta.ifname, "down"])
- if ap:
- monitor.remove(ap)
- dmesg = setup_params['log_dir'] + setup_params['tc_name'] + "_" + ap.name + "_" + ap.ifname + ".dmesg"
- ap.execute(["dmesg", "-c", ">", dmesg])
- ap.add_log(dmesg)
- ap.get_logs(local_log_dir)
- ap.execute(["ifconfig", ap.ifname, " down"])
- raise
|