From 97f6dace266f67cb9fb0fb48b0059164582e5a70 Mon Sep 17 00:00:00 2001 From: "Robin.Mueller" Date: Thu, 29 Oct 2020 12:42:29 +0100 Subject: [PATCH] some fixes for master --- unittest/core/CatchDefinitions.cpp | 2 +- unittest/core/CatchDefinitions.h | 4 +- unittest/core/CatchSetup.cpp | 12 +- unittest/tests/storagemanager/TestPool.cpp | 592 ++++++++++----------- 4 files changed, 306 insertions(+), 304 deletions(-) diff --git a/unittest/core/CatchDefinitions.cpp b/unittest/core/CatchDefinitions.cpp index 3f4614e8..0b66558a 100644 --- a/unittest/core/CatchDefinitions.cpp +++ b/unittest/core/CatchDefinitions.cpp @@ -1,5 +1,5 @@ +#include "CatchDefinitions.h" #include -#include StorageManagerIF* tglob::getIpcStoreHandle() { if(objectManager != nullptr) { diff --git a/unittest/core/CatchDefinitions.h b/unittest/core/CatchDefinitions.h index cdc025fa..366cda7e 100644 --- a/unittest/core/CatchDefinitions.h +++ b/unittest/core/CatchDefinitions.h @@ -1,4 +1,5 @@ -#pragma once +#ifndef FSFW_UNITTEST_CORE_CATCHDEFINITIONS_H_ +#define FSFW_UNITTEST_CORE_CATCHDEFINITIONS_H_ #include #include @@ -17,3 +18,4 @@ namespace tglob { StorageManagerIF* getIpcStoreHandle(); } +#endif /* FSFW_UNITTEST_CORE_CATCHDEFINITIONS_H_ */ diff --git a/unittest/core/CatchSetup.cpp b/unittest/core/CatchSetup.cpp index a623fb77..f8543fd2 100644 --- a/unittest/core/CatchSetup.cpp +++ b/unittest/core/CatchSetup.cpp @@ -1,7 +1,7 @@ #include "CatchDefinitions.h" -#include "../config/cdatapool/dataPoolInit.h" -#include "../config/objects/Factory.h" +#include +#include #ifdef GCOV @@ -11,15 +11,15 @@ #include "../../objectmanager/ObjectManager.h" #include "../../objectmanager/ObjectManagerIF.h" #include "../../storagemanager/StorageManagerIF.h" -#include "../../datapoolglob/GlobalDataPool.h" +#include "../../datapool/DataPool.h" #include "../../serviceinterface/ServiceInterfaceStream.h" /* Global instantiations normally done in main.cpp */ /* Initialize Data Pool */ -namespace glob { -GlobalDataPool dataPool(datapool::dataPoolInit); -} +//namespace glob { +DataPool dataPool(datapool::dataPoolInit); +//} namespace sif { diff --git a/unittest/tests/storagemanager/TestPool.cpp b/unittest/tests/storagemanager/TestPool.cpp index 3f5341e9..f278c40c 100644 --- a/unittest/tests/storagemanager/TestPool.cpp +++ b/unittest/tests/storagemanager/TestPool.cpp @@ -1,296 +1,296 @@ -#include "CatchDefinitions.h" - -#include -#include -#include - -#include -#include - -#include - - -TEST_CASE( "Local Pool Simple Tests [1 Pool]" , "[TestPool]") { -// uint16_t numberOfElements[1] = {1}; -// uint16_t sizeofElements[1] = {10}; - LocalPool::LocalPoolConfig config = {{1, 10}}; - LocalPool simplePool(0, config); - std::array testDataArray; - std::array receptionArray; - store_address_t testStoreId; - ReturnValue_t result = retval::CATCH_FAILED; - uint8_t *pointer = nullptr; - const uint8_t * constPointer = nullptr; - - for(size_t i = 0; i < testDataArray.size(); i++) { - testDataArray[i] = i; - } - size_t size = 10; - - SECTION ( "Basic tests") { - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - result = simplePool.getData(testStoreId, &constPointer, &size); - REQUIRE(result == retval::CATCH_OK); - memcpy(receptionArray.data(), constPointer, size); - for(size_t i = 0; i < size; i++) { - CHECK(receptionArray[i] == i ); - } - memset(receptionArray.data(), 0, size); - result = simplePool.modifyData(testStoreId, &pointer, &size); - memcpy(receptionArray.data(), pointer, size); - REQUIRE(result == retval::CATCH_OK); - for(size_t i = 0; i < size; i++) { - CHECK(receptionArray[i] == i ); - } - result = simplePool.deleteData(testStoreId); - REQUIRE(result == retval::CATCH_OK); - result = simplePool.addData(&testStoreId, testDataArray.data(), 15); - CHECK (result == (int) StorageManagerIF::DATA_TOO_LARGE); - } - - SECTION ( "Reservation Tests ") { - pointer = nullptr; - result = simplePool.getFreeElement(&testStoreId, size, &pointer); - REQUIRE (result == retval::CATCH_OK); - memcpy(pointer, testDataArray.data(), size); - constPointer = nullptr; - result = simplePool.getData(testStoreId, &constPointer, &size); - - REQUIRE (result == retval::CATCH_OK); - memcpy(receptionArray.data(), constPointer, size); - for(size_t i = 0; i < size; i++) { - CHECK(receptionArray[i] == i ); - } - } - - SECTION ( "Add, delete, add, add when full") { - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - result = simplePool.getData(testStoreId, &constPointer, &size); - REQUIRE( result == retval::CATCH_OK); - memcpy(receptionArray.data(), constPointer, size); - for(size_t i = 0; i < size; i++) { - CHECK(receptionArray[i] == i ); - } - - result = simplePool.deleteData(testStoreId); - REQUIRE(result == retval::CATCH_OK); - - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - result = simplePool.getData(testStoreId, &constPointer, &size); - REQUIRE( result == retval::CATCH_OK); - memcpy(receptionArray.data(), constPointer, size); - for(size_t i = 0; i < size; i++) { - CHECK(receptionArray[i] == i ); - } - - store_address_t newAddress; - result = simplePool.addData(&newAddress, testDataArray.data(), size); - REQUIRE(result == (int) StorageManagerIF::DATA_STORAGE_FULL); - - // Packet Index to high intentionally - newAddress.packetIndex = 2; - pointer = testDataArray.data(); - result = simplePool.modifyData(newAddress, &pointer, &size); - REQUIRE(result == (int) StorageManagerIF::ILLEGAL_STORAGE_ID); - - result = simplePool.deleteData(newAddress); - REQUIRE(result == (int) StorageManagerIF::ILLEGAL_STORAGE_ID); - - newAddress.packetIndex = 0; - newAddress.poolIndex = 2; - result = simplePool.deleteData(newAddress); - REQUIRE(result == (int) StorageManagerIF::ILLEGAL_STORAGE_ID); - } - - SECTION ( "Initialize and clear store, delete with pointer") { - result = simplePool.initialize(); - REQUIRE(result == retval::CATCH_OK); - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - simplePool.clearStore(); - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - result = simplePool.modifyData(testStoreId, &pointer, &size); - REQUIRE(result == retval::CATCH_OK); - store_address_t newId; - result = simplePool.deleteData(pointer, size, &testStoreId); - REQUIRE(result == retval::CATCH_OK); - REQUIRE(testStoreId.raw != (uint32_t) StorageManagerIF::INVALID_ADDRESS); - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - } -} - -int runIdx = 0; - -TEST_CASE( "Local Pool Extended Tests [3 Pools]" , "[TestPool2]") { - LocalPool::LocalPoolConfig* config; - if(runIdx == 0) { - config = new LocalPool::LocalPoolConfig{{10, 5}, {5, 10}, {2, 20}}; - } - else { - // shufle the order, they should be sort implictely so that the - // order is ascending for the page sizes. - config = new LocalPool::LocalPoolConfig{{5, 10}, {2, 20}, {10, 5}}; - size_t lastSize = 0; - for(const auto& pair: *config) { - CHECK(pair.second > lastSize); - lastSize = pair.second; - } - } - runIdx++; - - LocalPool simplePool(0, *config); - std::array testDataArray; - std::array receptionArray; - store_address_t testStoreId; - ReturnValue_t result = retval::CATCH_FAILED; - for(size_t i = 0; i < testDataArray.size(); i++) { - testDataArray[i] = i; - } - size_t size = 0; - - SECTION ("Basic tests") { - size = 8; - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - // Should be on second page of the pool now for 8 bytes - CHECK(testStoreId.poolIndex == 1); - CHECK(testStoreId.packetIndex == 0); - - size = 15; - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - // Should be on third page of the pool now for 15 bytes - CHECK(testStoreId.poolIndex == 2); - CHECK(testStoreId.packetIndex == 0); - - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - // Should be on third page of the pool now for 15 bytes - CHECK(testStoreId.poolIndex == 2); - CHECK(testStoreId.packetIndex == 1); - - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - // Should be on third page of the pool now for 15 bytes - REQUIRE(result == (int) LocalPool::DATA_STORAGE_FULL); - - size = 8; - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - // Should still work - CHECK(testStoreId.poolIndex == 1); - CHECK(testStoreId.packetIndex == 1); - - // fill the rest of the pool - for(uint8_t idx = 2; idx < 5; idx++) { - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - CHECK(testStoreId.poolIndex == 1); - CHECK(testStoreId.packetIndex == idx); - } - } - - SECTION ("Fill Count and Clearing") { - //SECTION("Basic tests"); - uint8_t bytesWritten = 0; - simplePool.getFillCount(receptionArray.data(), &bytesWritten); - // fill count should be all zeros now. - CHECK(bytesWritten == 4); - CHECK(receptionArray[0] == 0); - CHECK(receptionArray[1] == 0); - CHECK(receptionArray[2] == 0); - CHECK(receptionArray[3] == 0); - - // now fill the store completely. - size = 5; - for(uint8_t idx = 0; idx < 10; idx++) { - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - CHECK(testStoreId.poolIndex == 0); - CHECK(testStoreId.packetIndex == idx); - } - size = 10; - for(uint8_t idx = 0; idx < 5; idx++) { - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - CHECK(testStoreId.poolIndex == 1); - CHECK(testStoreId.packetIndex == idx); - } - size = 20; - for(uint8_t idx = 0; idx < 2; idx++) { - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - CHECK(testStoreId.poolIndex == 2); - CHECK(testStoreId.packetIndex == idx); - } - bytesWritten = 0; - simplePool.getFillCount(receptionArray.data(), &bytesWritten); - // fill count should be all 100 now. - CHECK(bytesWritten == 4); - CHECK(receptionArray[0] == 100); - CHECK(receptionArray[1] == 100); - CHECK(receptionArray[2] == 100); - CHECK(receptionArray[3] == 100); - - // now clear the store - simplePool.clearStore(); - bytesWritten = 0; - simplePool.getFillCount(receptionArray.data(), &bytesWritten); - CHECK(bytesWritten == 4); - CHECK(receptionArray[0] == 0); - CHECK(receptionArray[1] == 0); - CHECK(receptionArray[2] == 0); - CHECK(receptionArray[3] == 0); - - // now fill one page - size = 5; - for(uint8_t idx = 0; idx < 10; idx++) { - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - CHECK(testStoreId.poolIndex == 0); - CHECK(testStoreId.packetIndex == idx); - } - bytesWritten = 0; - simplePool.getFillCount(receptionArray.data(), &bytesWritten); - // First page full, median fill count is 33 % - CHECK(bytesWritten == 4); - CHECK(receptionArray[0] == 100); - CHECK(receptionArray[1] == 0); - CHECK(receptionArray[2] == 0); - CHECK(receptionArray[3] == 33); - - // now fill second page - size = 10; - for(uint8_t idx = 0; idx < 5; idx++) { - result = simplePool.addData(&testStoreId, testDataArray.data(), size); - REQUIRE(result == retval::CATCH_OK); - CHECK(testStoreId.poolIndex == 1); - CHECK(testStoreId.packetIndex == idx); - } - bytesWritten = 0; - simplePool.getFillCount(receptionArray.data(), &bytesWritten); - // First and second page full, median fill count is 66 % - CHECK(bytesWritten == 4); - CHECK(receptionArray[0] == 100); - CHECK(receptionArray[1] == 100); - CHECK(receptionArray[2] == 0); - CHECK(receptionArray[3] == 66); - - // now clear first page - simplePool.clearPage(0); - bytesWritten = 0; - simplePool.getFillCount(receptionArray.data(), &bytesWritten); - // Second page full, median fill count is 33 % - CHECK(bytesWritten == 4); - CHECK(receptionArray[0] == 0); - CHECK(receptionArray[1] == 100); - CHECK(receptionArray[2] == 0); - CHECK(receptionArray[3] == 33); - } - - delete(config); -} +//#include "CatchDefinitions.h" +// +//#include +//#include +//#include +// +//#include +//#include +// +//#include +// +// +//TEST_CASE( "Local Pool Simple Tests [1 Pool]" , "[TestPool]") { +//// uint16_t numberOfElements[1] = {1}; +//// uint16_t sizeofElements[1] = {10}; +// LocalPool::LocalPoolConfig config = {{1, 10}}; +// LocalPool simplePool(0, config); +// std::array testDataArray; +// std::array receptionArray; +// store_address_t testStoreId; +// ReturnValue_t result = retval::CATCH_FAILED; +// uint8_t *pointer = nullptr; +// const uint8_t * constPointer = nullptr; +// +// for(size_t i = 0; i < testDataArray.size(); i++) { +// testDataArray[i] = i; +// } +// size_t size = 10; +// +// SECTION ( "Basic tests") { +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// result = simplePool.getData(testStoreId, &constPointer, &size); +// REQUIRE(result == retval::CATCH_OK); +// memcpy(receptionArray.data(), constPointer, size); +// for(size_t i = 0; i < size; i++) { +// CHECK(receptionArray[i] == i ); +// } +// memset(receptionArray.data(), 0, size); +// result = simplePool.modifyData(testStoreId, &pointer, &size); +// memcpy(receptionArray.data(), pointer, size); +// REQUIRE(result == retval::CATCH_OK); +// for(size_t i = 0; i < size; i++) { +// CHECK(receptionArray[i] == i ); +// } +// result = simplePool.deleteData(testStoreId); +// REQUIRE(result == retval::CATCH_OK); +// result = simplePool.addData(&testStoreId, testDataArray.data(), 15); +// CHECK (result == (int) StorageManagerIF::DATA_TOO_LARGE); +// } +// +// SECTION ( "Reservation Tests ") { +// pointer = nullptr; +// result = simplePool.getFreeElement(&testStoreId, size, &pointer); +// REQUIRE (result == retval::CATCH_OK); +// memcpy(pointer, testDataArray.data(), size); +// constPointer = nullptr; +// result = simplePool.getData(testStoreId, &constPointer, &size); +// +// REQUIRE (result == retval::CATCH_OK); +// memcpy(receptionArray.data(), constPointer, size); +// for(size_t i = 0; i < size; i++) { +// CHECK(receptionArray[i] == i ); +// } +// } +// +// SECTION ( "Add, delete, add, add when full") { +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// result = simplePool.getData(testStoreId, &constPointer, &size); +// REQUIRE( result == retval::CATCH_OK); +// memcpy(receptionArray.data(), constPointer, size); +// for(size_t i = 0; i < size; i++) { +// CHECK(receptionArray[i] == i ); +// } +// +// result = simplePool.deleteData(testStoreId); +// REQUIRE(result == retval::CATCH_OK); +// +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// result = simplePool.getData(testStoreId, &constPointer, &size); +// REQUIRE( result == retval::CATCH_OK); +// memcpy(receptionArray.data(), constPointer, size); +// for(size_t i = 0; i < size; i++) { +// CHECK(receptionArray[i] == i ); +// } +// +// store_address_t newAddress; +// result = simplePool.addData(&newAddress, testDataArray.data(), size); +// REQUIRE(result == (int) StorageManagerIF::DATA_STORAGE_FULL); +// +// // Packet Index to high intentionally +// newAddress.packetIndex = 2; +// pointer = testDataArray.data(); +// result = simplePool.modifyData(newAddress, &pointer, &size); +// REQUIRE(result == (int) StorageManagerIF::ILLEGAL_STORAGE_ID); +// +// result = simplePool.deleteData(newAddress); +// REQUIRE(result == (int) StorageManagerIF::ILLEGAL_STORAGE_ID); +// +// newAddress.packetIndex = 0; +// newAddress.poolIndex = 2; +// result = simplePool.deleteData(newAddress); +// REQUIRE(result == (int) StorageManagerIF::ILLEGAL_STORAGE_ID); +// } +// +// SECTION ( "Initialize and clear store, delete with pointer") { +// result = simplePool.initialize(); +// REQUIRE(result == retval::CATCH_OK); +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// simplePool.clearStore(); +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// result = simplePool.modifyData(testStoreId, &pointer, &size); +// REQUIRE(result == retval::CATCH_OK); +// store_address_t newId; +// result = simplePool.deleteData(pointer, size, &testStoreId); +// REQUIRE(result == retval::CATCH_OK); +// REQUIRE(testStoreId.raw != (uint32_t) StorageManagerIF::INVALID_ADDRESS); +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// } +//} +// +//int runIdx = 0; +// +//TEST_CASE( "Local Pool Extended Tests [3 Pools]" , "[TestPool2]") { +// LocalPool::LocalPoolConfig* config; +// if(runIdx == 0) { +// config = new LocalPool::LocalPoolConfig{{10, 5}, {5, 10}, {2, 20}}; +// } +// else { +// // shufle the order, they should be sort implictely so that the +// // order is ascending for the page sizes. +// config = new LocalPool::LocalPoolConfig{{5, 10}, {2, 20}, {10, 5}}; +// size_t lastSize = 0; +// for(const auto& pair: *config) { +// CHECK(pair.second > lastSize); +// lastSize = pair.second; +// } +// } +// runIdx++; +// +// LocalPool simplePool(0, *config); +// std::array testDataArray; +// std::array receptionArray; +// store_address_t testStoreId; +// ReturnValue_t result = retval::CATCH_FAILED; +// for(size_t i = 0; i < testDataArray.size(); i++) { +// testDataArray[i] = i; +// } +// size_t size = 0; +// +// SECTION ("Basic tests") { +// size = 8; +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// // Should be on second page of the pool now for 8 bytes +// CHECK(testStoreId.poolIndex == 1); +// CHECK(testStoreId.packetIndex == 0); +// +// size = 15; +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// // Should be on third page of the pool now for 15 bytes +// CHECK(testStoreId.poolIndex == 2); +// CHECK(testStoreId.packetIndex == 0); +// +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// // Should be on third page of the pool now for 15 bytes +// CHECK(testStoreId.poolIndex == 2); +// CHECK(testStoreId.packetIndex == 1); +// +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// // Should be on third page of the pool now for 15 bytes +// REQUIRE(result == (int) LocalPool::DATA_STORAGE_FULL); +// +// size = 8; +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// // Should still work +// CHECK(testStoreId.poolIndex == 1); +// CHECK(testStoreId.packetIndex == 1); +// +// // fill the rest of the pool +// for(uint8_t idx = 2; idx < 5; idx++) { +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// CHECK(testStoreId.poolIndex == 1); +// CHECK(testStoreId.packetIndex == idx); +// } +// } +// +// SECTION ("Fill Count and Clearing") { +// //SECTION("Basic tests"); +// uint8_t bytesWritten = 0; +// simplePool.getFillCount(receptionArray.data(), &bytesWritten); +// // fill count should be all zeros now. +// CHECK(bytesWritten == 4); +// CHECK(receptionArray[0] == 0); +// CHECK(receptionArray[1] == 0); +// CHECK(receptionArray[2] == 0); +// CHECK(receptionArray[3] == 0); +// +// // now fill the store completely. +// size = 5; +// for(uint8_t idx = 0; idx < 10; idx++) { +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// CHECK(testStoreId.poolIndex == 0); +// CHECK(testStoreId.packetIndex == idx); +// } +// size = 10; +// for(uint8_t idx = 0; idx < 5; idx++) { +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// CHECK(testStoreId.poolIndex == 1); +// CHECK(testStoreId.packetIndex == idx); +// } +// size = 20; +// for(uint8_t idx = 0; idx < 2; idx++) { +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// CHECK(testStoreId.poolIndex == 2); +// CHECK(testStoreId.packetIndex == idx); +// } +// bytesWritten = 0; +// simplePool.getFillCount(receptionArray.data(), &bytesWritten); +// // fill count should be all 100 now. +// CHECK(bytesWritten == 4); +// CHECK(receptionArray[0] == 100); +// CHECK(receptionArray[1] == 100); +// CHECK(receptionArray[2] == 100); +// CHECK(receptionArray[3] == 100); +// +// // now clear the store +// simplePool.clearStore(); +// bytesWritten = 0; +// simplePool.getFillCount(receptionArray.data(), &bytesWritten); +// CHECK(bytesWritten == 4); +// CHECK(receptionArray[0] == 0); +// CHECK(receptionArray[1] == 0); +// CHECK(receptionArray[2] == 0); +// CHECK(receptionArray[3] == 0); +// +// // now fill one page +// size = 5; +// for(uint8_t idx = 0; idx < 10; idx++) { +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// CHECK(testStoreId.poolIndex == 0); +// CHECK(testStoreId.packetIndex == idx); +// } +// bytesWritten = 0; +// simplePool.getFillCount(receptionArray.data(), &bytesWritten); +// // First page full, median fill count is 33 % +// CHECK(bytesWritten == 4); +// CHECK(receptionArray[0] == 100); +// CHECK(receptionArray[1] == 0); +// CHECK(receptionArray[2] == 0); +// CHECK(receptionArray[3] == 33); +// +// // now fill second page +// size = 10; +// for(uint8_t idx = 0; idx < 5; idx++) { +// result = simplePool.addData(&testStoreId, testDataArray.data(), size); +// REQUIRE(result == retval::CATCH_OK); +// CHECK(testStoreId.poolIndex == 1); +// CHECK(testStoreId.packetIndex == idx); +// } +// bytesWritten = 0; +// simplePool.getFillCount(receptionArray.data(), &bytesWritten); +// // First and second page full, median fill count is 66 % +// CHECK(bytesWritten == 4); +// CHECK(receptionArray[0] == 100); +// CHECK(receptionArray[1] == 100); +// CHECK(receptionArray[2] == 0); +// CHECK(receptionArray[3] == 66); +// +// // now clear first page +// simplePool.clearPage(0); +// bytesWritten = 0; +// simplePool.getFillCount(receptionArray.data(), &bytesWritten); +// // Second page full, median fill count is 33 % +// CHECK(bytesWritten == 4); +// CHECK(receptionArray[0] == 0); +// CHECK(receptionArray[1] == 100); +// CHECK(receptionArray[2] == 0); +// CHECK(receptionArray[3] == 33); +// } +// +// delete(config); +//}