|
6 | 6 | * LICENSE file in the root directory of this source tree.
|
7 | 7 | */
|
8 | 8 |
|
| 9 | +#ifdef EXECUTORCH_FB_BUCK |
| 10 | +#include <TestResourceUtils/TestResourceUtils.h> |
| 11 | +#endif |
9 | 12 | #include <executorch/extension/llm/tokenizer/tiktoken.h>
|
10 | 13 | #include <executorch/runtime/platform/runtime.h>
|
11 | 14 | #include <gmock/gmock.h>
|
@@ -55,8 +58,13 @@ class TiktokenExtensionTest : public Test {
|
55 | 58 | executorch::runtime::runtime_init();
|
56 | 59 | tokenizer_ = std::make_unique<Tiktoken>(
|
57 | 60 | _get_special_tokens(), kBOSTokenIndex, kEOSTokenIndex);
|
| 61 | +#ifdef EXECUTORCH_FB_BUCK |
| 62 | + modelPath_ = |
| 63 | + facebook::xplat::testing::getPathForTestResource("resources/test_tiktoken_tokenizer.model"); |
| 64 | +#else |
58 | 65 | modelPath_ = std::getenv("RESOURCES_PATH") +
|
59 | 66 | std::string("/test_tiktoken_tokenizer.model");
|
| 67 | +#endif |
60 | 68 | }
|
61 | 69 |
|
62 | 70 | std::unique_ptr<Tokenizer> tokenizer_;
|
@@ -144,44 +152,58 @@ TEST_F(TiktokenExtensionTest, ConstructionWithInvalidEOSIndex) {
|
144 | 152 | }
|
145 | 153 |
|
146 | 154 | TEST_F(TiktokenExtensionTest, LoadWithInvalidPath) {
|
147 |
| - auto invalidModelPath = |
148 |
| - std::getenv("RESOURCES_PATH") + std::string("/nonexistent.model"); |
149 |
| - |
150 |
| - Error res = tokenizer_->load(invalidModelPath.c_str()); |
| 155 | + auto invalidModelPath = "./nonexistent.model"; |
| 156 | + Error res = tokenizer_->load(invalidModelPath); |
151 | 157 | EXPECT_EQ(res, Error::InvalidArgument);
|
152 | 158 | }
|
153 | 159 |
|
154 | 160 | TEST_F(TiktokenExtensionTest, LoadTiktokenFileWithInvalidRank) {
|
| 161 | +#ifdef EXECUTORCH_FB_BUCK |
| 162 | + auto invalidModelPath = |
| 163 | + facebook::xplat::testing::getPathForTestResource("resources/test_tiktoken_invalid_rank.model"); |
| 164 | +#else |
155 | 165 | auto invalidModelPath = std::getenv("RESOURCES_PATH") +
|
156 | 166 | std::string("/test_tiktoken_invalid_rank.model");
|
157 |
| - |
| 167 | +#endif |
158 | 168 | Error res = tokenizer_->load(invalidModelPath.c_str());
|
159 | 169 |
|
160 | 170 | EXPECT_EQ(res, Error::InvalidArgument);
|
161 | 171 | }
|
162 | 172 |
|
163 | 173 | TEST_F(TiktokenExtensionTest, LoadTiktokenFileWithInvalidBase64) {
|
| 174 | +#ifdef EXECUTORCH_FB_BUCK |
| 175 | + auto invalidModelPath = |
| 176 | + facebook::xplat::testing::getPathForTestResource("resources/test_tiktoken_invalid_base64.model"); |
| 177 | +#else |
164 | 178 | auto invalidModelPath = std::getenv("RESOURCES_PATH") +
|
165 | 179 | std::string("/test_tiktoken_invalid_base64.model");
|
166 |
| - |
| 180 | +#endif |
167 | 181 | Error res = tokenizer_->load(invalidModelPath.c_str());
|
168 | 182 |
|
169 | 183 | EXPECT_EQ(res, Error::InvalidArgument);
|
170 | 184 | }
|
171 | 185 |
|
172 | 186 | TEST_F(TiktokenExtensionTest, LoadTiktokenFileWithNoSpace) {
|
| 187 | +#ifdef EXECUTORCH_FB_BUCK |
| 188 | + auto invalidModelPath = |
| 189 | + facebook::xplat::testing::getPathForTestResource("resources/test_tiktoken_no_space.model"); |
| 190 | +#else |
173 | 191 | auto invalidModelPath = std::getenv("RESOURCES_PATH") +
|
174 | 192 | std::string("/test_tiktoken_no_space.model");
|
175 |
| - |
| 193 | +#endif |
176 | 194 | Error res = tokenizer_->load(invalidModelPath.c_str());
|
177 | 195 |
|
178 | 196 | EXPECT_EQ(res, Error::InvalidArgument);
|
179 | 197 | }
|
180 | 198 |
|
181 | 199 | TEST_F(TiktokenExtensionTest, LoadTiktokenFileWithBPEFile) {
|
| 200 | +#ifdef EXECUTORCH_FB_BUCK |
| 201 | + auto invalidModelPath = |
| 202 | + facebook::xplat::testing::getPathForTestResource("resources/test_bpe_tokenizer.bin"); |
| 203 | +#else |
182 | 204 | auto invalidModelPath =
|
183 | 205 | std::getenv("RESOURCES_PATH") + std::string("/test_bpe_tokenizer.bin");
|
184 |
| - |
| 206 | +#endif |
185 | 207 | Error res = tokenizer_->load(invalidModelPath.c_str());
|
186 | 208 |
|
187 | 209 | EXPECT_EQ(res, Error::InvalidArgument);
|
|
0 commit comments