# Copyright 2020 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import logging from autotest_lib.client.bin import test from autotest_lib.client.common_lib import error from autotest_lib.client.common_lib.cros.network import interface from autotest_lib.client.cros.networking import shill_proxy class network_WlanPresent(test.test): """ Fail unless at least WiFi device is present or shill is uninitialized. """ version = 1 def run_once(self): """Test main loop.""" proxy = shill_proxy.ShillProxy() uninit = proxy.get_proxy().get_dbus_property( proxy.manager, proxy.MANAGER_PROPERTY_UNINITIALIZED_TECHNOLOGIES) if "wifi" in uninit: raise error.TestNAError('shill disables wireless support') wlan_ifs = [nic for nic in interface.get_interfaces() if nic.is_wifi_device()] if not wlan_ifs: raise error.TestFail('Found no recognized wireless device') wlan_names = [w.name for w in wlan_ifs] logging.info('WiFi device found: %s', ', '.join(wlan_names))