1
0
forked from fsfw/fsfw

additional filesystem abstractions

This commit is contained in:
2022-09-05 17:42:56 +02:00
parent 5a3f05fa79
commit 2e4cdb7366
9 changed files with 102 additions and 46 deletions

View File

@ -56,7 +56,7 @@ TEST_CASE("CFDP Dest Handler", "[cfdp]") {
}
SECTION("Empty File Transfer") {
const DestFsmResult& res = destHandler.performStateMachine();
const DestHandler::FsmResult& res = destHandler.performStateMachine();
CHECK(res.result == OK);
FileSize size(0);
std::string srcNameString = "hello.txt";
@ -76,6 +76,8 @@ TEST_CASE("CFDP Dest Handler", "[cfdp]") {
packetInfoList.push_back(packetInfo);
destHandler.performStateMachine();
CHECK(res.result == OK);
CHECK(res.callStatus == CallStatus::CALL_AGAIN);
destHandler.performStateMachine();
}
SECTION("Small File Transfer") {}

View File

@ -124,3 +124,17 @@ void FilesystemMock::reset() {
std::queue<RenameInfo> empty;
std::swap(renameQueue, empty);
}
bool FilesystemMock::fileExists(FilesystemParams params) {
std::string filename(params.path);
auto iter = fileMap.find(filename);
if (iter == fileMap.end()) {
return false;
}
return true;
}
ReturnValue_t FilesystemMock::truncateFile(FilesystemParams params) {
truncateCalledOnFile = params.path;
return returnvalue::OK;
}

View File

@ -53,8 +53,12 @@ class FilesystemMock : public HasFileSystemIF {
std::string newName;
};
std::queue<RenameInfo> renameQueue;
std::string truncateCalledOnFile;
ReturnValue_t feedFile(const std::string &filename, std::ifstream &file);
bool fileExists(FilesystemParams params) override;
ReturnValue_t truncateFile(FilesystemParams params) override;
ReturnValue_t writeToFile(FileOpParams params, const uint8_t *data) override;
ReturnValue_t readFromFile(FileOpParams params, uint8_t **buffer, size_t &readSize,
size_t maxSize) override;