History log of /external/autotest/server/cros/chaos_lib/chaos_capture_analyzer.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
13920f5df8ba111f471ab44995130049a63c7872 04-Jun-2015 Paul Stewart <pstew@chromium.org> chaos_analyzer: Display ACKs in packet summary

Use the ACK packet numbers discovered in the analyzer to
augment which packets are displayed when showing packet
summaries. This allows viewing the details of the
protocol exchange consistent with the knowledge gained
by the analyzer.

BUG=None
TEST=Successful packet captures show both authentication
request ACKs and authentication response ACKs.

Change-Id: I2ebdf2650decfa909c8e37a408f935883c7fa1fc
Reviewed-on: https://chromium-review.googlesource.com/277052
Reviewed-by: Roshan Pius <rpius@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
/external/autotest/server/cros/chaos_lib/chaos_capture_analyzer.py
375d6d1e31f3a933dce1cfc24746b97953ddc946 04-Jun-2015 Paul Stewart <pstew@chromium.org> chaos_analyzer: Rework ACK validation

Fix a couple issues with ACK validation:

- The attempt to copy "packet_iterator" was incorrect.
- Only ACKs to DUT frames were checked.

The first issue is due to the fact that a trivial copy of
an iterator object yields a second reference to the same
iterator. Thus, calling "copy_iterator.next()" also
advances packet_iterator. This causes issues in captures
where the next packet in packet_iterator is not an ACK but
is a different packet that the state machine is looking for.

The second issue is due to the fact that the packet filter
did not admit ACKs directed at the AP. These frames are
worth validating since it indicates whether the DUT heard the
associated packet.

In order to fix both issues, this CL reworks the ACK check
by going back to the packet capture file and retrieving the
very next frame in the packet capture and checking if it is
an ACK back to the transmitter of the current frame. Doing
it this way avoids having to expand the packet capture
filter to admit extra traffic from the AP, but allows
individual packets outside of the filter to be validated.
Doing so also prevents the packet_iterator from being modified
during the test, nor does it incur the cost of a deep-copy
like itertools.tee().

BUG=chrome-os-partner:38849
TEST=Attempt 5 in chrome-os-partner:38849 yields
Found state: WLAN AUTH REQUEST, Packet number: 79, Data rate: 6Mbps.
WARNING! Missing ACK for state: WLAN AUTH REQUEST.
Found state: WLAN AUTH RESPONSE, Packet number: 80, Data rate: 6Mbps.
Note that packet 80 is successfully decoded although it was also
evaluated to test whether it was an ACK to packet 79.

Change-Id: Ice8ab352335529e4ac919a2c97cfe2ad232a6fad
Reviewed-on: https://chromium-review.googlesource.com/275360
Reviewed-by: Roshan Pius <rpius@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
/external/autotest/server/cros/chaos_lib/chaos_capture_analyzer.py
b53d07a75e51114aba66a25acc76ef43c5be308a 04-Jun-2015 Paul Stewart <pstew@chromium.org> chaos_analyzer: Add error details and packet warnings

Report the reason code and sender for deauthentication and
disassociation events. This is accomplished by adding a
"details" field to the ErrorStateInfo tuple which reports
which fields of the packet might be interesting to include
in error messages.

Add more specific filters to the authentication response and
association response states so that only successful responses
are matched.

Add a list of packets for which warnings should be generated.
This uses the ErrorStateInfo named tuple, but does not terminate
the state machine. Also it only matches packets that do not
occur naturally either in the history or future of the state
machine. This makes it convenient to match the non-successful
versions of the authentication and association response frames.

BUG=chrome-os-partner:40901
TEST=Attempt 8 in chrome-os-partner:40901
WARNING! WLAN ASSOC REJECTED found, Packet number: 168, Status Code: 0x000c"
TEST=Attempt 3 in chrome-os-partner:40896
State Machine encountered error due to WLAN DEAUTH REQUEST, Packet number: 14, Sender: 24:f5:aa:9a:be:29, Reason Code: 0x0007"

Change-Id: Ie5bb93cd00b67cd2a9dc05ccb3afbb3ba725d726
Reviewed-on: https://chromium-review.googlesource.com/275315
Reviewed-by: Roshan Pius <rpius@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
/external/autotest/server/cros/chaos_lib/chaos_capture_analyzer.py
0ddc7a8015bffd7cbfedc3e9c5d1eb47c6353003 03-Jun-2015 Roshan Pius <rpius@google.com> chaos_analyzer: Fix the key messages packet matching.

1. Changes to correctly detect the key message 1-4 packets in case the key
descriptor version is different.
2. Couple of output string formatting changes.

BUG=chrome-os-partner:40900
TEST=Manually ran the script.

Change-Id: Id1ae157213380b7465e3e6c74f2baa08c496aff3
Reviewed-on: https://chromium-review.googlesource.com/275013
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Roshan Pius <rpius@chromium.org>
Tested-by: Roshan Pius <rpius@chromium.org>
/external/autotest/server/cros/chaos_lib/chaos_capture_analyzer.py
529b03b35e44a331e77a2aa1a18274404a459494 10-Apr-2015 Roshan Pius <rpius@chromium.org> chaos: Add an analyzer to be run on the Chaos logs.

Writing a new log analyzer to parse the Chaos logs and produce
consolidated outputs for each attempt in the test.

BUG=chromium:475710
TEST=Manually ran the script on Chaos log ouptut

Change-Id: Ia8c9de1a2082efc6dec733f1d428c5e48a903e05
Reviewed-on: https://chromium-review.googlesource.com/265067
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Roshan Pius <rpius@chromium.org>
Commit-Queue: Roshan Pius <rpius@chromium.org>
/external/autotest/server/cros/chaos_lib/chaos_capture_analyzer.py