From 112b84384c5adbb59d40326871b42c5e4b6d55a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonathan=20Sch=C3=B6bel?= <jonathan@xn--schbel-yxa.info>
Date: Tue, 6 Jun 2023 17:36:35 +0200
Subject: [PATCH] tests: fixed NodeFragment copy_insert test

Fixed some memory leak detected by valgrind.
---
 sefht.geany                |  4 +--
 tests/test_node_fragment.c | 56 ++++++++++++--------------------------
 2 files changed, 20 insertions(+), 40 deletions(-)

diff --git a/sefht.geany b/sefht.geany
index 6319707..9a1bbac 100644
--- a/sefht.geany
+++ b/sefht.geany
@@ -28,7 +28,7 @@ long_line_behaviour=1
 long_line_column=72
 
 [files]
-current_page=14
+current_page=34
 FILE_NAME_0=139;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2FREADME;0;8
 FILE_NAME_1=134;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2F.gitignore;0;8
 FILE_NAME_2=1751;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fconfigure.ac;0;8
@@ -63,7 +63,7 @@ FILE_NAME_30=555;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2
 FILE_NAME_31=218;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Fno_test.sh.in;0;8
 FILE_NAME_32=1085;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_cms.c;0;8
 FILE_NAME_33=3283;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_data.c;0;8
-FILE_NAME_34=110781;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_node_fragment.c;0;8
+FILE_NAME_34=28347;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_node_fragment.c;0;8
 FILE_NAME_35=11319;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_attr.c;0;8
 FILE_NAME_36=11068;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_text.c;0;8
 FILE_NAME_37=5744;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Ftests%2Ftest_validator.c;0;8
diff --git a/tests/test_node_fragment.c b/tests/test_node_fragment.c
index 048ce6a..8e56365 100644
--- a/tests/test_node_fragment.c
+++ b/tests/test_node_fragment.c
@@ -867,7 +867,6 @@ START_TEST(test_node_fragment_attr_insert_copy_no_status)
 {
 	char * name;
 	char * value;
-	SH_Attr * attr;
 	SH_Attr * attr1;
 	SH_Attr * attr2;
 	SH_Attr * attr3;
@@ -893,13 +892,10 @@ START_TEST(test_node_fragment_attr_insert_copy_no_status)
 	ck_assert_ptr_ne (NULL, fragment);
 
 	/* test insert - success */
-	attr = SH_Attr_copy (attr1, NULL);
-	ck_assert_ptr_ne (NULL, attr);
-
-	name = Attr_get_name (attr);
-	value = Attr_get_value (attr);
+	name = Attr_get_name (attr1);
+	value = Attr_get_value (attr1);
 
-	result = insert_attr_copy (fragment, attr, 0, NULL);
+	result = insert_attr_copy (fragment, attr1, 0, NULL);
 	ck_assert_int_eq (TRUE, result);
 
 	ck_assert_int_eq (1, fragment->attr_n);
@@ -913,13 +909,10 @@ START_TEST(test_node_fragment_attr_insert_copy_no_status)
 	ck_assert_str_eq (attr1->value, fragment->attrs[0].value);
 
 	/* test insert before - success */
-	attr = SH_Attr_copy (attr2, NULL);
-	ck_assert_ptr_ne (NULL, attr);
-
-	name = Attr_get_name (attr);
-	value = Attr_get_value (attr);
+	name = Attr_get_name (attr2);
+	value = Attr_get_value (attr2);
 
-	result = insert_attr_copy (fragment, attr, 0, NULL);
+	result = insert_attr_copy (fragment, attr2, 0, NULL);
 	ck_assert_int_eq (TRUE, result);
 
 	ck_assert_int_eq (2, fragment->attr_n);
@@ -936,13 +929,10 @@ START_TEST(test_node_fragment_attr_insert_copy_no_status)
 	ck_assert_str_eq (attr1->value, fragment->attrs[1].value);
 
 	/* test insert after - success */
-	attr = SH_Attr_copy (attr3, NULL);
-	ck_assert_ptr_ne (NULL, attr);
-
-	name = Attr_get_name (attr);
-	value = Attr_get_value (attr);
+	name = Attr_get_name (attr3);
+	value = Attr_get_value (attr3);
 
-	result = insert_attr_copy (fragment, attr, 2, NULL);
+	result = insert_attr_copy (fragment, attr3, 2, NULL);
 	ck_assert_int_eq (TRUE, result);
 
 	ck_assert_int_eq (3, fragment->attr_n);
@@ -975,7 +965,6 @@ START_TEST(test_node_fragment_attr_insert_copy_with_status)
 	struct SH_Status status;
 	char * name;
 	char * value;
-	SH_Attr * attr;
 	SH_Attr * attr1;
 	SH_Attr * attr2;
 	SH_Attr * attr3;
@@ -1001,14 +990,11 @@ START_TEST(test_node_fragment_attr_insert_copy_with_status)
 	ck_assert_ptr_ne (NULL, fragment);
 
 	/* test insert - success */
-	attr = SH_Attr_copy (attr1, NULL);
-	ck_assert_ptr_ne (NULL, attr);
-
-	name = Attr_get_name (attr);
-	value = Attr_get_value (attr);
+	name = Attr_get_name (attr1);
+	value = Attr_get_value (attr1);
 
 	_status_preinit (status);
-	result = insert_attr_copy (fragment, attr, 0, &status);
+	result = insert_attr_copy (fragment, attr1, 0, &status);
 	ck_assert_int_eq (TRUE, result);
 	ck_assert_int_eq (SUCCESS, status.status);
 
@@ -1023,14 +1009,11 @@ START_TEST(test_node_fragment_attr_insert_copy_with_status)
 	ck_assert_str_eq (attr1->value, fragment->attrs[0].value);
 
 	/* test insert before - success */
-	attr = SH_Attr_copy (attr2, NULL);
-	ck_assert_ptr_ne (NULL, attr);
-
-	name = Attr_get_name (attr);
-	value = Attr_get_value (attr);
+	name = Attr_get_name (attr2);
+	value = Attr_get_value (attr2);
 
 	_status_preinit (status);
-	result = insert_attr_copy (fragment, attr, 0, &status);
+	result = insert_attr_copy (fragment, attr2, 0, &status);
 	ck_assert_int_eq (TRUE, result);
 	ck_assert_int_eq (SUCCESS, status.status);
 
@@ -1048,14 +1031,11 @@ START_TEST(test_node_fragment_attr_insert_copy_with_status)
 	ck_assert_str_eq (attr1->value, fragment->attrs[1].value);
 
 	/* test insert after - success */
-	attr = SH_Attr_copy (attr3, NULL);
-	ck_assert_ptr_ne (NULL, attr);
-
-	name = Attr_get_name (attr);
-	value = Attr_get_value (attr);
+	name = Attr_get_name (attr3);
+	value = Attr_get_value (attr3);
 
 	_status_preinit (status);
-	result = insert_attr_copy (fragment, attr, 2, &status);
+	result = insert_attr_copy (fragment, attr3, 2, &status);
 	ck_assert_int_eq (TRUE, result);
 	ck_assert_int_eq (SUCCESS, status.status);
 
-- 
GitLab