fix: add fchdir api

add fchdir and testcases

Change-Id: Iad724944e727c4a08b8801f109acbbe48f55c283
Signed-off-by: wcc0 <917033401@qq.com>
This commit is contained in:
wcc0
2021-08-12 16:05:20 +08:00
parent bbdb977b5e
commit e828cbdeac
11 changed files with 127 additions and 17 deletions

View File

@@ -211,8 +211,11 @@ sources_full = [
"jffs/full/it_test_fs_jffs_002.cpp",
"jffs/full/it_test_fs_jffs_003.cpp",
"jffs/full/it_test_fs_jffs_004.cpp",
"jffs/full/it_test_fs_jffs_102.cpp",
"jffs/full/it_test_fs_jffs_103.cpp",
"jffs/full/it_test_fs_jffs_100.cpp",
"jffs/full/it_test_fs_jffs_101.cpp",
"jffs/full/it_test_fs_jffs_106.cpp",
"jffs/full/it_test_fs_jffs_112.cpp",
"jffs/full/it_test_fs_jffs_113.cpp",
"jffs/full/It_jffs_001.cpp",
"jffs/full/It_jffs_002.cpp",
"jffs/full/It_jffs_003.cpp",

View File

@@ -271,8 +271,13 @@ void ItTestFsJffs001(void);
void ItTestFsJffs002(void);
void ItTestFsJffs003(void);
void ItTestFsJffs004(void);
void ItTestFsJffs100(void);
void ItTestFsJffs101(void);
void ItTestFsJffs102(void);
void ItTestFsJffs103(void);
void ItTestFsJffs106(void);
void ItTestFsJffs112(void);
void ItTestFsJffs113(void);
VOID ItJffs001(VOID);
VOID ItJffs002(VOID);
VOID ItJffs003(VOID);

View File

@@ -28,7 +28,7 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "It_fs_jffs.h"
#include "It_vfs_jffs.h"
static int TestCase(void)
{

View File

@@ -28,7 +28,7 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "It_fs_jffs.h"
#include "It_vfs_jffs.h"
#define TEST_STRLEN 30
@@ -56,6 +56,16 @@ static int TestCase(void)
fd = open(pathname2, O_DIRECTORY);
ICUNIT_GOTO_EQUAL(ret, JFFS_NO_ERROR, ret, EXIT);
/* EBADF */
ret = fchdir(-1);
ICUNIT_GOTO_NOT_EQUAL(ret, JFFS_NO_ERROR, ret, EXIT1);
ret = errno;
ICUNIT_GOTO_EQUAL(ret, EBADF, ret, EXIT1);
ret = chdir(pathname);
ICUNIT_GOTO_EQUAL(ret, JFFS_NO_ERROR, ret, EXIT1);
pret = getcwd(buf1, TEST_STRLEN);
ICUNIT_GOTO_NOT_EQUAL(pret, NULL, pret, EXIT1);
ICUNIT_GOTO_STRING_EQUAL(buf1, pathname, buf1, EXIT1);

View File

@@ -28,7 +28,7 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "It_fs_jffs.h"
#include "It_vfs_jffs.h"
#define TEST_STR "abcdefghijk"
@@ -41,20 +41,30 @@ static int TestCase(void)
CHAR buf[JFFS_STANDARD_NAME_LENGTH] = TEST_STR;
CHAR str[JFFS_STANDARD_NAME_LENGTH] = "";
FILE *ptr = NULL;
fd = open(pathname1, O_CREAT | O_RDWR, 0777);
fd = open(pathname1, O_CREAT, 0777);
ICUNIT_GOTO_NOT_EQUAL(fd, -1, fd, EXIT);
len = write(fd, buf, JFFS_STANDARD_NAME_LENGTH);
ICUNIT_GOTO_NOT_EQUAL(len, -1, len, EXIT);
ret = close(fd);
ICUNIT_GOTO_NOT_EQUAL(ret, -1, ret, EXIT1);
ptr = freopen(pathname1, "rb", stdin);
ptr = freopen(pathname1, "w+", stdin);
ICUNIT_GOTO_NOT_EQUAL(ptr, NULL, ptr, EXIT1);
ret = scanf_s("%s", JFFS_STANDARD_NAME_LENGTH, str);
ICUNIT_GOTO_NOT_EQUAL(ret, 0, ret, EXIT1);
ret = strcmp(buf, str);
ret = fwrite(buf, JFFS_STANDARD_NAME_LENGTH, 1, ptr);
ICUNIT_GOTO_NOT_EQUAL(ret, -1, ret, EXIT1);
ret = fclose(ptr);
ICUNIT_GOTO_EQUAL(ret, 0, ret, EXIT1);
fclose(ptr);
fd = open(pathname1, O_RDWR, 0777);
ret = read(fd, str, JFFS_STANDARD_NAME_LENGTH);
ret = close(fd);
ICUNIT_GOTO_NOT_EQUAL(ret, -1, ret, EXIT1);
ret = strcmp(buf, str);
ICUNIT_GOTO_EQUAL(ret, 0, ret, EXIT1);
ret = unlink(pathname1);
ICUNIT_GOTO_EQUAL(ret, 0, ret, EXIT);

View File

@@ -28,7 +28,7 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "It_fs_jffs.h"
#include "It_vfs_jffs.h"
static int TestCase(void)
{

View File

@@ -28,15 +28,15 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "It_fs_jffs.h"
#include "It_vfs_jffs.h"
#include <pthread.h>
static FILE *g_filep;
#define NUM 64
#define COUNT 10
void *DoChild()
void *DoChild(void *)
{
int fd = 0;
int ret, count;
char buf[NUM];

View File

@@ -1043,6 +1043,28 @@ HWTEST_F(VfsJffsTest, ItTestFsJffs004, TestSize.Level0)
ItTestFsJffs004();
}
/* *
* @tc.name: ItTestFsJffs100
* @tc.desc: function for VfsJffsTest
* @tc.type: FUNC
* @tc.require: AR000EEMQ9
*/
HWTEST_F(VfsJffsTest, ItTestFsJffs100, TestSize.Level0)
{
ItTestFsJffs100();
}
/* *
* @tc.name: ItTestFsJffs101
* @tc.desc: function for VfsJffsTest
* @tc.type: FUNC
* @tc.require: AR000EEMQ9
*/
HWTEST_F(VfsJffsTest, ItTestFsJffs101, TestSize.Level0)
{
ItTestFsJffs101();
}
/* *
* @tc.name: ItTestFsJffs102
* @tc.desc: function for VfsJffsTest
@@ -1064,6 +1086,40 @@ HWTEST_F(VfsJffsTest, ItTestFsJffs103, TestSize.Level0)
{
ItTestFsJffs103();
}
/* *
* @tc.name: ItTestFsJffs106
* @tc.desc: function for VfsJffsTest
* @tc.type: FUNC
* @tc.require: AR000EEMQ9
*/
HWTEST_F(VfsJffsTest, ItTestFsJffs106, TestSize.Level0)
{
ItTestFsJffs106();
}
/* *
* @tc.name: ItTestFsJffs112
* @tc.desc: function for VfsJffsTest
* @tc.type: FUNC
* @tc.require: AR000EEMQ9
*/
HWTEST_F(VfsJffsTest, ItTestFsJffs112, TestSize.Level0)
{
ItTestFsJffs112();
}
/* *
* @tc.name: ItTestFsJffs113
* @tc.desc: function for VfsJffsTest
* @tc.type: FUNC
* @tc.require: AR000EEMQ9
*/
HWTEST_F(VfsJffsTest, ItTestFsJffs113, TestSize.Level0)
{
ItTestFsJffs113();
}
/* *
* @tc.name: IT_JFFS_002
* @tc.desc: function for VfsJffsTest