1a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross// Use of this source code is governed by a BSD-style license that can be
3a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross// found in the LICENSE file.
4a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross
5a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross'use strict';
6a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross
7a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Crossbase.require('tracing.test_utils');
8a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Crossbase.require('tracing.importer.linux_perf_importer');
9a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross
10a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Crossbase.unittest.testSuite('tracing.importer.linux_perf.memreclaim_parser', function() { // @suppress longLineCheck
11a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross  test('memreclaimImport', function() {
12a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross    var lines = [
13a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross      ' surfaceflinger-1155  ( 1155) [001] ...1 12839.528756: ' +
14a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross	         'mm_vmscan_direct_reclaim_begin: order=0 ' +
15a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross	         'may_writepage=1 ' +
16a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross                 'gfp_flags=GFP_KERNEL|GFP_NOWARN|GFP_ZERO|0x2',
17a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross      ' surfaceflinger-1155  ( 1155) [001] ...1 12839.531950: ' +
18a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross                 'mm_vmscan_direct_reclaim_end: nr_reclaimed=66',
19a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross      ' kswapd0-33    (   33) [001] ...1 12838.491407: mm_vmscan_kswapd_wake: nid=0 order=0',
20a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross      ' kswapd0-33    (   33) [001] ...1 12838.529770: mm_vmscan_kswapd_wake: nid=0 order=2',
21a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross      ' kswapd0-33    (   33) [001] ...1 12840.545737: mm_vmscan_kswapd_sleep: nid=0',
22a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross    ];
23a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross    var m = new tracing.TraceModel(lines.join('\n'), false);
24a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross    assertEquals(0, m.importErrors.length);
25a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross
26a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross    assertEquals(1, m.processes['1155'].threads['1155'].sliceGroup.length);
27a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross    assertEquals(1, m.processes['33'].threads['33'].sliceGroup.length);
28a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross  });
29a4c64913fc7e0930ad3aa40415c5d467e2cc3b8bColin Cross});
30