【OpenHarmony】【2.3_Beta】【轻内核子系统】集成测试pread函数返回值与之前版本不一致
【测试版本】
hispark_taurus版本:
http://download.ci.openharmony.cn/version/Master_Version/OpenHarmony_2.3_Beta/20210721_011042/version-Master_Version-OpenHarmony_2.3_Beta-20210721_011042-hispark_taurus.tar.gz
【测试步骤】
1.Hi3516dv300板子烧写2.3_Beta版本,正常启动挂载成功
2.执行命令./HitsIoPosixTest.bin
【测试用例】
1./* *
@tc.number SUB_KERNEL_IO_OTHER_1080
@tc.name pread basic function test The input data is empty
@tc.desc [C- SOFTWARE -0200]
*/
HWTEST_F(IoTestExt, testPreadExt0200, Function | MediumTest | Level2)
{
int fd = 0;
char buf[MAX_BUFFER_SIZE] = {0};
int count = 128;
int offset = 1;
FILE *fp = nullptr;
FOPEN_WRITE(fp);
fputs("", fp);
EXPECT_NE(fclose(fp), -1) << "> fclose fail, errno = " << errno;
fp = nullptr;
FOPEN_READ(fp);
FILENO(fp);
int ret = pread(fd, buf, count, offset);
EXPECT_EQ(ret, 0);
EXPECT_STREQ(buf, "");
EXPECT_NE(fclose(fp), -1) << "> fclose fail, errno = " << errno;
}
2./* *
@tc.number SUB_KERNEL_IO_OTHER_1120
@tc.name pread basic function test The offset is greater than the number of bytes file
@tc.desc [C- SOFTWARE -0200]
*/
HWTEST_F(IoTestExt, testPreadExt0500, Function | MediumTest | Level2)
{
int fd = 0;
char buf[MAX_BUFFER_SIZE] = {0};
int count = 128;
int offset = 12;
FILE *fp = nullptr;
FOPEN_WRITE(fp);
fputs("123456789", fp);
EXPECT_NE(fclose(fp), -1) << "> fclose fail, errno = " << errno;
fp = nullptr;
FOPEN_READ(fp);
FILENO(fp);
int ret = pread(fd, buf, count, offset);
EXPECT_EQ(ret, 0);
EXPECT_STREQ(buf, "");
EXPECT_NE(fclose(fp), -1) << "> fclose fail, errno = " << errno;
}
【测试log】
[ RUN ] IoTestExt.testPreadExt0200
../../../test/xts/huawei_proprietary/hits/kernel_lite/io_posix/src/IoTestOtherExt1.cpp:63: Failure
Expected equality of these values:
ret
Which is: -1
0
[ FAILED ] IoTestExt.testPreadExt0200 (12 ms)
[ RUN ] IoTestExt.testPreadExt0500
../../../test/xts/huawei_proprietary/hits/kernel_lite/io_posix/src/IoTestOtherExt1.cpp:138: Failure
Expected equality of these values:
ret
Which is: -1
0
[ FAILED ] IoTestExt.testPreadExt0500 (7 ms)
lseek和pread在将文件指针修改至超过文件大小时,在FATFS中会改变文件大小,在只读打开文件时时应当返回错误。此bug在2.3 beta版本中修复,建议用例增加写权限。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
修改测试用例后测试通过
[ RUN ] IoTestExt.testPreadExt0200
[ OK ] IoTestExt.testPreadExt0200 (2 ms)
[ RUN ] IoTestExt.testPreadExt0500
[ OK ] IoTestExt.testPreadExt0500 (5 ms)
登录 后才可以发表评论