startop: Add test for compiler.py.
Test: pytest compiler_test.py Bug: 137398235 Change-Id: I036ed1fee1451176ef854a9a00c460eb0685bafe
This commit is contained in:
@@ -266,4 +266,6 @@ def main(argv):
|
||||
|
||||
return 0
|
||||
|
||||
sys.exit(main(sys.argv))
|
||||
if __name__ == '__main__':
|
||||
print(sys.argv)
|
||||
sys.exit(main(sys.argv))
|
||||
|
||||
64
startop/scripts/iorap/compiler_test.py
Normal file
64
startop/scripts/iorap/compiler_test.py
Normal file
@@ -0,0 +1,64 @@
|
||||
#!/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')
|
||||
@@ -0,0 +1,5 @@
|
||||
<...>-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
|
||||
@@ -0,0 +1,2 @@
|
||||
64774 1 -1 /system/test1
|
||||
64774 3 -1 /data/test2
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user