diff options
Diffstat (limited to 'simpleperf/scripts/test/cpp_app_test.py')
-rw-r--r-- | simpleperf/scripts/test/cpp_app_test.py | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/simpleperf/scripts/test/cpp_app_test.py b/simpleperf/scripts/test/cpp_app_test.py deleted file mode 100644 index 8565cb3a..00000000 --- a/simpleperf/scripts/test/cpp_app_test.py +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2021 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. - -import os - -from simpleperf_utils import remove -from . app_test import TestExampleBase -from . test_utils import INFERNO_SCRIPT, TestHelper - - -class TestExampleWithNative(TestExampleBase): - @classmethod - def setUpClass(cls): - cls.prepare("SimpleperfExampleWithNative", - "com.example.simpleperf.simpleperfexamplewithnative", - ".MainActivity") - - def test_app_profiler(self): - self.common_test_app_profiler() - - def test_app_profiler_profile_from_launch(self): - self.run_app_profiler(start_activity=True, build_binary_cache=False) - self.run_cmd(["report.py", "-g", "-o", "report.txt"]) - self.check_strings_in_file("report.txt", ["BusyLoopThread", "__start_thread"]) - - def test_report(self): - self.common_test_report() - self.run_cmd(["report.py", "-g", "-o", "report.txt"]) - self.check_strings_in_file("report.txt", ["BusyLoopThread", "__start_thread"]) - - def test_annotate(self): - self.common_test_annotate() - self.check_file_under_dir("annotated_files", "native-lib.cpp") - summary_file = os.path.join("annotated_files", "summary") - self.check_annotation_summary(summary_file, [ - ("native-lib.cpp", 20, 0), - ("BusyLoopThread", 20, 0), - ("line 46", 20, 0)]) - - def test_report_sample(self): - self.common_test_report_sample( - ["BusyLoopThread", - "__start_thread"]) - - def test_pprof_proto_generator(self): - check_strings_with_lines = [ - "native-lib.cpp", - "BusyLoopThread", - # Check if dso name in perf.data is replaced by binary path in binary_cache. - 'filename: binary_cache'] - self.common_test_pprof_proto_generator( - check_strings_with_lines, - check_strings_without_lines=["BusyLoopThread"]) - - def test_inferno(self): - self.common_test_inferno() - self.run_app_profiler() - self.run_cmd([INFERNO_SCRIPT, "-sc"]) - self.check_inferno_report_html([('BusyLoopThread', 20)]) - - def test_report_html(self): - self.common_test_report_html() - self.run_cmd(['report_html.py', '--add_source_code', '--source_dirs', 'testdata', - '--add_disassembly', '--binary_filter', "libnative-lib.so"]) - - -class TestExampleWithNativeRoot(TestExampleBase): - @classmethod - def setUpClass(cls): - cls.prepare("SimpleperfExampleWithNative", - "com.example.simpleperf.simpleperfexamplewithnative", - ".MainActivity", - adb_root=True) - - def test_app_profiler(self): - self.common_test_app_profiler() - - -class TestExampleWithNativeTraceOffCpu(TestExampleBase): - @classmethod - def setUpClass(cls): - cls.prepare("SimpleperfExampleWithNative", - "com.example.simpleperf.simpleperfexamplewithnative", - ".SleepActivity") - - def test_smoke(self): - self.run_app_profiler(record_arg="-g -f 1000 --duration 10 -e cpu-cycles:u --trace-offcpu") - self.run_cmd(["report.py", "-g", "--comms", "SleepThread", "-o", "report.txt"]) - self.check_strings_in_file("report.txt", [ - "SleepThread(void*)", - "RunFunction()", - "SleepFunction(unsigned long long)"]) - remove("annotated_files") - self.run_cmd(["annotate.py", "-s", self.example_path, "--comm", "SleepThread"]) - self.check_exist(dirname="annotated_files") - self.check_file_under_dir("annotated_files", "native-lib.cpp") - summary_file = os.path.join("annotated_files", "summary") - self.check_annotation_summary(summary_file, [ - ("native-lib.cpp", 80, 20), - ("SleepThread", 80, 0), - ("RunFunction", 20, 20), - ("SleepFunction", 20, 0), - ("line 73", 20, 0), - ("line 83", 20, 0)]) - self.run_cmd([INFERNO_SCRIPT, "-sc"]) - self.check_inferno_report_html([('SleepThread', 80), - ('RunFunction', 20), - ('SleepFunction', 20)]) - - -class TestExampleWithNativeJniCall(TestExampleBase): - @classmethod - def setUpClass(cls): - cls.prepare("SimpleperfExampleWithNative", - "com.example.simpleperf.simpleperfexamplewithnative", - ".MixActivity") - - def test_smoke(self): - self.run_app_profiler() - self.run_cmd(["report.py", "-g", "--comms", "BusyThread", "-o", "report.txt"]) - self.check_strings_in_file("report.txt", [ - "com.example.simpleperf.simpleperfexamplewithnative.MixActivity$1.run", - "Java_com_example_simpleperf_simpleperfexamplewithnative_MixActivity_callFunction"]) - remove("annotated_files") - self.run_cmd(["annotate.py", "-s", self.example_path, "--comm", "BusyThread"]) - self.check_exist(dirname="annotated_files") - self.check_file_under_dir("annotated_files", "native-lib.cpp") - summary_file = os.path.join("annotated_files", "summary") - self.check_annotation_summary(summary_file, [("native-lib.cpp", 5, 0), ("line 40", 5, 0)]) - if self.use_compiled_java_code: - self.check_file_under_dir("annotated_files", "MixActivity.java") - self.check_annotation_summary(summary_file, [ - ("MixActivity.java", 80, 0), - ("run", 80, 0), - ("line 26", 20, 0), - ("native-lib.cpp", 5, 0), - ("line 40", 5, 0)]) - - self.run_cmd([INFERNO_SCRIPT, "-sc"]) - - -class TestExampleWithNativeForce32Bit(TestExampleWithNative): - @classmethod - def setUpClass(cls): - cls.prepare("SimpleperfExampleWithNative", - "com.example.simpleperf.simpleperfexamplewithnative", - ".MainActivity", - abi=TestHelper.get_32bit_abi()) - - -class TestExampleWithNativeRootForce32Bit(TestExampleWithNativeRoot): - @classmethod - def setUpClass(cls): - cls.prepare("SimpleperfExampleWithNative", - "com.example.simpleperf.simpleperfexamplewithnative", - ".MainActivity", - abi=TestHelper.get_32bit_abi(), - adb_root=False) - - -class TestExampleWithNativeTraceOffCpuForce32Bit(TestExampleWithNativeTraceOffCpu): - @classmethod - def setUpClass(cls): - cls.prepare("SimpleperfExampleWithNative", - "com.example.simpleperf.simpleperfexamplewithnative", - ".SleepActivity", - abi=TestHelper.get_32bit_abi()) |