# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2

EAPI="4"
CROS_WORKON_COMMIT="776277f05c512cf1ff0033b55e58d4629e277cd5"
CROS_WORKON_TREE="45230f81767e1e2835752c13a07d5ebd03df8a04"
CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
CROS_WORKON_LOCALNAME="third_party/autotest/files"

inherit cros-workon autotest

DESCRIPTION="Autotest server tests for shill"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="*"

# Enable autotest by default.
IUSE="-chromeless_tests +autotest -chromeless_tty"

SERVER_IUSE_TESTS="
	+tests_network_WiFi_APSupportedRates
	+tests_network_WiFi_AssocConfigPerformance
	+tests_network_WiFi_AttenuatedPerf
	+tests_network_WiFi_BeaconInterval
	+tests_network_WiFi_BgscanBackoff
	+tests_network_WiFi_BluetoothScanPerf
	+tests_network_WiFi_BluetoothStreamPerf
	+tests_network_WiFi_BSSTMReq
	+tests_network_WiFi_BT_AntennaCoex
	+tests_network_WiFi_ChannelHop
	+tests_network_WiFi_ChannelScanDwellTime
	+tests_network_WiFi_ChaosConfigFailure
	+tests_network_WiFi_ChaosConnectDisconnect
	+tests_network_WiFi_ChaosLongConnect
	!chromeless_tty (
		!chromeless_tests (
			+tests_cellular_ChromeEndToEnd
			+tests_network_WiFi_ChromeEndToEnd
			+tests_network_WiFi_RoamEndToEnd
			+tests_network_WiFi_RoamSuspendEndToEnd
		)
	)
	+tests_network_WiFi_CSA
	+tests_network_WiFi_DarkResumeActiveScans
	+tests_network_WiFi_DisableEnable
	+tests_network_WiFi_DisableRandomMACAddress
	+tests_network_WiFi_DisconnectReason
	+tests_network_WiFi_DTIMPeriod
	+tests_network_WiFi_FastReconnectInDarkResume
	+tests_network_WiFi_GTK
	+tests_network_WiFi_HiddenRemains
	+tests_network_WiFi_HiddenScan
	+tests_network_WiFi_LinkMonitorFailure
	+tests_network_WiFi_MalformedProbeResp
	+tests_network_WiFi_MultiAuth
	+tests_network_WiFi_OverlappingBSSScan
	+tests_network_WiFi_Perf
	+tests_network_WiFi_PMKSACaching
	+tests_network_WiFi_Prefer5Ghz
	+tests_network_WiFi_ProfileBasic
	+tests_network_WiFi_ProfileGUID
	+tests_network_WiFi_PTK
	+tests_network_WiFi_RandomMACAddress
	+tests_network_WiFi_Reassociate
	+tests_network_WiFi_ReconnectInDarkResume
	+tests_network_WiFi_Reset
	+tests_network_WiFi_Roam
	+tests_network_WiFi_RoamDbus
	+tests_network_WiFi_RoamFT
	+tests_network_WiFi_RoamSuspendTimeout
	+tests_network_WiFi_SecChange
	+tests_network_WiFi_SetOptionalDhcpProperties
	+tests_network_WiFi_SimpleConnect
	+tests_network_WiFi_SSIDSwitchBack
	+tests_network_WiFi_SuspendStress
	+tests_network_WiFi_StressTest
	+tests_network_WiFi_Throttle
	+tests_network_WiFi_UpdateRouter
	+tests_network_WiFi_VerifyRouter
	+tests_network_WiFi_VisibleScan
	+tests_network_WiFi_WakeOnDisconnect
	+tests_network_WiFi_WakeOnSSID
	+tests_network_WiFi_WakeOnWiFiThrottling
	+tests_network_WiFi_WoWLAN
	+tests_network_WiFi_WMM
"

IUSE_TESTS="${IUSE_TESTS}
	${SERVER_IUSE_TESTS}
"

IUSE="${IUSE} ${IUSE_TESTS}"

AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
