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