cts

Android CTS中neverallow规则生成过程

妖精的绣舞 提交于 2019-12-29 20:31:19
CTS里面SELinux相关测试中neverallow测试项占绝大多数,Android系统开发者都应该知道,在修改sepolicy时,需要确保不能违反这些neverallow规则,不然会过不了CTS。CTS中nerverallow测试都是在SELinuxNeverallowRulesTest.java文件中,并且从AOSP代码中发现该文件不是人工提交的,而是通过python脚本生成的,为了以后更好的修改sepolicy,就需要了解下SELinuxNeverallowRulesTest.java是如何生成的。 Makefile 首先看下SELinuxNeverallowRulesTest.java的生成的 Makefile . selinux_general_policy := $(call intermediates-dir-for,ETC,general_sepolicy.conf)/general_sepolicy.conf selinux_neverallow_gen := cts/tools/selinux/SELinuxNeverallowTestGen.py selinux_neverallow_gen_data := cts/tools/selinux/SELinuxNeverallowTestFrame.py LOCAL_ADDITIONAL

Use cases for boxing a value type in C#?

拥有回忆 提交于 2019-12-20 12:34:28
问题 There are cases when an instance of a value type needs to be treated as an instance of a reference type. For situations like this, a value type instance can be converted into a reference type instance through a process called boxing. When a value type instance is boxed, storage is allocated on the heap and the instance's value is copied into that space. A reference to this storage is placed on the stack. The boxed value is an object, a reference type that contains the contents of the value

关于CLR、CIL、CTS、CLS、CLI、BCL和FCL

折月煮酒 提交于 2019-12-20 01:58:20
如果要想深入学习.NET平台,那么标题中的这些关键字对你来说并不陌生,这些名词构成了.NET庞大的生态系统,为了宏观认识.NET平台,学些.NET架构体系,针对一些常用常用名词的理解是很有必要的,未必强行记忆,但至少要知道它们的含义。 CLR,公共语言运行时(Common Language Runtime) 无论通过任何语言构建产品,都必须寄宿到一个平台中运行,这正如我们的软件运行在操作系统环境一样,操作系统为CLR提供了运行环境,使用.NET构建的程序又运行在CLR之上,CRL为.NET程序的运行提供了温床,CLR提供基本的类库和运行引擎,基本类库封装操作系统函数供开发者方便调用,运行引擎用于编译并运行我们开发的程序。CLR包含.NET运行引擎和符合CLI的类库。通过.NET平台构建的程序都基于CLR基础类库来实现,并且运行在CLR提供的运行引擎之上。 编译为托管代码时,编译器将源代码翻译为 Microsoft 中间语言 (MSIL),这是一组可以有效地转换为本机代码且独立于 CPU 的指令。MSIL 包括用于加载、存储和初始化对象以及对对象调用方法的指令,还包括用于算术和逻辑运算、控制流、直接内存访问、异常处理和其他操作的指令。要使代码可运行,必须先将 MSIL 转换为特定于 CPU 的代码,这通常是通过实时 (JIT) 编译器来完成的

Android CTS/VTS 介绍

早过忘川 提交于 2019-12-17 19:13:48
Android CTS CTS全称Compatibility Test Suite兼容性测试工具,为了保证开发的应用在所有兼容Android的设备上正常运行,并保证一致的用户体验,Google制定了CTS来确保设备运行的Android系统全面兼容Android规范,Google也提供了一份兼容性标准文档(Compatibility Definition Document,CDD)。当电子产品开发现来,并定制了自己的Android系统后,必须要通过最新的CTS检测,以保证标准的android application能运行在该平台上。通过了CTS验证,需要将测试报告提交给Google,以取得android market的认证。CTS是一款 通过命令行操作的工具。目前CTS没有提供windows版本,只能在Linux下测试 Android VTS VTS 由一套测试框架和测试用例组成,目的是提高安卓系统 ( 如,核心硬件抽象层HALs和库libraries ) 和底层系统软件(如,内核kernel,模块moduls,固件firmware等)的健壮性,可依赖性和依从性。 VTS 主要有两种测试套件: •自动化的(如,record-and-replay and fuzzing); •结构化测试(如,gTest and host-driven python);

What's the meaning “No data available(61)” during getxattr system call

两盒软妹~` 提交于 2019-12-12 01:59:36
问题 Daer all. I'm facing problem during trying Android CTS(4.4 R3). the whole of error logs are like below: 01-22 17:19:44.844 D/ (22802): isPermittedCapBitSet(): getxattr("/system/bin/run-as") call failed: return -1 (error: No data available (61)) 01-22 17:19:44.844 I/TestRunner(22802): failed: testRunAsHasCorrectCapabilities(android.permission.cts.FileSystemPermissionTest) 01-22 17:19:44.844 I/TestRunner(22802): ----- begin exception ----- 01-22 17:19:44.844 I/TestRunner(22802): 01-22 17:19:44

Does Android CTS test installed apps in device?

六月ゝ 毕业季﹏ 提交于 2019-12-12 00:03:17
问题 I'm trying to execute the CTS but i can't. So i just want to know if CTS check for installed apps or just the hardware components. I used CtsVerifier.apk , but i don't know if this apk makes same test that pc commands 回答1: Andriod CTS Setup The CTS runs on a desktop machine and executes test cases directly on attached devices or an emulator.The CTS is an automated testing harness. CTS setup includes 3 steps Step 1 : CTS Dowloads Step 2 : Desktop Machine Setup Step 3 : Android Device

how to choose the correct version of android CTS

爱⌒轻易说出口 提交于 2019-12-11 04:32:37
问题 i work for a phone vendor, our phone was based on Android 2.3.4_r1 GRJ22 , but when i ran the CTS , the OsVersionTest fails for the reason of not supporting 2.3.4 in test case. how to choose the version of CTS? 回答1: Probably way too late for what you need (I only really started serious use of CTS recently), but figured I give what bit of an answer I had anyway. As I understand it (and I could be wrong), you can download CTS for a bunch of versions of Android at http://source.android.com

UART通信中流控RTS和CTS的理解

纵饮孤独 提交于 2019-12-10 06:54:50
一、流控,顾名思义就是流量控制的意思。目的是协调收发双方,使数据不会丢失。 如果UART只有RX、TX两个信号,要流控的话只能是软流控; 如果有RX,TX,CTS,RTS 四个信号,则多半是支持硬流控的UART; RTS (Require ToSend,发送请求) 为输出信号,用于指示本设备准备好可接收数据,低电平有效,低电平说明本设备可以接收数据。 CTS (Clear ToSend,发送允许) 为输入信号,用于判断是否可以向对方发送数据,低电平有效,低电平说明本设备可以向对方发送数据。 二、很多人用了串口很久都不知道这回事,这是因为很多场合确实没有必要。 收发双方波特率固定,并且接受数组足够大,这时不会出现接收方接受数组溢出导致数据丢失的情况,所以,以我的理解,使用流控的主要目的就是在数据量大,有可能出现接受数组溢出的时候,采取的一种协调收发双方的措施。 三、流控设计到RTS和CTS两个口,收发双方都有各自的RTS和CTS,如通信双方A,B。那么A的RTS就与B的CTS相连,A的CTS就与B的RTS相连。 RTS的作用是告诉对方我可以接受数据,是输出口;CTS的作用是根据电平高低控制发送或不发生数据。 如:A与B通信,现在A给B发送数据,当B出现某种情况(可能是接受缓存快要满了)的时候,B的RTS拉低(一般拉低表示有效,但也不一定),A的CTS是与B的RTS相连的

关于STM32的USART_GetFlagStatus和USART_GetITStatus解析(异步通信)

谁都会走 提交于 2019-12-09 14:45:49
前言 STM32固件库中提供了串口收发的标志位函数,包括USART_GetFlagStatus(…,…);和USART_GetITStatus(…,…);,两者容易混淆,重点区别就在于:前者返回值是中断标志位状态(读SR寄存器),后者返回值是中断发生与否的判断(读CR寄存器),以下主要对这两个函数进行分析。 一、USART_GETFlagStatus(…,…) 1 /** 2 * @brief Checks whether the specified USART flag is set or not. 3 * @param USARTx: Select the USART or the UART peripheral. 4 * This parameter can be one of the following values: 5 * USART1, USART2, USART3, UART4 or UART5. 6 * @param USART_FLAG: specifies the flag to check. 7 * This parameter can be one of the following values: 8 * @arg USART_FLAG_CTS: CTS Change flag (not available for UART4 and UART5) 9 *

When I run CTS after a few hours the adb connection to device becomes unresponsive

≡放荡痞女 提交于 2019-12-08 05:28:51
问题 I am executing CTS on Jacinto 6 Evaluation Module ( ti-jacinto6evm ) and I'm encountering a number of test case failures that I don't understand. I started by building both AOSP and CTS. Both builds were just fine. I can flash my test hardware ( ti-jacinto6evm ) and then I followed the instructions for setting up CTS. I have run CTS for more then 10 times on the same device and every time I got different results. The ti-jacinto6 device randomly gets hanged during execution of the test cases.