Commit Graph

81 Commits

Author SHA1 Message Date
LiteOS2021 dc9ec6856f feat: L0-L1 支持Trace
1.【需求描述】
            L0~L1 支持Trace,提供两种工作模式:在线模式、离线缓存模式, 用于按时间线追踪系统事件,如任务切换、中断、ipc等。
        2.【方案描述】
            L0:
            (1).在内核模块预置静态代码桩
            (2).触发桩后,收集系统上下文信息
            (3).离线模式则写入内存,用户可通过dump导出;
            (4).在线模式通过pipeline对接IDE进行可视化解析和展示;
            L1:
            新增trace字符设备,位于"/dev/trace",通过对设备节点的read\write\ioctl,实现用户态trace;

        BREAKING CHANGE:
        1.新增一系列trace的对外API,位于los_trace.h中.
        LOS_TRACE_EASY简易插桩
        LOS_TRACE标准插桩
        LOS_TraceInit配置Trace缓冲区的地址和大小
        LOS_TraceStart开启事件记录
        LOS_TraceStop停止事件记录
        LOS_TraceRecordDump输出Trace缓冲区数据
        LOS_TraceRecordGet获取Trace缓冲区的首地址
        LOS_TraceReset清除Trace缓冲区中的事件
        LOS_TraceEventMaskSet设置事件掩码,仅记录某些模块的事件
        LOS_TraceHwiFilterHookReg注册过滤特定中断号事件的钩子函数

        Close #I46WA0

    Signed-off-by: LiteOS2021 <dinglu@huawei.com>

Change-Id: I6a8e64794c4852f2c2980993a06180e09ec6ee0d
2021-08-31 20:29:45 +08:00
openharmony_ci 7cb2ad67bf !570 fix ppoll & add 2 testcases
Merge pull request !570 from guweijie/gwj-kernel-ppoll-20210825
2021-08-30 02:06:24 +00:00
openharmony_ci 7661aedcc9 !571 支持sys模块api接口:ftok、nice、getlogin、getgrgid、getgrnam等
Merge pull request !571 from wangjianjun/sys
2021-08-27 07:51:08 +00:00
openharmony_ci c97178f2f6 !561 fix SYSCALL faccessat,fstatfs,fstatat & add 6 testcases
Merge pull request !561 from guweijie/gwj-kernel-20210819
2021-08-27 07:49:20 +00:00
openharmony_ci 8839fdd399 !544 fix killpg and waitid
Merge pull request !544 from wangjianjun/waitid
2021-08-27 07:48:25 +00:00
openharmony_ci a3b480b18e !543 fix:fchdir
Merge pull request !543 from wcc/fs
2021-08-27 07:47:34 +00:00
teamol defedb6fdf fix: add syscall for ppoll & add 2 testcases
1.modifications:
modified:   syscall/los_syscall.h
modified:   syscall/misc_syscall.c
modified:   syscall/syscall_lookup.h
2.add 3 testcases:
testsuites/unittest/IO/full/IO_test_ppoll_001.cpp
testsuites/unittest/IO/full/IO_test_ppoll_002.cpp
3.influence:
none

Signed-off-by: teamol <28105285@qq.com>
2021-08-27 15:37:42 +08:00
wjj 7c577d8963 test: 添加sys模块接口的测试用例
把测试用例放在full中,需要依赖文件group和passwd,放在/etc下

Change-Id: Ie038b64db96180b52ee10d70d494da42207d3b92
Signed-off-by: wjj <502004968@qq.com>
2021-08-25 15:48:54 +08:00
wcc0 e828cbdeac fix: add fchdir api
add fchdir and testcases

Change-Id: Iad724944e727c4a08b8801f109acbbe48f55c283
Signed-off-by: wcc0 <917033401@qq.com>
2021-08-24 17:02:40 +08:00
openharmony_ci 45a128a4f0 !504 clock模块内核unittest用例调整
Merge pull request !504 from phchang/updateclock
2021-08-24 02:33:32 +00:00
Caoruihong 0e260949c9 feat(make): optimize makefiles and remove some unused files
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Ie2dfa7334417ccd55bd56a19a7882a982ce49cab
2021-08-22 04:23:40 +08:00
teamol aa1cd245a5 fix: fix syscall faccessat,fstatfs,fstatat & add 6 testcases
1.modifications:
modified:   testsuites/unittest/fs/BUILD.gn
modified:   testsuites/unittest/fs/jffs/It_vfs_jffs.h
renamed:    testsuites/unittest/fs/jffs/smoke/It_test_faccessat_001.cpp -> testsuites/unittest/fs/jffs/full/It_test_faccessat_001.cpp
renamed:    testsuites/unittest/fs/jffs/smoke/It_test_faccessat_002.cpp -> testsuites/unittest/fs/jffs/full/It_test_faccessat_002.cpp
renamed:    testsuites/unittest/fs/jffs/smoke/It_test_fstatat_001.cpp -> testsuites/unittest/fs/jffs/full/It_test_fstatat_001.cpp
renamed:    testsuites/unittest/fs/jffs/smoke/It_test_fstatat_002.cpp -> testsuites/unittest/fs/jffs/full/It_test_fstatat_002.cpp
renamed:    testsuites/unittest/fs/jffs/smoke/It_test_fstatfs_001.cpp -> testsuites/unittest/fs/jffs/full/It_test_fstatfs_001.cpp
renamed:    testsuites/unittest/fs/jffs/smoke/It_test_fstatfs_002.cpp -> testsuites/unittest/fs/jffs/full/It_test_fstatfs_002.cpp
modified:   testsuites/unittest/fs/jffs/vfs_jffs_test.cpp
2.add 6 testcases:
It_test_faccessat_001.cpp
It_test_faccessat_002.cpp
It_test_fstatat_001.cpp
It_test_fstatat_002.cpp
It_test_fstatfs_001.cpp
It_test_fstatfs_002.cpp
3.influence:
none

Signed-off-by: teamol <28105285@qq.com>
2021-08-19 15:46:04 +08:00
vcbchang 555e0681be test: clock用例结构调整
【背景】当前kernel的unittest下的用例全量与门禁用例结构不合理,当前上传clock修改后版本

【修改方案】
1 原来没有测试clock模块的基本场景,这里补上基本场景作为smoke用例,并命名为clock_test_smoke.cpp
2 将原来smoke用例移到full中
3 删除与xts测试重复的用例和标记宏TEST_ON_LINUX的用例(即原来版本的clock_test_002,003,004用例)
4 原来clock_test_012用例用于测试进程的运行时间,里面存在正常场景和异常场景,现在将其分成两个用例
5 对所有用例重新排序,使得结构完整

re #I44170

Signed-off-by: vcbchang <vcbchang@qq.com>

Change-Id: I30852a5f9c414668c00eddbcc9631d70818514a1
2021-08-13 16:29:38 +08:00
wjj dc3cc094a7 feat: 支持killpg和waitid
killpg:给进程组发信号
waitid:等待进程结束
修改测试用例到full里面

Change-Id: Ice058ab4a6eede8ecbaacea0894c2161e3b9dce2
Signed-off-by: wjj <502004968@qq.com>
2021-08-12 18:06:55 +08:00
wcc0 2f214bf4de fix: add fchmod api
add fchmod api and testcases

Change-Id: I310e9e9d79bbe3fa8dbab6080bbfce8a77b79bb3
Signed-off-by: wcc0 <917033401@qq.com>
2021-08-11 14:12:37 +08:00
openharmony_ci 76507c05a8 !477 fix fstatfs api
Merge pull request !477 from wcc/fstatfs
2021-08-11 03:34:39 +00:00
openharmony_ci 9b24cc4915 !388 fix mutex&pthread mould musl api:pthread_mutexattr_getrobust/pthread_mutexattr_setrobust/pthread_mutex_consistent/pthread_getconcurrency/pthread_setconcurrency
Merge pull request !388 from 王建军/mutex
2021-08-11 03:33:17 +00:00
zhushengle 6917e08431 fix: 修改DoNanoSleep 以纳秒为单位
DoNanoSleep 接口以微秒为单位,纳秒级别的在转换成微秒时被整除为0,
导致转换成tick时为0,导致延时时触发yield,导致延时时间超大
Close #I3Z9DP

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ib662fdc80707be6040b2bb06a1b457344bd48b30
2021-08-10 11:25:49 +08:00
wcc0 4c57aa26ad fix: add fststfs api and unitest
add fststfs api and unitest

Change-Id: I5e9fedd1bc26b77f080faf2fd3f5bf2f4a1dd9f7
Signed-off-by: wcc0 <917033401@qq.com>
2021-08-10 09:35:33 +08:00
SimonLi 7a98cad11a chore(oat): 删除二进制文件,并且新增oat屏蔽
Signed-off-by: SimonLi <likailong@huawei.com>
2021-08-06 01:41:09 +08:00
openharmony_ci 827e060606 !514 修复license
Merge pull request !514 from lnlan/fix_stl
2021-08-05 15:16:54 +00:00
openharmony_ci 78e8d86611 !512 style:修改 liteos_a unittest 测试文件的 licence 注释
Merge pull request !512 from phchang/fixlience
2021-08-05 15:16:51 +00:00
lnlan a23b491f8c style:修改 liteos_a unittest 测试文件的 licence 注释
【背景】解除告警
【修改方案】
 格式化修改告警文件的文件头注释格式

re #I44497

Signed-off-by: lanleinan <lanleinan@163.com>

Change-Id: If9fa5de0f896ddf8c3fc88408c8f88f633fdb3e7
2021-08-05 14:57:02 +00:00
Kiita 626b6600c0 style: 格式化修改liteos_a unittest 测试文件头的许可注释
【背景】解除告警
【修改方案】
 格式化修改告警文件的文件头注释格式

re #I44497

Signed-off-by: yansira <yansira@hotmail.com>
Change-Id: I88c7ade73b086fd0ee13574229d2a4b9795580ec
2021-08-05 22:11:59 +08:00
vcbchang e8037dc56a style:修改 liteos_a unittest 测试文件的 licence 注释
【背景】解除告警
【修改方案】
 格式化修改告警文件的文件头注释格式

re #I44497

Signed-off-by: vcbchang <vcbchang@qq.com>
Change-Id: I7a0d31e11603f591a5370e64505879e1a324d72d
2021-08-05 21:51:30 +08:00
openharmony_ci 1e5d01360b !394 fix apis: setrlimit,gethostname,gethostid
Merge pull request !394 from wcc/misc
2021-07-31 03:17:22 +00:00
openharmony_ci a7a25bb0a3 !382 fix mq by enable mq_notify API
Merge pull request !382 from guweijie/master
2021-07-31 03:08:14 +00:00
wcc 09d5bcc22d Merge branch 'master' of gitee.com:openharmony/kernel_liteos_a into misc 2021-07-27 01:40:59 +00:00
teamol 4427142d73 fix: fix mq function by enable mq_notify api
1.modifications:
modified:   compat/posix/include/mqueue.h
modified:   compat/posix/src/mqueue.c
modified:   syscall/ipc_syscall.c
modified:   syscall/los_syscall.h
modified:   syscall/syscall_lookup.h
modified:   testsuites/unittest/posix/mqueue/posix_mqueue_test.cpp

2.add 5 testcases:
It_posix_queue_205.cpp
It_posix_queue_206.cpp
It_posix_queue_207.cpp
It_posix_queue_208.cpp
It_posix_queue_209.cpp

3.influence:
none

Signed-off-by: teamol <28105285@qq.com>
2021-07-23 16:52:21 +08:00
Caoruihong a8805a65aa feat: add support for gn build system
add BUILD.gn for all kernel modules

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I018446427bf64615f2596d47862b219659b58b34
2021-07-21 15:52:40 +08:00
Far 8729f6ee57 feat: 增加mount的MS_RDONLY标志的支持
增加mount的MS_RDONLY标志的支持,并修改vfs主要接口相关支持。
1. fatfs lseek接口在分区以MS_RDONLY方式和文件以只读打开时不再能够扩大文件的大小。
2. 直接在镜像中创建storage目录,而不是在挂载根文件系统时创建storage目录。
3. 增加了MS_RDONLY的测试用例。

Close #I3Z1W6

Signed-off-by: Far <yesiyuan2@huawei.com>
2021-07-20 16:21:08 +08:00
wcc0 c9d69e2d1b fix: add capability and amend smoke testcase
add setrlimit,gethostname,gethostid and capability

Change-Id: I0d5f23cb87ec2731fb79e7c5cfbe1ce109ac158a
2021-07-16 09:24:44 +08:00
wjj 2d31aed27b test: 支持互斥锁的强壮性属性,测试用例
支持互斥锁强壮性标志,添加加解锁函数对robust链表的处理
2021-07-15 10:41:54 +08:00
openharmony_ci 0056b4ade5 !380 修复了杀死掉hilog进程后SecurityCapability门禁用例无法通过的问题
Merge pull request !380 from phchang/fixhilog
2021-07-13 08:21:41 +00:00
openharmony_ci 78a50aff99 !396 修复signal中的关于pipe部分的用例问题
Merge pull request !396 from phchang/fix_pipebug
2021-07-13 08:21:28 +00:00
openharmony_ci 7240fe3bd4 !405 修复mqueue_unittest用例存在偶尔无法通过的问题
Merge pull request !405 from phchang/fix_mq
2021-07-13 08:20:38 +00:00
vcbchang e7c4b1963a test: 修复mqueue_unittest全量用例ItPosixQueue075与ItPosixQueue097,冒烟用例 ItPosixQueue053用例存在偶尔无法通过的问题
【背景】mqueue_unittest用例ItPosixQueue075、ItPosixQueue053 与ItPosixQueue097用例存在偶尔无法通过的问题,现在将其修复

【修改方案】ItPosixQueue075中原来是通过延时来实现线程同步,现在更改为静态全局变量实现; ItPosixQueue097中的关于g_testCount利用延时来置标志位,实现线程同步。这里通过延时来期望线程调度,写的不合理,这里更改为等待标志位来实现线程同步。

re #I3Z9H9

Signed-off-by: vcbchang <vcbchang@qq.com>
Change-Id: Ib1bb945a5393cb03f4d92e4332e20acd82eb1845
2021-07-13 11:56:50 +08:00
vcbchang fd6f91bc9f test: 修复signal中的关于pipe部分的用例问题
【背景】signal模块中的pipe用例存在无法通过测试的问题,经查找,pipe用例存在多处bug,这里做以修复

【修改方案】
1 ItPosixPipe002用例存在pipe存在在父进程中没有关闭写端,父进程判断处有编码问题等
2 删掉了一些用例多余的close函数,精简了用例的结构
3 原来用例主子进程依靠延时来实现进程同步,这里更改为使用共享内存的方法来实现

re #I3YPQ8

Signed-off-by: vcbchang <vcbchang@qq.com>
Change-Id: Ic0d0ab20521c9af5e5f1d75e76e047162d978464
2021-07-13 11:52:57 +08:00
openharmony_ci ee54cd8b7e !356 修复内核vfat用例
Merge pull request !356 from Far/test
2021-07-09 08:38:39 +00:00
openharmony_ci f523d7a98c !339 修复了文件系统中jffs的全量用例和压测用例中出现的问题
Merge pull request !339 from phchang/fixjffs
2021-07-09 08:38:01 +00:00
vcbchang e57dc7762b test: 修复了文件系统中jffs的全量用例和压测用例中出现的问题
【背景】当前的fs中的jffs用例存在运行不通过的问题,现将其一一修复。

【修改方案】
1. 默认storage文件夹没有文件,如果存在,删除后测试
2. BUG中存在判断不通过的情况,可能是移植过程中出现的变量判断错误,修改变量名正确通过
3. 移植过程中没有考虑现在falsh的大小,有时会出现写入量过多而容量不够的情况,则通过减少写入量来解决问题。
4. 为了尽量减少修改的内容,这里主要以更改全局宏大小或者在代码中修改变量的初始值。

【影响】
主要是jffs用例的写入flash的大小发生变化,其余没有影响。

Signed-off-by: vcbchang <vcbchang@qq.com>
Change-Id: I878fe3ad855e0e430bf7f36e066120893f756828
2021-07-01 18:07:51 +08:00
openharmony_ci 003810284c !384 对内核中menuconfig开关的宏使用#ifdef/#ifndef来做预编译判断
Merge pull request !384 from boxi/upload
2021-07-01 07:11:13 +00:00
boxi 4e4f2d6d7e refactor: 对LiteOS_a内核中menuconfig开关的宏使用#ifdef/#ifndef做预编译处理
LiteOS_a中有部分配置宏进行了重复冗余定义,导致当头文件未被包含时,极易引入错误,
故对menuconfig配置宏进行统一处理,均使用#ifdef/#ifndef作为预编译判断方式

Close #I3YEGS

Change-Id: Ife6db770cc66de1d6199a4f3ba3950e9bfd0e71a
Signed-off-by: boxi <lewis.liulei@huawei.com>
2021-07-01 09:08:18 +08:00
vcbchang 455e42e5b9 test: 修复了杀死掉hilog进程后SecurityCapability门禁用例无法通过的问题
【背景】如果操作系统先执行kill hilog进程,然后再执行SecurityCapability,那么门禁用例将无法通过,原因是该用例先获取了hilog进程的id,但hilog进程已经杀掉了,所以报错

【修改方案】
1. 增加kill 0与错误码判断,如果发现进程已经被干掉的话将不执行相关内容

【影响】
无其它影响。
Signed-off-by: vcbchang <vcbchang@qq.com>
Change-Id: Icdf357800175eff19acf1f92426469642a697386
2021-06-28 20:31:28 +08:00
vcbchang bb6abd8c6b test: 信号管道用例ItPosixPipe005由于偶现性问题暂时下线
【背景】信号管道用例ItPosixPipe005偶尔会失败,经查找,发现是CPU调度所致,延时时间与期望调度不符合,增加延时时间即可

【修改方案】修复了此问题,但是考虑pipe用例整体不稳定,并且pipe用例的pipe函数存在问题,先暂时下线,等pipe部分全部修改完毕后再上线。

re #I3XXPH

Signed-off-by: vcbchang <vcbchang@qq.com>
Change-Id: I21831c9f5ef5700f3b3c8da02f945e0c37f31a6a
2021-06-26 15:27:31 +08:00
Far a8384b5db2 fix: 修复了内核的VFAT测试用例
修复内容包括如下:
1. 将memset_s中buffer的大小设置正确;
2. 将用例文件夹名由vfat2修改为vfat;
3. 修复了vfat用例在SetUpTestcase和TearDownTestCase;
4. 全局变量g_fatFilesystem在初始化时设置为2(即FAT32);

Close #I3XF3R

Signed-off-by: Far <yesiyuan2@huawei.com>
2021-06-26 10:13:23 +08:00
openharmony_ci 1e345f18b3 !338 修复rwlock门禁用例多次测试出现的超时不通过的问题
Merge pull request !338 from phchang/rwlock
2021-06-24 10:55:21 +00:00
vcbchang f793dc1097 test:修复rwlock用例在循环处会卡死的问题
【背景】修复rwlock门禁用例多次测试出现的程序会卡死在某一个地方的问题,经查找程序会卡在循环里面

【修改方案】
1.经测试,发现用例在创建线程后对退出标志位做了初始化,但卡在循环中不动的原因是在创建线程后立刻发生了调度,没有来得及初始化,则发生了错误,故会出现卡在循环中的情况。
而且,由于卡在循环中时线程是同一优先级,可能不会发生调度,故在循环里面加了一句可以调度的语句,防止在一处循环卡的太久。
2.将该用例挪出门禁,待稳定后恢复。
【影响】
对其它用例无影响。

re #I3VUX4

Signed-off-by:vcbchang<vcbchang@qq.com>

Change-Id: Ie0f908001f59bfc832c2519104aa2e3188206910
Signed-off-by: vcbchang <vcbchang@qq.com>
2021-06-24 17:17:27 +08:00
vcbchang 290a3c6f92 test: mqueue144与mutex18门禁用例不稳定暂时下线
【背景】mqueue144与mutex18门禁用例不稳定暂时下线

【修改方案】
将ItPosixQueue144.cpp与ItTestPthreadMutex018.cpp门禁用例暂时放入全量用例里面

re: #I3X4PR

Signed-off-by: vcbchang <vcbchang@qq.com>
Change-Id: I470c6bde70aa2b5956ac50a93f56776901774618
2021-06-22 18:53:03 +08:00
openharmony_ci b7f2df0350 !334 fix: 修改tzset测试用例运行2遍现象
Merge pull request !334 from guweijie/master
2021-06-22 06:29:34 +00:00