blob: 54c17238f8e0d77c583e36b454f0a59c3fb440a0 [file] [log] [blame]
"""Tests for report."""
import os
import report
from wvtest import * # pylint: disable=wildcard-import
@wvtest
def LoadExternalData():
print
report.LoadNRates()
WVPASS(report.nrates)
idx = (0, 20, 800)
print 'Testing MCS rate in file', idx
WVPASSEQ(report.nrates[idx], 6.5 )
idx = (25, 40, 400)
print 'Testing computed MCS rate', idx
WVPASSEQ(report.nrates[idx], 120 )
print
report.LoadChannels()
WVPASS(report.channels)
ch = 5
print 'Testing 2.4GHz channel', ch
WVPASSEQ(report.channels[ch], 2432)
ch = 149
print 'Testing 5GHz channel', ch
WVPASSEQ(report.channels[ch], 5745)
@wvtest
def TVBoxReport():
rpt = 'testdata/wifi-1424739295.41-0010'
print 'Checking IP address'
with open(os.path.join(rpt, 'ipaddr')) as ip:
addrmap = report.ParseIpAddr(ip.read())
WVPASSEQ(addrmap.get('lo'), '127.0.0.1/32')
WVPASSEQ(addrmap.get('wcli0'), '192.168.1.222/24')
print 'Checking for link information'
with open(os.path.join(rpt, 'iwlink')) as iw:
data = report.ParseIwLink(iw.read())
WVPASSEQ(data.get('SSID'), 'GSAFNS1441P0208_TestWifi')
WVPASSEQ(data.get('BSSID'), 'f4:f5:e8:80:f3:d0')
line = report.ReportLine(rpt)
print ('Checking report. Implemented measures: steps, channel, width, rssi, '
'TCP performance, UDP performance')
print line
(steps, ch, width, rssi, _, _, _, _, _,
tcperf, tcpbw, udperf, udpbw) = line
WVPASSEQ(steps, 10)
WVPASSEQ(ch, 5745)
WVPASSEQ(width, 80)
WVPASSEQ(rssi, -39)
WVPASSEQ(tcperf, 92.1)
WVPASSEQ(tcpbw, 'Mbits/sec')
WVPASSEQ(udperf, 91.2)
WVPASSEQ(udpbw, 'Mbits/sec')
@wvtest
def MacbookReport():
rpt = 'testdata/wifi-1424744066.47-0010'
line = report.ReportLine(rpt)
print ('Checking report. Implemented measures: steps, channel, width, rssi, '
'noise, devices on channel, off channel, MCS, PHY rate, '
'TCP performance, UDP performance.')
print line
(steps, ch, width, rssi, noise, shared, conflict,
mcs, phy, tcperf, tcpbw, udperf, udpbw) = line
WVPASSEQ(steps, 10)
WVPASSEQ(ch, 5755)
WVPASSEQ(width, 40)
WVPASSEQ(rssi, -29)
WVPASSEQ(noise, -90)
WVPASSEQ(shared, 17)
WVPASSEQ(conflict, 10)
WVPASSEQ(mcs, 21)
WVPASS(abs(phy - 340.9) < 0.1)
WVPASSEQ(tcperf, 196.0)
WVPASSEQ(tcpbw, 'Mbits/sec')
WVPASSEQ(udperf, 260.0)
WVPASSEQ(udpbw, 'Mbits/sec')