Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / importer / etw / eventtrace_parser_test.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2014 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7
8 <link rel="import" href="/tracing/test_utils.html">
9 <link rel="import" href="/tracing/importer/etw_importer.html">
10 <link rel="import" href="/tracing/importer/etw/eventtrace_parser.html">
11
12 <script>
13 'use strict';
14
15 tv.unittest.testSuite(function() { // @suppress longLineCheck
16   // Constants for EventTrace events.
17   var guid = '68FDD900-4A3E-11D1-84F4-0000F80464E3';
18   var kEventTraceHeaderOpcode = 0;
19
20   var kEventTraceHeaderPayload32bitV2 =
21       'AAABAAYBAQWwHQAAEAAAABEs1WHICMwBYWECAGQAAAABAAAAAwAAAAEAAAAEAAAAAAAAA' +
22       'FoJAAAFAAAABgAAACwBAABAAHQAegByAGUAcwAuAGQAbABsACwALQAxADEAMgAAAAAAAA' +
23       'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQACAAAAAAAAAAAAAABAAHQ' +
24       'AegByAGUAcwAuAGQAbABsACwALQAxADEAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
25       'AAAAAAAAAAAAAAADAAAAAgACAAAAAAAAAMT///8AAAAAf0Ob368FzAGdrCMAAAAAACw0o' +
26       '2DICMwBAQAAAAAAAABNAGEAawBlACAAVABlAHMAdAAgAEQAYQB0AGEAIABTAGUAcwBzAG' +
27       'kAbwBuAAAAYwA6AFwAcwByAGMAXABzAGEAdwBiAHUAYwBrAFwAdAByAHUAbgBrAFwAcwB' +
28       'yAGMAXABzAGEAdwBiAHUAYwBrAFwAbABvAGcAXwBsAGkAYgBcAHQAZQBzAHQAXwBkAGEA' +
29       'dABhAFwAaQBtAGEAZwBlAF8AZABhAHQAYQBfADMAMgBfAHYAMAAuAGUAdABsAAAA';
30
31   var kEventTraceHeaderPayload64bitV2 =
32       'AAABAAYBAQWxHQAABAAAADsuzRRYLM8BYWECAAAAAAABAAEAtgEAAAEAAAAIAAAAHwAAA' +
33       'KAGAAAAAAAAAAAAAAAAAAAAAAAALAEAAEAAdAB6AHIAZQBzAC4AZABsAGwALAAtADEAMQ' +
34       'AyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAIAAAAAAAA' +
35       'AAAAAAEAAdAB6AHIAZQBzAC4AZABsAGwALAAtADEAMQAxAAAAAAAAAAAAAAAAAAAAAAAA' +
36       'AAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAIAAAAAAAAAxP///wAAAABZQyWiwCvPAX1GG' +
37       'QAAAAAALWSZBFgszwEBAAAAAAAAAFIAZQBsAG8AZwBnAGUAcgAAAEMAOgBcAGsAZQByAG' +
38       '4AZQBsAC4AZQB0AGwAAAA=';
39
40   test('DecodeFields', function() {
41
42     var importer = new tracing.importer.EtwImporter('dummy', []);
43     var decoder = importer.decoder_;
44     var parser = new tracing.importer.etw.EventTraceParser(importer);
45     var header;
46     var fields;
47
48     // Validate a version 2 32-bit payload.
49     header = {
50       guid: guid, opcode: kEventTraceHeaderOpcode, version: 2, is64: 0
51     };
52     decoder.reset(kEventTraceHeaderPayload32bitV2);
53     fields = parser.decodeFields(header, decoder);
54
55     assertTrue(fields.bufferSize == 65536);
56     assertTrue(fields.version == 83951878);
57     assertTrue(fields.providerVersion == 7600);
58     assertTrue(fields.numberOfProcessors == 16);
59     assertTrue(fields.endTime === '01cc08c861d52c11');
60     assertTrue(fields.timerResolution == 156001);
61     assertTrue(fields.maxFileSize == 100);
62     assertTrue(fields.logFileMode == 1);
63     assertTrue(fields.buffersWritten == 3);
64     assertTrue(fields.startBuffers == 1);
65     assertTrue(fields.pointerSize == 4);
66     assertTrue(fields.eventsLost == 0);
67     assertTrue(fields.cpuSpeed == 2394);
68     assertTrue(fields.loggerName == 5);
69     assertTrue(fields.logFileName == 6);
70     assertTrue(fields.timeZoneInformation.standardName === '@tzres.dll,-112');
71     assertTrue(fields.timeZoneInformation.daylightName === '@tzres.dll,-111');
72     assertTrue(fields.bootTime === '01cc05afdf9b437f');
73     assertTrue(fields.perfFreq === '000000000023ac9d');
74     assertTrue(fields.startTime === '01cc08c860a3342c');
75     assertTrue(fields.reservedFlags == 1);
76     assertTrue(fields.buffersLost == 0);
77     assertTrue(fields.sessionNameString === 'Make Test Data Session');
78     assertTrue(fields.logFileNameString ===
79                'c:\\src\\sawbuck\\trunk\\src\\sawbuck\\log_lib\\' +
80                'test_data\\image_data_32_v0.etl');
81
82     // Validate a version 2 64-bit payload.
83     header = {
84       guid: guid, opcode: kEventTraceHeaderOpcode, version: 2, is64: 1
85     };
86     decoder.reset(kEventTraceHeaderPayload64bitV2);
87     fields = parser.decodeFields(header, decoder);
88
89     assertTrue(fields.bufferSize == 65536);
90     assertTrue(fields.version == 83951878);
91     assertTrue(fields.providerVersion == 7601);
92     assertTrue(fields.numberOfProcessors == 4);
93     assertTrue(fields.endTime === '01cf2c5814cd2e3b');
94     assertTrue(fields.timerResolution == 156001);
95     assertTrue(fields.maxFileSize == 0);
96     assertTrue(fields.logFileMode == 0x10001);
97     assertTrue(fields.buffersWritten == 438);
98     assertTrue(fields.startBuffers == 1);
99     assertTrue(fields.pointerSize == 8);
100     assertTrue(fields.eventsLost == 31);
101     assertTrue(fields.cpuSpeed == 1696);
102     assertTrue(fields.loggerName == 0);
103     assertTrue(fields.logFileName == 0);
104     assertTrue(fields.timeZoneInformation.standardName === '@tzres.dll,-112');
105     assertTrue(fields.timeZoneInformation.daylightName === '@tzres.dll,-111');
106     assertTrue(fields.bootTime === '01cf2bc0a2254359');
107     assertTrue(fields.perfFreq === '000000000019467d');
108     assertTrue(fields.startTime === '01cf2c580499642d');
109     assertTrue(fields.reservedFlags == 1);
110     assertTrue(fields.buffersLost == 0);
111     assertTrue(fields.sessionNameString === 'Relogger');
112     assertTrue(fields.logFileNameString === 'C:\\kernel.etl');
113   });
114 });
115 </script>
116