MCPcopy Create free account
hub / github.com/WasmEdge/WasmEdge / test

Function test

examples/plugin/wasmedge-zlib/main.cpp:299–344  ·  view source on GitHub ↗

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Test function and main +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Source from the content-addressed store, hash-verified

297// Test function and main
298// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
299int test() {
300 const size_t DataSize = 1 * 1024 * 1024;
301 std::vector<uint8_t> Data(DataSize);
302 std::generate(Data.begin(), Data.end(), []() -> uint8_t {
303 constexpr char Charset[] = "0123456789"
304 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
305 "abcdefghijklmnopqrstuvwxyz";
306 constexpr size_t MaxIndex = (sizeof(Charset) - 1);
307 return static_cast<uint8_t>(Charset[rand() % MaxIndex]);
308 });
309
310 std::cout << "Compressing Buffer of size : " << DataSize << "B" << std::endl;
311
312 // Test compression
313 size_t CompressedSize = DataSize * 2;
314 std::vector<uint8_t> Compressed(CompressedSize);
315 // Use zlibCustomCompress
316 int32_t Result = zlibCustomCompress(Compressed.data(), &CompressedSize,
317 Data.data(), Data.size());
318 if (Result != 0) {
319 std::cerr << "Compression failed with error code: " << Result << std::endl;
320 return 1;
321 }
322 Compressed.resize(CompressedSize);
323
324 std::cout << "Decompressing Buffer of size : " << Compressed.size() << "B"
325 << std::endl;
326
327 // Test decompression
328 size_t DecompressedSize = DataSize;
329 std::vector<uint8_t> Decompressed(DecompressedSize);
330
331 // Use zlibCustomUncompress
332 Result = zlibCustomUncompress(Decompressed.data(), &DecompressedSize,
333 Compressed.data(), Compressed.size());
334 if (Result != 0) {
335 std::cerr << "Decompression failed with error code: " << Result
336 << std::endl;
337 return 1;
338 }
339 Decompressed.resize(DecompressedSize);
340
341 bool const Success = (Data == Decompressed);
342 std::cout << (Success ? "Success" : "Fail") << std::endl;
343 return Success ? 0 : 1;
344}
345
346int main() { return test(); }

Callers 1

mainFunction · 0.70

Calls 8

zlibCustomCompressFunction · 0.85
zlibCustomUncompressFunction · 0.85
resizeMethod · 0.80
generateFunction · 0.50
beginMethod · 0.45
endMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected