Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e2f0cc5 authored by Yan Wang's avatar Yan Wang Committed by Android (Google) Code Review
Browse files

Merge "startop: Add test for compiler.py."

parents 6df1984b 9104e055
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -266,4 +266,6 @@ def main(argv):

  return 0

if __name__ == '__main__':
  print(sys.argv)
  sys.exit(main(sys.argv))
+64 −0
Original line number Diff line number Diff line
#!/usr/bin/env python3
#
# Copyright 2019, The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

"""
Unit tests for the compiler.py script.

Install:
  $> sudo apt-get install python3-pytest   ##  OR
  $> pip install -U pytest
See also https://docs.pytest.org/en/latest/getting-started.html

Usage:
  $> pytest compiler_test.py

See also https://docs.pytest.org/en/latest/usage.html
"""
import os

import compiler

DIR = os.path.abspath(os.path.dirname(__file__))
TEXTCACHE = os.path.join(DIR, 'test_fixtures/compiler/common_textcache')
SYSTRACE = os.path.join(DIR, 'test_fixtures/compiler/common_systrace')
ARGV = [os.path.join(DIR, 'compiler.py'), '-i', TEXTCACHE, '-t', SYSTRACE]

def assert_compile_result(output, expected, *extra_argv):
  argv = ARGV + ['-o', output] + [args for args in extra_argv]

  compiler.main(argv)

  with open(output, 'rb') as f1, open(expected, 'rb') as f2:
    assert f1.read() == f2.read()

def test_compiler_main(tmpdir):
  output = tmpdir.mkdir('compiler').join('output')

  # No duration
  expected = os.path.join(DIR,
                          'test_fixtures/compiler/test_result_without_duration.TraceFile.pb')
  assert_compile_result(output, expected)

  # 10ms duration
  expected = os.path.join(DIR,
                          'test_fixtures/compiler/test_result_with_duration.TraceFile.pb')
  assert_compile_result(output, expected, '--duration', '10')

  # 30ms duration
  expected = os.path.join(DIR,
                          'test_fixtures/compiler/test_result_without_duration.TraceFile.pb')
  assert_compile_result(output, expected, '--duration', '30')
+5 −0
Original line number Diff line number Diff line
<...>-2965  (-----) [001] .... 10000.746629: mm_filemap_add_to_page_cache: dev 253:6 ino 1 page=00000000679ee1ec pfn=1299913 ofs=192512
<...>-2965  (-----) [001] .... 10010.746664: mm_filemap_add_to_page_cache: dev 253:6 ino 2 page=0000000006cd2fb7 pfn=1296251 ofs=196608
<...>-2965  (-----) [001] .... 10020.746677: mm_filemap_add_to_page_cache: dev 253:6 ino 3 page=00000000af82f3d6 pfn=1419330 ofs=200704
<...>-2965  (-----) [001] .... 10030.746693: mm_filemap_add_to_page_cache: dev 253:6 ino 4 page=000000002840f054 pfn=1304928 ofs=204800
<...>-2965  (-----) [001] .... 10040.746706: mm_filemap_add_to_page_cache: dev 253:6 ino 5 page=000000004a59da17 pfn=1288069 ofs=208896
+2 −0
Original line number Diff line number Diff line
64774 1 -1 /system/test1
64774 3 -1 /data/test2
Loading