/* * 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 #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 void run_long_name_reject(void) { static const char long_name[] = "/tmp/abcdefghijklmnopqrstuvwxyz1234567890"; int fd; errno = 0; fd = open(long_name, O_CREAT | O_RDWR, 0); uassert_int_equal(fd, -1); uassert_int_equal(errno, -ENAMETOOLONG); } 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_UNIT_RUN(run_long_name_reject); } UTEST_TC_EXPORT(testcase, "testcase.tfs.tmpfs", utest_tc_init, utest_tc_cleanup, 10);