blob: 56b355116a8374ec307e1de93cd6b5df552d68a2 [file] [log] [blame]
'''Module that contains the test TestMultipleRSFiles.'''
from __future__ import absolute_import
from harness.test_base_remote import TestBaseRemote
from harness.decorators import (
ordered_test,
cpp_only_test,
)
class TestMultipleRSFiles(TestBaseRemote):
'''Tests some commands on an apk which has two rs files.'''
bundle_target = {
'java': 'MultipleRSFiles',
'jni': 'JNIMultipleRSFiles',
'cpp': 'CppMultipleRSFiles'
}
def _binary_name(self):
return {
'java': 'multiplersfiles',
'jni': 'multiplersfiles',
'cpp': 'CppMultipleRSFi'
}[self.app_type]
def _pkg_name(self):
return {
'java': 'com.android.rs.multiplersfiles',
'jni': 'com.android.rs.jnimultiplersfiles',
'cpp': 'com.android.rs.cppmultiplersfiles'
}[self.app_type]
def test_multiple_rs_files(self):
self.try_command('language renderscript status',
['Runtime Library discovered',
'Runtime Driver discovered',
'Runtime functions hooked'])
self.try_command('breakpoint set --file first.rs --line 12',
['(pending)'])
self.try_command('process continue',
['stopped',
'librs.first.so`first_kernel',
'at first.rs:12',
"name = '%s'" % self._binary_name(),
'stop reason = breakpoint 1'])
self.try_command('language renderscript kernel list',
['RenderScript Kernels',
"Resource 'first'",
"Resource 'second'",
'root',
'first_kernel',
'second_kernel'])
self.try_command('language renderscript context dump',
['Inferred RenderScript Contexts',
'2 script instances'])
self.try_command('language renderscript module dump',
['RenderScript Modules:',
'librs.first.so',
'librs.second.so',
'Debug info loaded',
'Globals: 1',
'gColor - float4',
'Kernels: 2',
'root',
'first_kernel',
'second_kernel',
'java_package_name: %s' % self._pkg_name(),
'version:'])
@ordered_test('last')
@cpp_only_test()
def test_cpp_cleanup(self):
self.try_command('breakpoint delete 1', ['1 breakpoints deleted'])
self.try_command('process continue', ['exited with status = 0'])