GCC Code Coverage Report | |||||||||||||||||||||
|
|||||||||||||||||||||
Line | Branch | Exec | Source |
1 |
/* |
||
2 |
* The ManaPlus Client |
||
3 |
* Copyright (C) 2016-2019 The ManaPlus Developers |
||
4 |
* Copyright (C) 2019-2021 Andrei Karas |
||
5 |
* |
||
6 |
* This file is part of The ManaPlus Client. |
||
7 |
* |
||
8 |
* This program is free software; you can redistribute it and/or modify |
||
9 |
* it under the terms of the GNU General Public License as published by |
||
10 |
* the Free Software Foundation; either version 2 of the License, or |
||
11 |
* any later version. |
||
12 |
* |
||
13 |
* This program is distributed in the hope that it will be useful, |
||
14 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
15 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
16 |
* GNU General Public License for more details. |
||
17 |
* |
||
18 |
* You should have received a copy of the GNU General Public License |
||
19 |
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
||
20 |
*/ |
||
21 |
|||
22 |
#include "unittests/unittests.h" |
||
23 |
|||
24 |
#include "fs/files.h" |
||
25 |
#include "fs/paths.h" |
||
26 |
|||
27 |
#include "fs/virtfs/fs.h" |
||
28 |
#include "fs/virtfs/list.h" |
||
29 |
|||
30 |
#include "utils/checkutils.h" |
||
31 |
#include "utils/foreach.h" |
||
32 |
|||
33 |
#ifndef UNITTESTS_CATCH |
||
34 |
#include <algorithm> |
||
35 |
#endif // UNITTESTS_CATCH |
||
36 |
|||
37 |
#include "debug.h" |
||
38 |
|||
39 |
✓✗ | 3 |
TEST_CASE("VirtFs dirSeparator", "") |
40 |
{ |
||
41 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(dirSeparator != nullptr); |
42 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::getDirSeparator() == std::string(dirSeparator)); |
43 |
1 |
VirtFs::updateDirSeparator(); |
|
44 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(dirSeparator != nullptr); |
45 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::getDirSeparator() == std::string(dirSeparator)); |
46 |
1 |
} |
|
47 |
|||
48 |
✓✗ | 3 |
TEST_CASE("VirtFs getBaseDir", "") |
49 |
{ |
||
50 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::getBaseDir() != nullptr); |
51 |
1 |
} |
|
52 |
|||
53 |
✓✗ | 3 |
TEST_CASE("VirtFs getUserDir", "") |
54 |
{ |
||
55 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::getUserDir() != nullptr); |
56 |
1 |
} |
|
57 |
|||
58 |
✓✗ | 3 |
TEST_CASE("VirtFs exists1", "") |
59 |
{ |
||
60 |
✓✗ | 4 |
VirtFs::mountDirSilent("data", Append_false); |
61 |
✓✗ | 4 |
VirtFs::mountDirSilent("../data", Append_false); |
62 |
|||
63 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test") == true); |
64 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/dir1") == true); |
65 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/dir") == false); |
66 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units.xml") == true); |
67 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units123.xml") == false); |
68 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("tesQ/units.xml") == false); |
69 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("units.xml") == false); |
70 |
|||
71 |
✓✗ | 4 |
VirtFs::mountDirSilent("data/test", Append_false); |
72 |
✓✗ | 4 |
VirtFs::mountDirSilent("../data/test", Append_false); |
73 |
|||
74 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test") == true); |
75 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/dir1") == true); |
76 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/dir") == false); |
77 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units.xml") == true); |
78 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units123.xml") == false); |
79 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("tesQ/units.xml") == false); |
80 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("units.xml") == true); |
81 |
|||
82 |
✓✗ | 4 |
VirtFs::unmountDirSilent("data/test"); |
83 |
✓✗ | 4 |
VirtFs::unmountDirSilent("../data/test"); |
84 |
|||
85 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test") == true); |
86 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/dir1") == true); |
87 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/dir") == false); |
88 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units.xml") == true); |
89 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units123.xml") == false); |
90 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("tesQ/units.xml") == false); |
91 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::exists("units.xml") == false); |
92 |
|||
93 |
✓✗ | 4 |
VirtFs::unmountDirSilent("data"); |
94 |
✓✗ | 4 |
VirtFs::unmountDirSilent("../data"); |
95 |
1 |
} |
|
96 |
|||
97 |
✓✗ | 3 |
TEST_CASE("VirtFs exists2", "") |
98 |
{ |
||
99 |
4 |
std::string name("data/test/test.zip"); |
|
100 |
2 |
std::string prefix; |
|
101 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
102 |
✓✗ | 2 |
prefix = "../" + prefix; |
103 |
|||
104 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", Append_false); |
105 |
|||
106 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test") == false); |
107 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units.xml") == false); |
108 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test.txt") == true); |
109 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/hide.png") == true); |
110 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/gpl") == true); |
111 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/gpl/zzz") == false); |
112 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("units.xml") == true); |
113 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("units.xml.") == false); |
114 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("units.xml2") == false); |
115 |
|||
116 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
117 |
1 |
} |
|
118 |
|||
119 |
✓✗ | 3 |
TEST_CASE("VirtFs exists3", "") |
120 |
{ |
||
121 |
4 |
std::string name("data/test/test.zip"); |
|
122 |
2 |
std::string prefix; |
|
123 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
124 |
✓✗ | 2 |
prefix = "../" + prefix; |
125 |
|||
126 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test.zip", Append_false); |
127 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", Append_false); |
128 |
|||
129 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test") == false); |
130 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units.xml") == false); |
131 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
5 |
REQUIRE(VirtFs::exists("dir/brimmedhat.png")); |
132 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir//brimmedhat.png")); |
133 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir//hide.png")); |
134 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir/1")); |
135 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir/gpl")); |
136 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir/dye.png")); |
137 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/2") == false); |
138 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir2/2") == false); |
139 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗ |
5 |
REQUIRE(VirtFs::exists("dir2/paths.xml")); |
140 |
|||
141 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test.zip"); |
142 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
143 |
1 |
} |
|
144 |
|||
145 |
✓✗ | 3 |
TEST_CASE("VirtFs exists4", "") |
146 |
{ |
||
147 |
4 |
std::string name("data/test/test.zip"); |
|
148 |
2 |
std::string prefix; |
|
149 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
150 |
✓✗ | 2 |
prefix = "../" + prefix; |
151 |
|||
152 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test.zip", Append_false); |
153 |
✓✗✓✗ |
2 |
VirtFs::mountDirSilent(prefix + "data/test", Append_false); |
154 |
|||
155 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test") == false); |
156 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units.xml") == false); |
157 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir/brimmedhat.png")); |
158 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir//brimmedhat.png")); |
159 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir//hide.png")); |
160 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/1") == false); |
161 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/gpl") == false); |
162 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/dye.png") == false); |
163 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/2") == false); |
164 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir2/2") == false); |
165 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir2/paths.xml") == false); |
166 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("units.xml")); |
167 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir1/file1.txt")); |
168 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir2/file2.txt")); |
169 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir2/file3.txt") == false); |
170 |
|||
171 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test.zip"); |
172 |
✓✗✓✗ |
2 |
VirtFs::unmountDirSilent(prefix + "data/test"); |
173 |
1 |
} |
|
174 |
|||
175 |
✓✗ | 3 |
TEST_CASE("VirtFs exists5", "") |
176 |
{ |
||
177 |
4 |
std::string name("data/test/test.zip"); |
|
178 |
2 |
std::string prefix; |
|
179 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
180 |
✓✗ | 2 |
prefix = "../" + prefix; |
181 |
|||
182 |
✓✗✓✗ |
3 |
const std::string realDir = getRealPath(prefix + "data"); |
183 |
✓✗✓✗ |
2 |
logger->log("real dir: " + realDir); |
184 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
5 |
REQUIRE_FALSE(VirtFs::exists(realDir)); |
185 |
1 |
} |
|
186 |
|||
187 |
✓✗ | 3 |
TEST_CASE("VirtFs exists6", "") |
188 |
{ |
||
189 |
4 |
std::string name("data/test/test.zip"); |
|
190 |
2 |
std::string prefix; |
|
191 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
192 |
✓✗ | 2 |
prefix = "../" + prefix; |
193 |
|||
194 |
✓✗✓✗ |
5 |
VirtFs::mountZip2(prefix + "data/test/test2.zip", |
195 |
"dir", |
||
196 |
✓✗ | 1 |
Append_false); |
197 |
|||
198 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test") == false); |
199 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test/units.xml") == false); |
200 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("test.txt") == false); |
201 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/hide.png") == false); |
202 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/gpl") == false); |
203 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("dir/gpl/zzz") == false); |
204 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("units.xml") == false); |
205 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("units.xml.") == false); |
206 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("units.xml2") == false); |
207 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("hide.png")); |
208 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dye.png")); |
209 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("gpl")); |
210 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::exists("gpl/zzz") == false); |
211 |
|||
212 |
✓✗✓✗ |
5 |
VirtFs::unmountZip2(prefix + "data/test/test2.zip", |
213 |
✓✗ | 1 |
"dir"); |
214 |
1 |
} |
|
215 |
|||
216 |
10 |
static void removeTemp(StringVect &restrict list) |
|
217 |
{ |
||
218 |
10 |
int cnt = 0; |
|
219 |
30 |
std::sort(list.begin(), list.end()); |
|
220 |
|||
221 |
✓✓ | 282 |
FOR_EACH (StringVectIter, it, list) |
222 |
{ |
||
223 |
✓✗ | 504 |
if (*it != "serverlistplus.xml.part") |
224 |
{ |
||
225 |
252 |
logger->log("file: %d %s", |
|
226 |
cnt, |
||
227 |
504 |
(*it).c_str()); |
|
228 |
252 |
cnt ++; |
|
229 |
} |
||
230 |
} |
||
231 |
|||
232 |
✓✓ | 282 |
FOR_EACH (StringVectIter, it, list) |
233 |
{ |
||
234 |
✗✓ | 504 |
if (*it == "serverlistplus.xml.part") |
235 |
{ |
||
236 |
list.erase(it); |
||
237 |
return; |
||
238 |
} |
||
239 |
} |
||
240 |
} |
||
241 |
|||
242 |
static bool inList(const VirtFs::List *const list, |
||
243 |
const std::string &name) |
||
244 |
{ |
||
245 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗ |
86 |
FOR_EACH (StringVectCIter, it, list->names) |
246 |
{ |
||
247 |
✓✓✓✓ ✓✓✓✓ ✓✓✓✓ ✓✓✓✓ ✗✓✓✓ ✗✓ |
53 |
if (*it == name) |
248 |
return true; |
||
249 |
} |
||
250 |
return false; |
||
251 |
} |
||
252 |
|||
253 |
✓✗ | 3 |
TEST_CASE("VirtFs enumerateFiles1", "") |
254 |
{ |
||
255 |
✓✗ | 4 |
VirtFs::mountDirSilent("data", Append_false); |
256 |
✓✗ | 4 |
VirtFs::mountDirSilent("../data", Append_false); |
257 |
|||
258 |
1 |
VirtFs::List *list = nullptr; |
|
259 |
|||
260 |
✓✗✗✓ |
4 |
const int cnt1 = VirtFs::exists("test/test2.txt") ? 30 : 29; |
261 |
1 |
const int cnt2 = 30; |
|
262 |
|||
263 |
1 |
VirtFs::permitLinks(false); |
|
264 |
✓✗ | 4 |
list = VirtFs::enumerateFiles("test"); |
265 |
1 |
removeTemp(list->names); |
|
266 |
2 |
const size_t sz = list->names.size(); |
|
267 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(sz == cnt1); |
268 |
1 |
VirtFs::freeList(list); |
|
269 |
|||
270 |
1 |
VirtFs::permitLinks(true); |
|
271 |
✓✗ | 4 |
list = VirtFs::enumerateFiles("test"); |
272 |
1 |
removeTemp(list->names); |
|
273 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
5 |
REQUIRE(list->names.size() == cnt2); |
274 |
1 |
VirtFs::freeList(list); |
|
275 |
|||
276 |
1 |
VirtFs::permitLinks(false); |
|
277 |
✓✗ | 4 |
list = VirtFs::enumerateFiles("test"); |
278 |
1 |
removeTemp(list->names); |
|
279 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
5 |
REQUIRE(list->names.size() == cnt1); |
280 |
1 |
VirtFs::freeList(list); |
|
281 |
|||
282 |
✓✗ | 4 |
list = VirtFs::enumerateFiles("test/units.xml"); |
283 |
1 |
removeTemp(list->names); |
|
284 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(list->names.empty()); |
285 |
1 |
VirtFs::freeList(list); |
|
286 |
|||
287 |
✓✗ | 4 |
VirtFs::unmountDirSilent("data"); |
288 |
✓✗ | 4 |
VirtFs::unmountDirSilent("../data"); |
289 |
1 |
} |
|
290 |
|||
291 |
✓✗ | 3 |
TEST_CASE("VirtFs enumerateFiles2", "") |
292 |
{ |
||
293 |
4 |
VirtFs::mountDirSilent("data/test/dir1", |
|
294 |
✓✗ | 1 |
Append_false); |
295 |
4 |
VirtFs::mountDirSilent("../data/test/dir1", |
|
296 |
✓✗ | 1 |
Append_false); |
297 |
|||
298 |
1 |
VirtFs::List *list = nullptr; |
|
299 |
|||
300 |
✓✗ | 4 |
list = VirtFs::enumerateFiles("/"); |
301 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
5 |
REQUIRE(list->names.size() == 5); |
302 |
1 |
VirtFs::freeList(list); |
|
303 |
|||
304 |
✓✗ | 4 |
VirtFs::unmountDirSilent("data/test/dir1"); |
305 |
✓✗ | 4 |
VirtFs::unmountDirSilent("../data/test/dir1"); |
306 |
1 |
} |
|
307 |
|||
308 |
✓✗ | 3 |
TEST_CASE("VirtFs enumerateFiles3", "") |
309 |
{ |
||
310 |
4 |
std::string name("data/test/test.zip"); |
|
311 |
2 |
std::string prefix; |
|
312 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
313 |
✓✗ | 2 |
prefix = "../" + prefix; |
314 |
|||
315 |
✓✗ | 2 |
VirtFs::mountZip(prefix + "data/test/test.zip", |
316 |
✓✗ | 1 |
Append_false); |
317 |
|||
318 |
1 |
VirtFs::List *list = nullptr; |
|
319 |
|||
320 |
✓✗✓✗ |
4 |
list = VirtFs::enumerateFiles("/"); |
321 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
5 |
REQUIRE(list->names.size() == 1); |
322 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "dir")); |
323 |
✓✗ | 1 |
VirtFs::freeList(list); |
324 |
|||
325 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test.zip"); |
326 |
1 |
} |
|
327 |
|||
328 |
✓✗ | 3 |
TEST_CASE("VirtFs enumerateFiles4", "") |
329 |
{ |
||
330 |
4 |
std::string name("data/test/test.zip"); |
|
331 |
2 |
std::string prefix; |
|
332 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
333 |
✓✗ | 2 |
prefix = "../" + prefix; |
334 |
|||
335 |
✓✗ | 2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", |
336 |
✓✗ | 1 |
Append_false); |
337 |
|||
338 |
1 |
VirtFs::List *list = nullptr; |
|
339 |
|||
340 |
✓✗✓✗ |
4 |
list = VirtFs::enumerateFiles("/"); |
341 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
5 |
REQUIRE(list->names.size() == 4); |
342 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "dir")); |
343 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "dir2")); |
344 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "test.txt")); |
345 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "units.xml")); |
346 |
✓✗ | 1 |
VirtFs::freeList(list); |
347 |
|||
348 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
349 |
1 |
} |
|
350 |
|||
351 |
✓✗ | 3 |
TEST_CASE("VirtFs enumerateFiles5", "") |
352 |
{ |
||
353 |
4 |
std::string name("data/test/test.zip"); |
|
354 |
2 |
std::string prefix; |
|
355 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
356 |
✓✗ | 2 |
prefix = "../" + prefix; |
357 |
|||
358 |
✓✗ | 2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", |
359 |
✓✗ | 1 |
Append_false); |
360 |
✓✗✓✗ |
2 |
VirtFs::mountDirSilent(prefix + "data/test", Append_false); |
361 |
|||
362 |
1 |
VirtFs::List *list = nullptr; |
|
363 |
|||
364 |
✓✗✓✗ |
4 |
list = VirtFs::enumerateFiles("dir2"); |
365 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "file1.txt")); |
366 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "file2.txt")); |
367 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "hide.png")); |
368 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "paths.xml")); |
369 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "test.txt")); |
370 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(inList(list, "units.xml")); |
371 |
✓✗ | 1 |
VirtFs::freeList(list); |
372 |
|||
373 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
374 |
✓✗✓✗ |
2 |
VirtFs::unmountDirSilent(prefix + "data/test"); |
375 |
1 |
} |
|
376 |
|||
377 |
✓✗ | 3 |
TEST_CASE("VirtFs isDirectory1", "") |
378 |
{ |
||
379 |
✓✗ | 4 |
VirtFs::mountDirSilent("data", Append_false); |
380 |
✓✗ | 4 |
VirtFs::mountDirSilent("../data", Append_false); |
381 |
|||
382 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units.xml") == false); |
383 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units.xml/") == false); |
384 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
6 |
REQUIRE(VirtFs::isDirectory("test//units.xml") == false); |
385 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units123.xml") == false); |
386 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test//units123.xml") == false); |
387 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("tesQ/units.xml") == false); |
388 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("tesQ//units.xml") == false); |
389 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("units.xml") == false); |
390 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test") == true); |
391 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/") == true); |
392 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test//") == true); |
393 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/dir1") == true); |
394 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test//dir1") == true); |
395 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test//dir1/") == true); |
396 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test//dir1//") == true); |
397 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/dir1/") == true); |
398 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/dir1//") == true); |
399 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("testQ") == false); |
400 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("testQ/") == false); |
401 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("testQ//") == false); |
402 |
|||
403 |
✓✗ | 4 |
VirtFs::mountDirSilent("data/test", Append_false); |
404 |
✓✗ | 4 |
VirtFs::mountDirSilent("../data/test", Append_false); |
405 |
|||
406 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units.xml") == false); |
407 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units.xml/") == false); |
408 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test//units.xml") == false); |
409 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units123.xml") == false); |
410 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("tesQ/units.xml") == false); |
411 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("units.xml") == false); |
412 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test") == true); |
413 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("testQ") == false); |
414 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/dir1") == true); |
415 |
|||
416 |
✓✗ | 4 |
VirtFs::unmountDirSilent("data/test"); |
417 |
✓✗ | 4 |
VirtFs::unmountDirSilent("../data/test"); |
418 |
|||
419 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units.xml") == false); |
420 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units123.xml") == false); |
421 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("tesQ/units.xml") == false); |
422 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("units.xml") == false); |
423 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("units.xml/") == false); |
424 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test") == true); |
425 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/") == true); |
426 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("testQ") == false); |
427 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/dir1") == true); |
428 |
|||
429 |
✓✗ | 4 |
VirtFs::unmountDirSilent("data"); |
430 |
✓✗ | 4 |
VirtFs::unmountDirSilent("../data"); |
431 |
1 |
} |
|
432 |
|||
433 |
✓✗ | 3 |
TEST_CASE("VirtFs isDirectory2", "") |
434 |
{ |
||
435 |
4 |
std::string name("data/test/test.zip"); |
|
436 |
2 |
std::string prefix; |
|
437 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
438 |
✓✗ | 2 |
prefix = "../" + prefix; |
439 |
|||
440 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", Append_false); |
441 |
|||
442 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units.xml") == false); |
443 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("dir") == true); |
444 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("dir/") == true); |
445 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("dir//") == true); |
446 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("dir2") == true); |
447 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("dir3") == false); |
448 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test.txt") == false); |
449 |
|||
450 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
451 |
1 |
} |
|
452 |
|||
453 |
✓✗ | 3 |
TEST_CASE("VirtFs isDirectory3", "") |
454 |
{ |
||
455 |
4 |
std::string name("data/test/test.zip"); |
|
456 |
2 |
std::string prefix; |
|
457 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
458 |
✓✗ | 2 |
prefix = "../" + prefix; |
459 |
|||
460 |
✓✗✓✗ |
2 |
VirtFs::mountDir(prefix + "data", Append_false); |
461 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", Append_false); |
462 |
|||
463 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test/units.xml") == false); |
464 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::isDirectory("test")); |
465 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test//dye.png") == false); |
466 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::isDirectory("dir")); |
467 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::isDirectory("dir/")); |
468 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::isDirectory("dir//")); |
469 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::isDirectory("dir2")); |
470 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("dir3") == false); |
471 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("test.txt") == false); |
472 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
7 |
REQUIRE(VirtFs::isDirectory("dir/hide.png") == false); |
473 |
|||
474 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
475 |
✓✗✓✗ |
2 |
VirtFs::unmountDir(prefix + "data"); |
476 |
1 |
} |
|
477 |
|||
478 |
✓✗ | 3 |
TEST_CASE("VirtFs openRead1", "") |
479 |
{ |
||
480 |
✓✗ | 4 |
VirtFs::mountDirSilent("data", Append_false); |
481 |
✓✗ | 4 |
VirtFs::mountDirSilent("../data", Append_false); |
482 |
|||
483 |
1 |
VirtFs::File *file = nullptr; |
|
484 |
|||
485 |
✓✗ | 4 |
file = VirtFs::openRead("test/units.xml"); |
486 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file != nullptr); |
487 |
1 |
VirtFs::close(file); |
|
488 |
✓✗ | 4 |
file = VirtFs::openRead("test/units123.xml"); |
489 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
490 |
✓✗ | 4 |
file = VirtFs::openRead("tesQ/units.xml"); |
491 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
492 |
✓✗ | 4 |
file = VirtFs::openRead("units.xml"); |
493 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
494 |
// file = VirtFs::openRead("test"); |
||
495 |
// REQUIRE(file == nullptr); |
||
496 |
✓✗ | 4 |
file = VirtFs::openRead("testQ"); |
497 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
498 |
|||
499 |
✓✗ | 4 |
VirtFs::mountDirSilent("data/test", Append_false); |
500 |
✓✗ | 4 |
VirtFs::mountDirSilent("../data/test", Append_false); |
501 |
|||
502 |
✓✗ | 4 |
file = VirtFs::openRead("test/units.xml"); |
503 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file != nullptr); |
504 |
1 |
VirtFs::close(file); |
|
505 |
✓✗ | 4 |
file = VirtFs::openRead("test/units123.xml"); |
506 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
507 |
✓✗ | 4 |
file = VirtFs::openRead("tesQ/units.xml"); |
508 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
509 |
✓✗ | 4 |
file = VirtFs::openRead("units.xml"); |
510 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file != nullptr); |
511 |
1 |
VirtFs::close(file); |
|
512 |
// file = VirtFs::openRead("test"); |
||
513 |
// REQUIRE(file == nullptr); |
||
514 |
✓✗ | 4 |
file = VirtFs::openRead("testQ"); |
515 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
516 |
|||
517 |
✓✗ | 4 |
VirtFs::unmountDirSilent("data/test"); |
518 |
✓✗ | 4 |
VirtFs::unmountDirSilent("../data/test"); |
519 |
|||
520 |
✓✗ | 4 |
file = VirtFs::openRead("test/units.xml"); |
521 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file != nullptr); |
522 |
1 |
VirtFs::close(file); |
|
523 |
✓✗ | 4 |
file = VirtFs::openRead("test/units123.xml"); |
524 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
525 |
✓✗ | 4 |
file = VirtFs::openRead("tesQ/units.xml"); |
526 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
527 |
✓✗ | 4 |
file = VirtFs::openRead("units.xml"); |
528 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
529 |
// file = VirtFs::openRead("test"); |
||
530 |
// REQUIRE(file == nullptr); |
||
531 |
✓✗ | 4 |
file = VirtFs::openRead("testQ"); |
532 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file == nullptr); |
533 |
|||
534 |
✓✗ | 4 |
VirtFs::unmountDirSilent("data"); |
535 |
✓✗ | 4 |
VirtFs::unmountDirSilent("../data"); |
536 |
1 |
} |
|
537 |
|||
538 |
✓✗ | 3 |
TEST_CASE("VirtFs openRead2", "") |
539 |
{ |
||
540 |
4 |
std::string name("data/test/test.zip"); |
|
541 |
2 |
std::string prefix; |
|
542 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
543 |
✓✗ | 2 |
prefix = "../" + prefix; |
544 |
|||
545 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", Append_false); |
546 |
|||
547 |
1 |
VirtFs::File *file = nullptr; |
|
548 |
|||
549 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("test/units.xml"); |
550 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file == nullptr); |
551 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("units.xml"); |
552 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
553 |
✓✗ | 1 |
VirtFs::close(file); |
554 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("dir/hide.png"); |
555 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
556 |
✓✗ | 1 |
VirtFs::close(file); |
557 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("dir//hide.png"); |
558 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
559 |
✓✗ | 1 |
VirtFs::close(file); |
560 |
|||
561 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
562 |
1 |
} |
|
563 |
|||
564 |
✓✗ | 3 |
TEST_CASE("VirtFs openRead3", "") |
565 |
{ |
||
566 |
4 |
std::string name("data/test/test.zip"); |
|
567 |
2 |
std::string prefix; |
|
568 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
569 |
✓✗ | 2 |
prefix = "../" + prefix; |
570 |
|||
571 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", Append_false); |
572 |
✓✗✓✗ |
2 |
VirtFs::mountDir(prefix + "data/test", Append_false); |
573 |
|||
574 |
1 |
VirtFs::File *file = nullptr; |
|
575 |
|||
576 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("test/units.xml"); |
577 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file == nullptr); |
578 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("units.xml"); |
579 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
580 |
✓✗ | 1 |
VirtFs::close(file); |
581 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("dir/hide.png"); |
582 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
583 |
✓✗ | 1 |
VirtFs::close(file); |
584 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("dir//hide.png"); |
585 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
586 |
✓✗ | 1 |
VirtFs::close(file); |
587 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("dir/dye.png"); |
588 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
589 |
✓✗ | 1 |
VirtFs::close(file); |
590 |
✓✗✓✗ |
4 |
file = VirtFs::openRead("dir/dye.pn_"); |
591 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file == nullptr); |
592 |
|||
593 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
594 |
✓✗✓✗ |
2 |
VirtFs::unmountDir(prefix + "data/test"); |
595 |
1 |
} |
|
596 |
|||
597 |
✓✗ | 3 |
TEST_CASE("VirtFs getRealDir1", "") |
598 |
{ |
||
599 |
4 |
const std::string sep = dirSeparator; |
|
600 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
8 |
REQUIRE(VirtFs::getRealDir(".").empty()); |
601 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
8 |
REQUIRE(VirtFs::getRealDir("..").empty()); |
602 |
✓✗✓✗ |
4 |
const bool dir1 = VirtFs::mountDirSilent("data", Append_false); |
603 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ ✗✗ |
6 |
REQUIRE((dir1 || VirtFs::mountDirSilent("../data", Append_false)) |
604 |
== true); |
||
605 |
✗✓ | 1 |
if (dir1 == true) |
606 |
{ |
||
607 |
REQUIRE(VirtFs::getRealDir("test") == "data"); |
||
608 |
REQUIRE(VirtFs::getRealDir("test/test.txt") == |
||
609 |
"data"); |
||
610 |
} |
||
611 |
else |
||
612 |
{ |
||
613 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
8 |
REQUIRE(VirtFs::getRealDir("test") == "../data"); |
614 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
8 |
REQUIRE(VirtFs::getRealDir("test/test.txt") == |
615 |
"../data"); |
||
616 |
} |
||
617 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
8 |
REQUIRE(VirtFs::getRealDir("zzz").empty()); |
618 |
|||
619 |
✓✗✓✗ |
4 |
VirtFs::mountDirSilent("data/test", Append_false); |
620 |
✓✗✓✗ |
4 |
VirtFs::mountDirSilent("../data/test", Append_false); |
621 |
✗✓ | 1 |
if (dir1 == true) |
622 |
{ |
||
623 |
REQUIRE(VirtFs::getRealDir("test") == "data"); |
||
624 |
REQUIRE(VirtFs::getRealDir("test/test.txt") == |
||
625 |
"data"); |
||
626 |
REQUIRE(VirtFs::getRealDir("test.txt") == |
||
627 |
"data" + sep + "test"); |
||
628 |
} |
||
629 |
else |
||
630 |
{ |
||
631 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
10 |
REQUIRE(VirtFs::getRealDir("test") == ".." + sep + "data"); |
632 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
10 |
REQUIRE(VirtFs::getRealDir("test/test.txt") == |
633 |
".." + sep + "data"); |
||
634 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
12 |
REQUIRE(VirtFs::getRealDir("test.txt") == |
635 |
".." + sep + "data" + sep + "test"); |
||
636 |
} |
||
637 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
8 |
REQUIRE(VirtFs::getRealDir("zzz").empty()); |
638 |
|||
639 |
✗✓ | 1 |
if (dir1 == true) |
640 |
{ |
||
641 |
VirtFs::mountZip("data/test/test.zip", Append_false); |
||
642 |
REQUIRE(VirtFs::getRealDir("dir/brimmedhat.png") == |
||
643 |
"data" + sep + "test" + sep + "test.zip"); |
||
644 |
REQUIRE(VirtFs::getRealDir("hide.png") == |
||
645 |
"data" + sep + "test"); |
||
646 |
} |
||
647 |
else |
||
648 |
{ |
||
649 |
✓✗✓✗ |
4 |
VirtFs::mountZip("../data/test/test.zip", Append_false); |
650 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
14 |
REQUIRE(VirtFs::getRealDir("dir/brimmedhat.png") == |
651 |
".." + sep + "data" + sep + "test" + sep + "test.zip"); |
||
652 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
12 |
REQUIRE(VirtFs::getRealDir("hide.png") == |
653 |
".." + sep + "data" + sep + "test"); |
||
654 |
} |
||
655 |
|||
656 |
✓✗✓✗ |
4 |
VirtFs::unmountDirSilent("data/test"); |
657 |
✓✗✓✗ |
4 |
VirtFs::unmountDirSilent("../data/test"); |
658 |
|||
659 |
✗✓ | 1 |
if (dir1 == true) |
660 |
{ |
||
661 |
REQUIRE(VirtFs::getRealDir("test") == "data"); |
||
662 |
REQUIRE(VirtFs::getRealDir("test/test.txt") == |
||
663 |
"data"); |
||
664 |
REQUIRE(VirtFs::getRealDir("dir/hide.png") == |
||
665 |
"data" + sep + "test" + sep + "test.zip"); |
||
666 |
} |
||
667 |
else |
||
668 |
{ |
||
669 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
10 |
REQUIRE(VirtFs::getRealDir("test") == ".." + sep + "data"); |
670 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
10 |
REQUIRE(VirtFs::getRealDir("test/test.txt") == |
671 |
".." + sep + "data"); |
||
672 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
14 |
REQUIRE(VirtFs::getRealDir("dir/hide.png") == |
673 |
".." + sep + "data" + sep + "test" + sep + "test.zip"); |
||
674 |
} |
||
675 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
6 |
REQUIRE(VirtFs::exists("dir/hide.png")); |
676 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
8 |
REQUIRE(VirtFs::getRealDir("zzz").empty()); |
677 |
|||
678 |
✓✗✓✗ |
4 |
VirtFs::unmountDirSilent("data"); |
679 |
✓✗✓✗ |
4 |
VirtFs::unmountDirSilent("../data"); |
680 |
✗✓ | 1 |
if (dir1 == true) |
681 |
VirtFs::unmountZip("data/test/test.zip"); |
||
682 |
else |
||
683 |
✓✗✓✗ |
4 |
VirtFs::unmountZip("../data/test/test.zip"); |
684 |
1 |
} |
|
685 |
|||
686 |
✓✗ | 3 |
TEST_CASE("VirtFs getrealDir2", "") |
687 |
{ |
||
688 |
4 |
const std::string sep = dirSeparator; |
|
689 |
✓✗ | 4 |
std::string name("data/test/test.zip"); |
690 |
2 |
std::string prefix; |
|
691 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
692 |
✓✗ | 2 |
prefix = "../" + prefix; |
693 |
|||
694 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", Append_false); |
695 |
✓✗✓✗ |
2 |
VirtFs::mountDir(prefix + "data/test", Append_false); |
696 |
✓✗✓✗ |
2 |
VirtFs::mountDir(prefix + "data", Append_false); |
697 |
|||
698 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
8 |
REQUIRE(VirtFs::getRealDir("zzz").empty()); |
699 |
|||
700 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
11 |
REQUIRE(VirtFs::getRealDir("dir1/file1.txt") == |
701 |
prefix + "data" + sep + "test"); |
||
702 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
11 |
REQUIRE(VirtFs::getRealDir("hide.png") == |
703 |
prefix + "data" + sep + "test"); |
||
704 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
13 |
REQUIRE(VirtFs::getRealDir("dir//hide.png") == |
705 |
prefix + "data" + sep + "test" + sep + "test2.zip"); |
||
706 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
13 |
REQUIRE(VirtFs::getRealDir("dir/1//test.txt") == |
707 |
prefix + "data" + sep + "test" + sep + "test2.zip"); |
||
708 |
|||
709 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
710 |
✓✗✓✗ |
2 |
VirtFs::unmountDir(prefix + "data/test"); |
711 |
✓✗✓✗ |
2 |
VirtFs::unmountDir(prefix + "data"); |
712 |
1 |
} |
|
713 |
|||
714 |
✓✗ | 3 |
TEST_CASE("VirtFs getrealDir3", "") |
715 |
{ |
||
716 |
4 |
const std::string sep = dirSeparator; |
|
717 |
✓✗ | 4 |
std::string name("data/test/test.zip"); |
718 |
2 |
std::string prefix; |
|
719 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
720 |
✓✗ | 2 |
prefix = "../" + prefix; |
721 |
|||
722 |
✓✗✓✗ |
5 |
VirtFs::mountZip2(prefix + "data/test/test2.zip", |
723 |
"dir", |
||
724 |
✓✗ | 1 |
Append_false); |
725 |
✓✗✓✗ |
2 |
VirtFs::mountDir(prefix + "data/test", Append_false); |
726 |
|||
727 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
8 |
REQUIRE(VirtFs::getRealDir("zzz").empty()); |
728 |
|||
729 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
11 |
REQUIRE(VirtFs::getRealDir("dir1/file1.txt") == |
730 |
prefix + "data" + sep + "test"); |
||
731 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
11 |
REQUIRE(VirtFs::getRealDir("hide.png") == |
732 |
prefix + "data" + sep + "test"); |
||
733 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
11 |
REQUIRE(VirtFs::getRealDir("hide.png") == |
734 |
prefix + "data" + sep + "test"); |
||
735 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
13 |
REQUIRE(VirtFs::getRealDir("1//test.txt") == |
736 |
prefix + "data" + sep + "test" + sep + "test2.zip"); |
||
737 |
|||
738 |
✓✗✓✗ |
5 |
VirtFs::unmountZip2(prefix + "data/test/test2.zip", |
739 |
✓✗ | 1 |
"dir"); |
740 |
✓✗✓✗ |
2 |
VirtFs::unmountDir(prefix + "data/test"); |
741 |
1 |
} |
|
742 |
|||
743 |
✓✗ | 3 |
TEST_CASE("VirtFs permitLinks1", "") |
744 |
{ |
||
745 |
✓✗ | 4 |
VirtFs::mountDirSilent("data", Append_false); |
746 |
✓✗ | 4 |
VirtFs::mountDirSilent("../data", Append_false); |
747 |
|||
748 |
✓✗✗✓ |
4 |
const int cnt1 = VirtFs::exists("test/test2.txt") ? 27 : 26; |
749 |
1 |
const int cnt2 = 27; |
|
750 |
|||
751 |
2 |
StringVect list; |
|
752 |
✓✗ | 1 |
VirtFs::permitLinks(false); |
753 |
✓✗✓✗ |
4 |
VirtFs::getFiles("test", list); |
754 |
✓✗ | 1 |
removeTemp(list); |
755 |
2 |
const size_t sz = list.size(); |
|
756 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(sz == cnt1); |
757 |
|||
758 |
1 |
list.clear(); |
|
759 |
✓✗ | 1 |
VirtFs::permitLinks(true); |
760 |
✓✗✓✗ |
4 |
VirtFs::getFiles("test", list); |
761 |
✓✗ | 1 |
removeTemp(list); |
762 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
5 |
REQUIRE(list.size() == cnt2); |
763 |
|||
764 |
1 |
list.clear(); |
|
765 |
✓✗ | 1 |
VirtFs::permitLinks(false); |
766 |
✓✗✓✗ |
4 |
VirtFs::getFiles("test", list); |
767 |
✓✗ | 1 |
removeTemp(list); |
768 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
5 |
REQUIRE(list.size() == cnt1); |
769 |
|||
770 |
✓✗✓✗ |
4 |
VirtFs::unmountDirSilent("data"); |
771 |
✓✗✓✗ |
4 |
VirtFs::unmountDirSilent("../data"); |
772 |
1 |
} |
|
773 |
|||
774 |
✓✗ | 3 |
TEST_CASE("VirtFs permitLinks2", "") |
775 |
{ |
||
776 |
✓✗ | 7 |
VirtFs::mountDirSilent2("data", |
777 |
"test", |
||
778 |
✓✗ | 1 |
Append_false); |
779 |
✓✗ | 7 |
VirtFs::mountDirSilent2("../data", |
780 |
"test", |
||
781 |
✓✗ | 1 |
Append_false); |
782 |
|||
783 |
✓✗✗✓ |
4 |
const int cnt1 = VirtFs::exists("test2.txt") ? 27 : 26; |
784 |
1 |
const int cnt2 = 27; |
|
785 |
|||
786 |
2 |
StringVect list; |
|
787 |
✓✗ | 1 |
VirtFs::permitLinks(false); |
788 |
✓✗✓✗ |
4 |
VirtFs::getFiles(dirSeparator, list); |
789 |
✓✗ | 1 |
removeTemp(list); |
790 |
2 |
const size_t sz = list.size(); |
|
791 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(sz == cnt1); |
792 |
|||
793 |
1 |
list.clear(); |
|
794 |
✓✗ | 1 |
VirtFs::permitLinks(true); |
795 |
✓✗✓✗ |
4 |
VirtFs::getFiles(dirSeparator, list); |
796 |
✓✗ | 1 |
removeTemp(list); |
797 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
5 |
REQUIRE(list.size() == cnt2); |
798 |
|||
799 |
1 |
list.clear(); |
|
800 |
✓✗ | 1 |
VirtFs::permitLinks(false); |
801 |
✓✗✓✗ |
4 |
VirtFs::getFiles(dirSeparator, list); |
802 |
✓✗ | 1 |
removeTemp(list); |
803 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
5 |
REQUIRE(list.size() == cnt1); |
804 |
|||
805 |
✓✗✓✗ |
7 |
VirtFs::unmountDirSilent2("data", |
806 |
✓✗ | 1 |
"test"); |
807 |
✓✗✓✗ |
7 |
VirtFs::unmountDirSilent2("../data", |
808 |
✓✗ | 1 |
"test"); |
809 |
1 |
} |
|
810 |
|||
811 |
✓✗ | 3 |
TEST_CASE("VirtFs read1", "") |
812 |
{ |
||
813 |
✓✗ | 4 |
VirtFs::mountDirSilent("data", Append_false); |
814 |
✓✗ | 4 |
VirtFs::mountDirSilent("../data", Append_false); |
815 |
|||
816 |
✓✗ | 4 |
VirtFs::File *file = VirtFs::openRead("test/test.txt"); |
817 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(file != nullptr); |
818 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::fileLength(file) == 23); |
819 |
1 |
const int fileSize = VirtFs::fileLength(file); |
|
820 |
|||
821 |
1 |
void *restrict buffer = calloc(fileSize + 1, 1); |
|
822 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, fileSize) == fileSize); |
823 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
824 |
"test line 1\ntest line 2") == 0); |
||
825 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == fileSize); |
826 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
827 |
|||
828 |
1 |
free(buffer); |
|
829 |
1 |
buffer = calloc(fileSize + 1, 1); |
|
830 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::seek(file, 12) != 0); |
831 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == false); |
832 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == 12); |
833 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, 11) == 11); |
834 |
✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
835 |
"test line 2") == 0); |
||
836 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
837 |
|||
838 |
1 |
VirtFs::close(file); |
|
839 |
1 |
free(buffer); |
|
840 |
|||
841 |
✓✗ | 4 |
VirtFs::unmountDirSilent("data"); |
842 |
✓✗ | 4 |
VirtFs::unmountDirSilent("../data"); |
843 |
1 |
} |
|
844 |
|||
845 |
✓✗ | 3 |
TEST_CASE("VirtFs read2", "") |
846 |
{ |
||
847 |
4 |
std::string name("data/test/test.zip"); |
|
848 |
2 |
std::string prefix; |
|
849 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
850 |
✓✗ | 2 |
prefix = "../" + prefix; |
851 |
|||
852 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", Append_false); |
853 |
|||
854 |
✓✗✓✗ |
4 |
VirtFs::File *file = VirtFs::openRead("dir2/test.txt"); |
855 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
856 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::fileLength(file) == 23); |
857 |
✓✗ | 1 |
const int fileSize = VirtFs::fileLength(file); |
858 |
|||
859 |
1 |
void *restrict buffer = calloc(fileSize + 1, 1); |
|
860 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, fileSize) == fileSize); |
861 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
862 |
"test line 1\ntest line 2") == 0); |
||
863 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == fileSize); |
864 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
865 |
|||
866 |
1 |
free(buffer); |
|
867 |
1 |
buffer = calloc(fileSize + 1, 1); |
|
868 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::seek(file, 12) != 0); |
869 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == false); |
870 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == 12); |
871 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, 11) == 11); |
872 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
873 |
"test line 2") == 0); |
||
874 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
875 |
|||
876 |
✓✗ | 1 |
VirtFs::close(file); |
877 |
1 |
free(buffer); |
|
878 |
|||
879 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
880 |
1 |
} |
|
881 |
|||
882 |
✓✗ | 3 |
TEST_CASE("VirtFs read3", "") |
883 |
{ |
||
884 |
4 |
std::string name("data/test/test.zip"); |
|
885 |
2 |
std::string prefix; |
|
886 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
887 |
✓✗ | 2 |
prefix = "../" + prefix; |
888 |
|||
889 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test2.zip", Append_false); |
890 |
✓✗✓✗ |
2 |
VirtFs::mountDir(prefix + "data", Append_false); |
891 |
|||
892 |
✓✗✓✗ |
4 |
VirtFs::File *file = VirtFs::openRead("dir2/test.txt"); |
893 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
894 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::fileLength(file) == 23); |
895 |
✓✗ | 1 |
const int fileSize = VirtFs::fileLength(file); |
896 |
|||
897 |
1 |
void *restrict buffer = calloc(fileSize + 1, 1); |
|
898 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, fileSize) == fileSize); |
899 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
900 |
"test line 1\ntest line 2") == 0); |
||
901 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == fileSize); |
902 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
903 |
|||
904 |
1 |
free(buffer); |
|
905 |
1 |
buffer = calloc(fileSize + 1, 1); |
|
906 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::seek(file, 12) != 0); |
907 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == false); |
908 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == 12); |
909 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, 11) == 11); |
910 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
911 |
"test line 2") == 0); |
||
912 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
913 |
|||
914 |
✓✗ | 1 |
VirtFs::close(file); |
915 |
1 |
free(buffer); |
|
916 |
|||
917 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test2.zip"); |
918 |
✓✗✓✗ |
2 |
VirtFs::unmountDir(prefix + "data"); |
919 |
1 |
} |
|
920 |
|||
921 |
✓✗ | 3 |
TEST_CASE("VirtFs read4", "") |
922 |
{ |
||
923 |
4 |
std::string name("data/test/test.zip"); |
|
924 |
2 |
std::string prefix; |
|
925 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
926 |
✓✗ | 2 |
prefix = "../" + prefix; |
927 |
|||
928 |
✓✗✓✗ |
2 |
VirtFs::mountDir(prefix + "data/test", Append_true); |
929 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test5.zip", Append_true); |
930 |
|||
931 |
✓✗✓✗ |
4 |
VirtFs::File *file = VirtFs::openRead("dir1/file1.txt"); |
932 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
933 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::fileLength(file) == 23); |
934 |
✓✗ | 1 |
const int fileSize = VirtFs::fileLength(file); |
935 |
|||
936 |
1 |
void *restrict buffer = calloc(fileSize + 1, 1); |
|
937 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, fileSize) == fileSize); |
938 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
939 |
"test line 1\ntest line 2") == 0); |
||
940 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == fileSize); |
941 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
942 |
|||
943 |
1 |
free(buffer); |
|
944 |
1 |
buffer = calloc(fileSize + 1, 1); |
|
945 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::seek(file, 12) != 0); |
946 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == false); |
947 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == 12); |
948 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, 11) == 11); |
949 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
950 |
"test line 2") == 0); |
||
951 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
952 |
|||
953 |
✓✗ | 1 |
VirtFs::close(file); |
954 |
1 |
free(buffer); |
|
955 |
|||
956 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test5.zip"); |
957 |
✓✗✓✗ |
2 |
VirtFs::unmountDir(prefix + "data/test"); |
958 |
1 |
} |
|
959 |
|||
960 |
✓✗ | 3 |
TEST_CASE("VirtFs read5", "") |
961 |
{ |
||
962 |
4 |
std::string name("data/test/test.zip"); |
|
963 |
2 |
std::string prefix; |
|
964 |
✓✗✓✗ |
1 |
if (Files::existsLocal(name) == false) |
965 |
✓✗ | 2 |
prefix = "../" + prefix; |
966 |
|||
967 |
✓✗✓✗ |
2 |
VirtFs::mountZip(prefix + "data/test/test5.zip", Append_true); |
968 |
✓✗✓✗ |
2 |
VirtFs::mountDir(prefix + "data/test", Append_true); |
969 |
|||
970 |
✓✗✓✗ |
4 |
VirtFs::File *file = VirtFs::openRead("dir1/file1.txt"); |
971 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(file != nullptr); |
972 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::fileLength(file) == 23); |
973 |
✓✗ | 1 |
const int fileSize = VirtFs::fileLength(file); |
974 |
|||
975 |
1 |
void *restrict buffer = calloc(fileSize + 1, 1); |
|
976 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, fileSize) == fileSize); |
977 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
978 |
"test line 3\ntest line 4") == 0); |
||
979 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == fileSize); |
980 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
981 |
|||
982 |
1 |
free(buffer); |
|
983 |
1 |
buffer = calloc(fileSize + 1, 1); |
|
984 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::seek(file, 12) != 0); |
985 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == false); |
986 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::tell(file) == 12); |
987 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::read(file, buffer, 1, 11) == 11); |
988 |
✓✗✓✗ ✓✗✓✗ ✓✗✗✗ ✗✗ |
4 |
REQUIRE(strcmp(static_cast<char*>(buffer), |
989 |
"test line 4") == 0); |
||
990 |
✓✗✓✗ ✓✗✓✗ ✓✗✓✗ ✗✗✗✗ |
4 |
REQUIRE(VirtFs::eof(file) == true); |
991 |
|||
992 |
✓✗ | 1 |
VirtFs::close(file); |
993 |
1 |
free(buffer); |
|
994 |
|||
995 |
✓✗✓✗ |
2 |
VirtFs::unmountZip(prefix + "data/test/test5.zip"); |
996 |
✓✗✓✗ |
2 |
VirtFs::unmountDir(prefix + "data/test"); |
997 |
✓✗✓✗ |
4 |
} |
Generated by: GCOVR (Version 3.3) |