@@ -34,7 +34,8 @@ tests/test.py << TEST
34
34
lfs_size_t chunk = 31;
35
35
srand(0);
36
36
lfs_mount(&lfs, &cfg) => 0;
37
- lfs_file_open(&lfs, &file[0], "$2 ", LFS_O_WRONLY | LFS_O_CREAT) => 0;
37
+ lfs_file_open(&lfs, &file[0], "$2 ",
38
+ ${3:- LFS_O_WRONLY | LFS_O_CREAT | LFS_O_TRUNC} ) => 0;
38
39
for (lfs_size_t i = 0; i < size; i += chunk) {
39
40
chunk = (chunk < size - i) ? chunk : size - i;
40
41
for (lfs_size_t b = 0; b < chunk; b++) {
@@ -53,7 +54,10 @@ tests/test.py << TEST
53
54
lfs_size_t chunk = 29;
54
55
srand(0);
55
56
lfs_mount(&lfs, &cfg) => 0;
56
- lfs_file_open(&lfs, &file[0], "$2 ", LFS_O_RDONLY) => 0;
57
+ lfs_stat(&lfs, "$2 ", &info) => 0;
58
+ info.type => LFS_TYPE_REG;
59
+ info.size => size;
60
+ lfs_file_open(&lfs, &file[0], "$2 ", ${3:- LFS_O_RDONLY} ) => 0;
57
61
for (lfs_size_t i = 0; i < size; i += chunk) {
58
62
chunk = (chunk < size - i) ? chunk : size - i;
59
63
lfs_file_read(&lfs, &file[0], buffer, chunk) => chunk;
@@ -78,10 +82,27 @@ echo "--- Large file test ---"
78
82
w_test $LARGESIZE largeavacado
79
83
r_test $LARGESIZE largeavacado
80
84
85
+ echo " --- Zero file test ---"
86
+ w_test 0 noavacado
87
+ r_test 0 noavacado
88
+
89
+ echo " --- Truncate small test ---"
90
+ w_test $SMALLSIZE mediumavacado
91
+ r_test $SMALLSIZE mediumavacado
92
+ w_test $MEDIUMSIZE mediumavacado
93
+ r_test $MEDIUMSIZE mediumavacado
94
+
95
+ echo " --- Truncate zero test ---"
96
+ w_test $SMALLSIZE noavacado
97
+ r_test $SMALLSIZE noavacado
98
+ w_test 0 noavacado
99
+ r_test 0 noavacado
100
+
81
101
echo " --- Non-overlap check ---"
82
102
r_test $SMALLSIZE smallavacado
83
103
r_test $MEDIUMSIZE mediumavacado
84
104
r_test $LARGESIZE largeavacado
105
+ r_test 0 noavacado
85
106
86
107
echo " --- Dir check ---"
87
108
tests/test.py << TEST
@@ -105,6 +126,10 @@ tests/test.py << TEST
105
126
strcmp(info.name, "largeavacado") => 0;
106
127
info.type => LFS_TYPE_REG;
107
128
info.size => $LARGESIZE ;
129
+ lfs_dir_read(&lfs, &dir[0], &info) => 1;
130
+ strcmp(info.name, "noavacado") => 0;
131
+ info.type => LFS_TYPE_REG;
132
+ info.size => 0;
108
133
lfs_dir_read(&lfs, &dir[0], &info) => 0;
109
134
lfs_dir_close(&lfs, &dir[0]) => 0;
110
135
lfs_unmount(&lfs) => 0;
0 commit comments