Files
2023-Webservices_And_Applic…/tests/tfpt_tests.cpp
Sander Speetjens 623cf3749c TFTP
Add tftp_custom_write and test functions
2023-11-13 16:03:14 +01:00

76 lines
1.9 KiB
C++

#include <gtest/gtest.h>
#include <stdint.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "tftp.h"
tftp_custom_file_t file = {
.data = (char*)"1234567890",
.len = 11,
.name = (char*)"test.txt",
.ofset = 0
};
tftp_custom_file_t write_file = {
.data = NULL,
.len = 0,
.name = (char*)"test.txt",
.ofset = 0
};
TEST(TFTP, custom_fseek)
{
tftp_custom_fseek(&file, 5, SEEK_SET);
EXPECT_EQ(file.ofset, 5);
tftp_custom_fseek(&file, 5, SEEK_CUR);
EXPECT_EQ(file.ofset, 10);
}
TEST(TFTP, custom_fread)
{
char buf[11];
tftp_custom_fseek(&file, 0, SEEK_SET);
size_t bytes = tftp_custom_fread(buf, 11, &file);
EXPECT_EQ(bytes, 11);
EXPECT_EQ(file.ofset, 11);
EXPECT_EQ(memcmp(buf, "1234567890", 10), 0);
memset(buf, 0, 11);
tftp_custom_fseek(&file, 0, SEEK_SET);
bytes = tftp_custom_fread(buf, 11, &file);
EXPECT_EQ(bytes, 11);
EXPECT_EQ(memcmp(buf, "1234567890", 10), 0);
memset(buf, 0, 11);
tftp_custom_fseek(&file, 0, SEEK_SET);
bytes = tftp_custom_fread(buf, 5, &file);
EXPECT_EQ(bytes, 5);
EXPECT_EQ(memcmp(buf, "12345", 5), 0);
memset(buf, 0, 11);
bytes = tftp_custom_fread(buf, 5, &file);
EXPECT_EQ(bytes, 5);
EXPECT_EQ(memcmp(buf, "67890", 5), 0);
}
TEST(TFTP, custom_fwrite) {
write_file.data = (char*)malloc(21 * sizeof(char));
write_file.len = 21;
tftp_custom_fwrite("0987654321", 10, &write_file);
EXPECT_EQ(write_file.ofset, 10);
EXPECT_EQ(write_file.len, 21);
EXPECT_EQ(memcmp(write_file.data, "0987654321", 10), 0);
tftp_custom_fwrite("1234567890", 10, &write_file);
EXPECT_EQ(write_file.ofset, 20);
EXPECT_EQ(write_file.len, 21);
EXPECT_EQ(memcmp(write_file.data, "09876543211234567890", 20), 0);
free(write_file.data);
write_file.data = NULL;
write_file.len = 0;
}