From 298a63fa47d54828e9f69a640f66af57f436fd41 Mon Sep 17 00:00:00 2001 From: zhuzhuzhus <945386260@qq.com> Date: Tue, 21 May 2024 11:06:28 +0800 Subject: [PATCH 1/7] first --- .../dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c | 8 ++-- examples/utest/testcases/Kconfig | 2 +- examples/utest/testcases/utest copy/Kconfig | 7 +++ .../utest/testcases/utest copy/SConscript | 13 ++++++ examples/utest/testcases/utest copy/pass_tc.c | 46 +++++++++++++++++++ 5 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 examples/utest/testcases/utest copy/Kconfig create mode 100644 examples/utest/testcases/utest copy/SConscript create mode 100644 examples/utest/testcases/utest copy/pass_tc.c diff --git a/components/dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c b/components/dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c index 8644f51c267..6293c1e87ec 100644 --- a/components/dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c +++ b/components/dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c @@ -294,18 +294,18 @@ struct tmpfs_file *dfs_tmpfs_lookup(struct tmpfs_sb *superblock, static ssize_t dfs_tmpfs_read(struct dfs_file *file, void *buf, size_t count, off_t *pos) { - rt_size_t length; + ssize_t length; struct tmpfs_file *d_file; - + ssize_t size = (ssize_t)file->vnode->size; d_file = (struct tmpfs_file *)file->vnode->data; RT_ASSERT(d_file != NULL); rt_mutex_take(&file->vnode->lock, RT_WAITING_FOREVER); - if (count < file->vnode->size - *pos) + if ((ssize_t)count < size - *pos) length = count; else - length = file->vnode->size - *pos; + length = size - *pos; if (length > 0) memcpy(buf, &(d_file->data[*pos]), length); diff --git a/examples/utest/testcases/Kconfig b/examples/utest/testcases/Kconfig index 248dbd8d3c9..d60869192a7 100644 --- a/examples/utest/testcases/Kconfig +++ b/examples/utest/testcases/Kconfig @@ -14,7 +14,7 @@ source "$RTT_DIR/examples/utest/testcases/drivers/serial_v2/Kconfig" source "$RTT_DIR/examples/utest/testcases/drivers/ipc/Kconfig" source "$RTT_DIR/examples/utest/testcases/posix/Kconfig" source "$RTT_DIR/examples/utest/testcases/mm/Kconfig" - +source "$RTT_DIR/examples/utest/testcases/tfs/Kconfig" endif endmenu diff --git a/examples/utest/testcases/utest copy/Kconfig b/examples/utest/testcases/utest copy/Kconfig new file mode 100644 index 00000000000..85b4d796bd0 --- /dev/null +++ b/examples/utest/testcases/utest copy/Kconfig @@ -0,0 +1,7 @@ +menu "Utest Self Testcase" + +config UTEST_SELF_PASS_TC + bool "Pass test" + default y + +endmenu diff --git a/examples/utest/testcases/utest copy/SConscript b/examples/utest/testcases/utest copy/SConscript new file mode 100644 index 00000000000..1b35042e443 --- /dev/null +++ b/examples/utest/testcases/utest copy/SConscript @@ -0,0 +1,13 @@ +Import('rtconfig') +from building import * + +cwd = GetCurrentDir() +src = Split(''' +pass_tc.c +''') + +CPPPATH = [cwd] + +group = DefineGroup('utestcases', src, depend = ['UTEST_SELF_PASS_TC'], CPPPATH = CPPPATH) + +Return('group') diff --git a/examples/utest/testcases/utest copy/pass_tc.c b/examples/utest/testcases/utest copy/pass_tc.c new file mode 100644 index 00000000000..c9ee912fbf1 --- /dev/null +++ b/examples/utest/testcases/utest copy/pass_tc.c @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2006-2019, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2019-01-16 MurphyZhao the first version + */ + +#include +#include "utest.h" + +static void test_assert_pass(void) +{ + uassert_true(1); + uassert_false(0); + + uassert_null(RT_NULL); + uassert_not_null(!RT_NULL); + + uassert_int_equal(1, 1); + uassert_int_not_equal(1, 2); + + uassert_str_equal("Hello RT-Thread!", "Hello RT-Thread!"); + uassert_str_not_equal("Hello RT-Thread!", "Hello"); + + uassert_in_range(2048, 1024, 4096); + uassert_not_in_range(0, 1024, 4096); +} + +static rt_err_t utest_tc_init(void) +{ + return RT_EOK; +} + +static rt_err_t utest_tc_cleanup(void) +{ + return RT_EOK; +} + +static void testcase(void) +{ + UTEST_UNIT_RUN(test_assert_pass); +} +UTEST_TC_EXPORT(testcase, "testcases.utest.pass_tc", utest_tc_init, utest_tc_cleanup, 10); From 21a079df697f2a5d3e6d22974e0cba7631e6e832 Mon Sep 17 00:00:00 2001 From: zhuzhuzhus <945386260@qq.com> Date: Tue, 21 May 2024 11:09:31 +0800 Subject: [PATCH 2/7] second --- examples/utest/testcases/tfs/Kconfig | 6 ++ examples/utest/testcases/tfs/SConscript | 13 ++++ examples/utest/testcases/tfs/tmpfs.c | 68 +++++++++++++++++++ examples/utest/testcases/utest copy/Kconfig | 7 -- .../utest/testcases/utest copy/SConscript | 13 ---- examples/utest/testcases/utest copy/pass_tc.c | 46 ------------- 6 files changed, 87 insertions(+), 66 deletions(-) create mode 100644 examples/utest/testcases/tfs/Kconfig create mode 100644 examples/utest/testcases/tfs/SConscript create mode 100644 examples/utest/testcases/tfs/tmpfs.c delete mode 100644 examples/utest/testcases/utest copy/Kconfig delete mode 100644 examples/utest/testcases/utest copy/SConscript delete mode 100644 examples/utest/testcases/utest copy/pass_tc.c diff --git a/examples/utest/testcases/tfs/Kconfig b/examples/utest/testcases/tfs/Kconfig new file mode 100644 index 00000000000..77a59229771 --- /dev/null +++ b/examples/utest/testcases/tfs/Kconfig @@ -0,0 +1,6 @@ +menu "Tfs Testcase" + +config UTEST_TMPFS_CP + bool "tmpfs cp test" + default y +endmenu diff --git a/examples/utest/testcases/tfs/SConscript b/examples/utest/testcases/tfs/SConscript new file mode 100644 index 00000000000..6ebc2c789f2 --- /dev/null +++ b/examples/utest/testcases/tfs/SConscript @@ -0,0 +1,13 @@ +Import('rtconfig') +from building import * + +cwd = GetCurrentDir() +src = [] +CPPPATH = [cwd] + +if GetDepend(['RT_USING_SMART']): + src += ['tmpfs.c'] + +group = DefineGroup('utestcases', src, depend = ['RT_USING_UTESTCASES'], CPPPATH = CPPPATH) + +Return('group') diff --git a/examples/utest/testcases/tfs/tmpfs.c b/examples/utest/testcases/tfs/tmpfs.c new file mode 100644 index 00000000000..2dc243f9515 --- /dev/null +++ b/examples/utest/testcases/tfs/tmpfs.c @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2006-2019, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2024-5-20 Zhujiale the first version + */ +#include +#include +#include +#include "utest.h" +#include "utest_assert.h" +#include "common.h" + +void run_copy() +{ + int ret = 0; + ret = msh_exec("cd /tmp",7); + if(ret != 0) + { + LOG_E("errno=%d, ret=%d\n", errno, ret); + LOG_E("cd /tmp error"); + uassert_false(1); + } + uassert_true(1); + ret = msh_exec("touch test",10); + if(ret != 0) + { + LOG_E("errno=%d, ret=%d\n", errno, ret); + LOG_E("touch test error"); + uassert_false(1); + } + uassert_true(1); + ret = msh_exec("echo this_is_a_test_file test",29); + if(ret != 0) + { + LOG_E("errno=%d, ret=%d\n", errno, ret); + LOG_E("echo this_is_a_test_file test error"); + uassert_false(1); + } + uassert_true(1); + ret = msh_exec("cp test test1",13); + if(ret != 0) + { + LOG_E("errno=%d, ret=%d\n", errno, ret); + LOG_E("cp test test1 error"); + uassert_false(1); + } + + uassert_true(1); +} + +static rt_err_t utest_tc_init(void) +{ + return RT_EOK; +} + +static rt_err_t utest_tc_cleanup(void) +{ + return RT_EOK; +} +static void testcase(void) +{ + UTEST_UNIT_RUN(run_copy); +} +UTEST_TC_EXPORT(testcase,"testcase.tfs.tmpfs", utest_tc_init, utest_tc_cleanup, 10); \ No newline at end of file diff --git a/examples/utest/testcases/utest copy/Kconfig b/examples/utest/testcases/utest copy/Kconfig deleted file mode 100644 index 85b4d796bd0..00000000000 --- a/examples/utest/testcases/utest copy/Kconfig +++ /dev/null @@ -1,7 +0,0 @@ -menu "Utest Self Testcase" - -config UTEST_SELF_PASS_TC - bool "Pass test" - default y - -endmenu diff --git a/examples/utest/testcases/utest copy/SConscript b/examples/utest/testcases/utest copy/SConscript deleted file mode 100644 index 1b35042e443..00000000000 --- a/examples/utest/testcases/utest copy/SConscript +++ /dev/null @@ -1,13 +0,0 @@ -Import('rtconfig') -from building import * - -cwd = GetCurrentDir() -src = Split(''' -pass_tc.c -''') - -CPPPATH = [cwd] - -group = DefineGroup('utestcases', src, depend = ['UTEST_SELF_PASS_TC'], CPPPATH = CPPPATH) - -Return('group') diff --git a/examples/utest/testcases/utest copy/pass_tc.c b/examples/utest/testcases/utest copy/pass_tc.c deleted file mode 100644 index c9ee912fbf1..00000000000 --- a/examples/utest/testcases/utest copy/pass_tc.c +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2006-2019, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2019-01-16 MurphyZhao the first version - */ - -#include -#include "utest.h" - -static void test_assert_pass(void) -{ - uassert_true(1); - uassert_false(0); - - uassert_null(RT_NULL); - uassert_not_null(!RT_NULL); - - uassert_int_equal(1, 1); - uassert_int_not_equal(1, 2); - - uassert_str_equal("Hello RT-Thread!", "Hello RT-Thread!"); - uassert_str_not_equal("Hello RT-Thread!", "Hello"); - - uassert_in_range(2048, 1024, 4096); - uassert_not_in_range(0, 1024, 4096); -} - -static rt_err_t utest_tc_init(void) -{ - return RT_EOK; -} - -static rt_err_t utest_tc_cleanup(void) -{ - return RT_EOK; -} - -static void testcase(void) -{ - UTEST_UNIT_RUN(test_assert_pass); -} -UTEST_TC_EXPORT(testcase, "testcases.utest.pass_tc", utest_tc_init, utest_tc_cleanup, 10); From 6e728c12d6182b831919c6e605b9529e58f754b8 Mon Sep 17 00:00:00 2001 From: zhuzhuzhus <945386260@qq.com> Date: Tue, 21 May 2024 11:11:20 +0800 Subject: [PATCH 3/7] thrid --- examples/utest/testcases/Kconfig | 2 +- examples/utest/testcases/{tfs => tmpfs}/Kconfig | 2 +- examples/utest/testcases/{tfs => tmpfs}/SConscript | 0 examples/utest/testcases/{tfs => tmpfs}/tmpfs.c | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename examples/utest/testcases/{tfs => tmpfs}/Kconfig (76%) rename examples/utest/testcases/{tfs => tmpfs}/SConscript (100%) rename examples/utest/testcases/{tfs => tmpfs}/tmpfs.c (98%) diff --git a/examples/utest/testcases/Kconfig b/examples/utest/testcases/Kconfig index d60869192a7..a0c068edf5c 100644 --- a/examples/utest/testcases/Kconfig +++ b/examples/utest/testcases/Kconfig @@ -14,7 +14,7 @@ source "$RTT_DIR/examples/utest/testcases/drivers/serial_v2/Kconfig" source "$RTT_DIR/examples/utest/testcases/drivers/ipc/Kconfig" source "$RTT_DIR/examples/utest/testcases/posix/Kconfig" source "$RTT_DIR/examples/utest/testcases/mm/Kconfig" -source "$RTT_DIR/examples/utest/testcases/tfs/Kconfig" +source "$RTT_DIR/examples/utest/testcases/tmpfs/Kconfig" endif endmenu diff --git a/examples/utest/testcases/tfs/Kconfig b/examples/utest/testcases/tmpfs/Kconfig similarity index 76% rename from examples/utest/testcases/tfs/Kconfig rename to examples/utest/testcases/tmpfs/Kconfig index 77a59229771..8f89d88fb56 100644 --- a/examples/utest/testcases/tfs/Kconfig +++ b/examples/utest/testcases/tmpfs/Kconfig @@ -1,4 +1,4 @@ -menu "Tfs Testcase" +menu "Tmpfs Testcase" config UTEST_TMPFS_CP bool "tmpfs cp test" diff --git a/examples/utest/testcases/tfs/SConscript b/examples/utest/testcases/tmpfs/SConscript similarity index 100% rename from examples/utest/testcases/tfs/SConscript rename to examples/utest/testcases/tmpfs/SConscript diff --git a/examples/utest/testcases/tfs/tmpfs.c b/examples/utest/testcases/tmpfs/tmpfs.c similarity index 98% rename from examples/utest/testcases/tfs/tmpfs.c rename to examples/utest/testcases/tmpfs/tmpfs.c index 2dc243f9515..40133542b48 100644 --- a/examples/utest/testcases/tfs/tmpfs.c +++ b/examples/utest/testcases/tmpfs/tmpfs.c @@ -65,4 +65,4 @@ static void testcase(void) { UTEST_UNIT_RUN(run_copy); } -UTEST_TC_EXPORT(testcase,"testcase.tfs.tmpfs", utest_tc_init, utest_tc_cleanup, 10); \ No newline at end of file +UTEST_TC_EXPORT(testcase,"testcase.tfs.tmpfs", utest_tc_init, utest_tc_cleanup, 10); From e15b9178993ab8fa9c862680779d523749c4ee6d Mon Sep 17 00:00:00 2001 From: zhuzhuzhu <945386260@qq.com> Date: Wed, 22 May 2024 16:57:45 +0800 Subject: [PATCH 4/7] Update SConscript --- examples/utest/testcases/tmpfs/SConscript | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/utest/testcases/tmpfs/SConscript b/examples/utest/testcases/tmpfs/SConscript index 6ebc2c789f2..1467931a765 100644 --- a/examples/utest/testcases/tmpfs/SConscript +++ b/examples/utest/testcases/tmpfs/SConscript @@ -5,7 +5,7 @@ cwd = GetCurrentDir() src = [] CPPPATH = [cwd] -if GetDepend(['RT_USING_SMART']): +if GetDepend(['RT_USING_SMART','UTEST_TMPFS_CP']): src += ['tmpfs.c'] group = DefineGroup('utestcases', src, depend = ['RT_USING_UTESTCASES'], CPPPATH = CPPPATH) From 7639d1b0661a865102b4d1259781bab8199053b2 Mon Sep 17 00:00:00 2001 From: zhuzhuzhu <945386260@qq.com> Date: Wed, 22 May 2024 17:22:14 +0800 Subject: [PATCH 5/7] tmpfs testcase default n --- examples/utest/testcases/tmpfs/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/utest/testcases/tmpfs/Kconfig b/examples/utest/testcases/tmpfs/Kconfig index 8f89d88fb56..b3a0637950f 100644 --- a/examples/utest/testcases/tmpfs/Kconfig +++ b/examples/utest/testcases/tmpfs/Kconfig @@ -2,5 +2,5 @@ menu "Tmpfs Testcase" config UTEST_TMPFS_CP bool "tmpfs cp test" - default y + default n endmenu From 09d8c14dc058fd1661f5e07f6f0554951da7f26c Mon Sep 17 00:00:00 2001 From: zhuzhuzhu <945386260@qq.com> Date: Fri, 24 May 2024 09:12:20 +0800 Subject: [PATCH 6/7] Update dfs_tmpfs.c --- components/dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c b/components/dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c index 6293c1e87ec..1c2a5094756 100644 --- a/components/dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c +++ b/components/dfs/dfs_v2/filesystems/tmpfs/dfs_tmpfs.c @@ -296,12 +296,11 @@ static ssize_t dfs_tmpfs_read(struct dfs_file *file, void *buf, size_t count, of { ssize_t length; struct tmpfs_file *d_file; - ssize_t size = (ssize_t)file->vnode->size; d_file = (struct tmpfs_file *)file->vnode->data; RT_ASSERT(d_file != NULL); rt_mutex_take(&file->vnode->lock, RT_WAITING_FOREVER); - + ssize_t size = (ssize_t)file->vnode->size; if ((ssize_t)count < size - *pos) length = count; else From c96eda3dc6358a02a69c1a6c7d41a907134f2556 Mon Sep 17 00:00:00 2001 From: zhujiale Date: Tue, 11 Jun 2024 14:32:47 +0800 Subject: [PATCH 7/7] format document --- examples/utest/testcases/tmpfs/tmpfs.c | 44 +++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/examples/utest/testcases/tmpfs/tmpfs.c b/examples/utest/testcases/tmpfs/tmpfs.c index 40133542b48..6eaa973907d 100644 --- a/examples/utest/testcases/tmpfs/tmpfs.c +++ b/examples/utest/testcases/tmpfs/tmpfs.c @@ -17,39 +17,39 @@ void run_copy() { int ret = 0; - ret = msh_exec("cd /tmp",7); - if(ret != 0) + ret = msh_exec("cd /tmp", 7); + if (ret != 0) { - LOG_E("errno=%d, ret=%d\n", errno, ret); - LOG_E("cd /tmp error"); - uassert_false(1); + LOG_E("errno=%d, ret=%d\n", errno, ret); + LOG_E("cd /tmp error"); + uassert_false(1); } uassert_true(1); - ret = msh_exec("touch test",10); - if(ret != 0) + ret = msh_exec("touch test", 10); + if (ret != 0) { - LOG_E("errno=%d, ret=%d\n", errno, ret); - LOG_E("touch test error"); - uassert_false(1); + LOG_E("errno=%d, ret=%d\n", errno, ret); + LOG_E("touch test error"); + uassert_false(1); } uassert_true(1); - ret = msh_exec("echo this_is_a_test_file test",29); - if(ret != 0) + ret = msh_exec("echo this_is_a_test_file test", 29); + if (ret != 0) { - LOG_E("errno=%d, ret=%d\n", errno, ret); - LOG_E("echo this_is_a_test_file test error"); - uassert_false(1); + LOG_E("errno=%d, ret=%d\n", errno, ret); + LOG_E("echo this_is_a_test_file test error"); + uassert_false(1); } uassert_true(1); - ret = msh_exec("cp test test1",13); - if(ret != 0) + ret = msh_exec("cp test test1", 13); + if (ret != 0) { - LOG_E("errno=%d, ret=%d\n", errno, ret); - LOG_E("cp test test1 error"); - uassert_false(1); + LOG_E("errno=%d, ret=%d\n", errno, ret); + LOG_E("cp test test1 error"); + uassert_false(1); } - uassert_true(1); + uassert_true(1); } static rt_err_t utest_tc_init(void) @@ -65,4 +65,4 @@ static void testcase(void) { UTEST_UNIT_RUN(run_copy); } -UTEST_TC_EXPORT(testcase,"testcase.tfs.tmpfs", utest_tc_init, utest_tc_cleanup, 10); +UTEST_TC_EXPORT(testcase, "testcase.tfs.tmpfs", utest_tc_init, utest_tc_cleanup, 10);