blob: 94696989f4f67b422b1470d3c5858f0044073b2e [file] [log] [blame]
Jouni Malinencd4e3c32015-10-29 12:39:56 +02001#!/usr/bin/python
2#
3# Sigma Control API DUT (sniffer_get_field_value)
4# Copyright (c) 2014, Qualcomm Atheros, Inc.
5# All Rights Reserved.
6# Licensed under the Clear BSD license. See README for more details.
7
8import sys
9import subprocess
10import tshark
11
12for arg in sys.argv:
13 if arg.startswith("FileName="):
14 filename = arg.split("=", 1)[1]
15 elif arg.startswith("SrcMac="):
16 srcmac = arg.split("=", 1)[1]
17 elif arg.startswith("FrameName="):
18 framename = arg.split("=", 1)[1].lower()
19 elif arg.startswith("FieldName="):
20 fieldname = arg.split("=", 1)[1].lower()
21
22frame_filters = tshark.tshark_framenames()
23if framename not in frame_filters:
24 print "errorCode,Unsupported FrameName"
25 sys.exit()
26
27fields = tshark.tshark_fieldnames()
28if fieldname not in fields:
29 print "errorCode,Unsupported FieldName"
30 sys.exit()
31
32cmd = ['tshark', '-r', filename,
33 '-c', '1',
34 '-R', 'wlan.sa==' + srcmac + " and " + frame_filters[framename],
35 '-Tfields',
36 '-e', fields[fieldname]]
37tshark = subprocess.Popen(cmd, stdout=subprocess.PIPE)
38data = tshark.stdout.read().rstrip()
39result = "SUCCESS" if len(data) > 0 else "FAIL"
40print "CheckResult,%s,ReturnValue,%s" % (result, data)