summaryrefslogtreecommitdiff
path: root/pceplib/test/pcep_msg_tools_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'pceplib/test/pcep_msg_tools_test.c')
-rw-r--r--pceplib/test/pcep_msg_tools_test.c101
1 files changed, 68 insertions, 33 deletions
diff --git a/pceplib/test/pcep_msg_tools_test.c b/pceplib/test/pcep_msg_tools_test.c
index e25ddb2179..ffbe802d34 100644
--- a/pceplib/test/pcep_msg_tools_test.c
+++ b/pceplib/test/pcep_msg_tools_test.c
@@ -35,6 +35,8 @@
#include <CUnit/CUnit.h>
+#include <zebra.h>
+
#include "pcep_msg_encoding.h"
#include "pcep_msg_messages.h"
#include "pcep_msg_tools.h"
@@ -143,7 +145,7 @@ const char *pcep_initiate_cisco_pcc_hexbyte_strs[] = {
struct pcep_message *create_message(uint8_t msg_type, uint8_t obj1_class,
uint8_t obj2_class, uint8_t obj3_class,
uint8_t obj4_class);
-int convert_hexstrs_to_binary(const char *hexbyte_strs[],
+int convert_hexstrs_to_binary(char *filename, const char *hexbyte_strs[],
uint16_t hexbyte_strs_length);
int pcep_tools_test_suite_setup(void)
@@ -167,18 +169,23 @@ void pcep_tools_test_teardown(void)
{
}
+static const char BASE_TMPFILE[] = "/tmp/pceplib_XXXXXX";
+static int BASE_TMPFILE_SIZE = sizeof(BASE_TMPFILE);
+
/* Reads an array of hexbyte strs, and writes them to a temporary file.
* The caller should close the returned file. */
-int convert_hexstrs_to_binary(const char *hexbyte_strs[],
+int convert_hexstrs_to_binary(char *filename, const char *hexbyte_strs[],
uint16_t hexbyte_strs_length)
{
mode_t oldumask;
- oldumask = umask(S_IXUSR|S_IXGRP|S_IWOTH|S_IROTH|S_IXOTH);
+ oldumask = umask(S_IXUSR | S_IXGRP | S_IWOTH | S_IROTH | S_IXOTH);
/* Set umask before anything for security */
umask(0027);
- char tmpfile[] = "/tmp/pceplib_XXXXXX";
- int fd = mkstemp(tmpfile);
+
+ strlcpy(filename, BASE_TMPFILE, BASE_TMPFILE_SIZE);
+ int fd = mkstemp(filename);
umask(oldumask);
+
if (fd == -1)
return -1;
@@ -206,10 +213,12 @@ static bool pcep_obj_has_tlv(struct pcep_object_header *obj_hdr)
void test_pcep_msg_read_pcep_initiate()
{
- int fd = convert_hexstrs_to_binary(pcep_initiate_hexbyte_strs,
+ char filename[BASE_TMPFILE_SIZE];
+
+ int fd = convert_hexstrs_to_binary(filename, pcep_initiate_hexbyte_strs,
pcep_initiate_hexbyte_strs_length);
- if(fd == -1){
- CU_ASSERT_TRUE(fd>=0);
+ if (fd == -1) {
+ CU_ASSERT_TRUE(fd >= 0);
return;
}
double_linked_list *msg_list = pcep_msg_read(fd);
@@ -302,15 +311,19 @@ void test_pcep_msg_read_pcep_initiate()
pcep_msg_free_message_list(msg_list);
close(fd);
+ unlink(filename);
}
void test_pcep_msg_read_pcep_initiate2()
{
- int fd = convert_hexstrs_to_binary(pcep_initiate2_hexbyte_strs,
- pcep_initiate2_hexbyte_strs_length);
- if(fd == -1){
- CU_ASSERT_TRUE(fd>=0);
+ char filename[BASE_TMPFILE_SIZE];
+
+ int fd =
+ convert_hexstrs_to_binary(filename, pcep_initiate2_hexbyte_strs,
+ pcep_initiate2_hexbyte_strs_length);
+ if (fd == -1) {
+ CU_ASSERT_TRUE(fd >= 0);
return;
}
double_linked_list *msg_list = pcep_msg_read(fd);
@@ -392,14 +405,17 @@ void test_pcep_msg_read_pcep_initiate2()
pcep_msg_free_message_list(msg_list);
close(fd);
+ unlink(filename);
}
void test_pcep_msg_read_pcep_open()
{
- int fd = convert_hexstrs_to_binary(pcep_open_odl_hexbyte_strs,
+ char filename[BASE_TMPFILE_SIZE];
+
+ int fd = convert_hexstrs_to_binary(filename, pcep_open_odl_hexbyte_strs,
pcep_open_hexbyte_strs_length);
- if(fd == -1){
- CU_ASSERT_TRUE(fd>=0);
+ if (fd == -1) {
+ CU_ASSERT_TRUE(fd >= 0);
return;
}
double_linked_list *msg_list = pcep_msg_read(fd);
@@ -437,14 +453,17 @@ void test_pcep_msg_read_pcep_open()
pcep_msg_free_message_list(msg_list);
close(fd);
+ unlink(filename);
}
void test_pcep_msg_read_pcep_update()
{
- int fd = convert_hexstrs_to_binary(pcep_update_hexbyte_strs,
+ char filename[BASE_TMPFILE_SIZE];
+
+ int fd = convert_hexstrs_to_binary(filename, pcep_update_hexbyte_strs,
pcep_update_hexbyte_strs_length);
- if(fd == -1){
- CU_ASSERT_TRUE(fd>=0);
+ if (fd == -1) {
+ CU_ASSERT_TRUE(fd >= 0);
return;
}
double_linked_list *msg_list = pcep_msg_read(fd);
@@ -520,15 +539,18 @@ void test_pcep_msg_read_pcep_update()
pcep_msg_free_message_list(msg_list);
close(fd);
+ unlink(filename);
}
void test_pcep_msg_read_pcep_open_initiate()
{
+ char filename[BASE_TMPFILE_SIZE];
+
int fd = convert_hexstrs_to_binary(
- pcep_open_initiate_odl_hexbyte_strs,
+ filename, pcep_open_initiate_odl_hexbyte_strs,
pcep_open_initiate_hexbyte_strs_length);
- if(fd == -1){
- CU_ASSERT_TRUE(fd>=0);
+ if (fd == -1) {
+ CU_ASSERT_TRUE(fd >= 0);
return;
}
double_linked_list *msg_list = pcep_msg_read(fd);
@@ -550,15 +572,18 @@ void test_pcep_msg_read_pcep_open_initiate()
pcep_msg_free_message_list(msg_list);
close(fd);
+ unlink(filename);
}
void test_pcep_msg_read_pcep_open_cisco_pce()
{
+ char filename[BASE_TMPFILE_SIZE];
+
int fd = convert_hexstrs_to_binary(
- pcep_open_cisco_pce_hexbyte_strs,
+ filename, pcep_open_cisco_pce_hexbyte_strs,
pcep_open_cisco_pce_hexbyte_strs_length);
- if(fd == -1){
- CU_ASSERT_TRUE(fd>=0);
+ if (fd == -1) {
+ CU_ASSERT_TRUE(fd >= 0);
return;
}
double_linked_list *msg_list = pcep_msg_read(fd);
@@ -614,15 +639,18 @@ void test_pcep_msg_read_pcep_open_cisco_pce()
pcep_msg_free_message_list(msg_list);
close(fd);
+ unlink(filename);
}
void test_pcep_msg_read_pcep_update_cisco_pce()
{
+ char filename[BASE_TMPFILE_SIZE];
+
int fd = convert_hexstrs_to_binary(
- pcep_update_cisco_pce_hexbyte_strs,
+ filename, pcep_update_cisco_pce_hexbyte_strs,
pcep_update_cisco_pce_hexbyte_strs_length);
- if(fd == -1){
- CU_ASSERT_TRUE(fd>=0);
+ if (fd == -1) {
+ CU_ASSERT_TRUE(fd >= 0);
return;
}
double_linked_list *msg_list = pcep_msg_read(fd);
@@ -759,15 +787,18 @@ void test_pcep_msg_read_pcep_update_cisco_pce()
pcep_msg_free_message_list(msg_list);
close(fd);
+ unlink(filename);
}
void test_pcep_msg_read_pcep_report_cisco_pcc()
{
+ char filename[BASE_TMPFILE_SIZE];
+
int fd = convert_hexstrs_to_binary(
- pcep_report_cisco_pcc_hexbyte_strs,
+ filename, pcep_report_cisco_pcc_hexbyte_strs,
pcep_report_cisco_pcc_hexbyte_strs_length);
- if(fd == -1){
- CU_ASSERT_TRUE(fd>=0);
+ if (fd == -1) {
+ CU_ASSERT_TRUE(fd >= 0);
return;
}
double_linked_list *msg_list = pcep_msg_read(fd);
@@ -921,15 +952,18 @@ void test_pcep_msg_read_pcep_report_cisco_pcc()
pcep_msg_free_message_list(msg_list);
close(fd);
+ unlink(filename);
}
void test_pcep_msg_read_pcep_initiate_cisco_pcc()
{
+ char filename[BASE_TMPFILE_SIZE];
+
int fd = convert_hexstrs_to_binary(
- pcep_initiate_cisco_pcc_hexbyte_strs,
+ filename, pcep_initiate_cisco_pcc_hexbyte_strs,
pcep_initiate_cisco_pcc_hexbyte_strs_length);
- if(fd == -1){
- CU_ASSERT_TRUE(fd>=0);
+ if (fd == -1) {
+ CU_ASSERT_TRUE(fd >= 0);
return;
}
double_linked_list *msg_list = pcep_msg_read(fd);
@@ -1030,6 +1064,7 @@ void test_pcep_msg_read_pcep_initiate_cisco_pcc()
pcep_msg_free_message_list(msg_list);
close(fd);
+ unlink(filename);
}
void test_validate_message_header()