]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: unit test for stringlist_append() and stringlist_free()
authordjm@openbsd.org <djm@openbsd.org>
Thu, 6 Nov 2025 01:33:26 +0000 (01:33 +0000)
committerDamien Miller <djm@mindrot.org>
Fri, 7 Nov 2025 04:13:41 +0000 (15:13 +1100)
OpenBSD-Regress-ID: a3a4dae538c831b3810f69abc34ad8504dc3c460

regress/unittests/misc/test_misc.c

index d175196b7d47f67d49adf517665a99d50a98d0a0..db0b5bb6643f9f7a0c1546ef50d9b6295b1cfb06 100644 (file)
@@ -373,6 +373,44 @@ test_path_absolute(void)
        TEST_DONE();
 }
 
+static void
+test_stringlist(void)
+{
+       char **list = NULL;
+
+       TEST_START("stringlist_append initial");
+       stringlist_append(&list, "one");
+       ASSERT_PTR_NE(list, NULL);
+       ASSERT_STRING_EQ(list[0], "one");
+       ASSERT_PTR_EQ(list[1], NULL);
+       TEST_DONE();
+
+       TEST_START("stringlist_append second");
+       stringlist_append(&list, "two");
+       ASSERT_PTR_NE(list, NULL);
+       ASSERT_STRING_EQ(list[0], "one");
+       ASSERT_STRING_EQ(list[1], "two");
+       ASSERT_PTR_EQ(list[2], NULL);
+       TEST_DONE();
+
+       TEST_START("stringlist_append third");
+       stringlist_append(&list, "three");
+       ASSERT_PTR_NE(list, NULL);
+       ASSERT_STRING_EQ(list[0], "one");
+       ASSERT_STRING_EQ(list[1], "two");
+       ASSERT_STRING_EQ(list[2], "three");
+       ASSERT_PTR_EQ(list[3], NULL);
+       TEST_DONE();
+
+       TEST_START("stringlist_free");
+       stringlist_free(list);
+       TEST_DONE();
+
+       TEST_START("stringlist_free NULL");
+       stringlist_free(NULL);
+       TEST_DONE();
+}
+
 static void
 test_skip_space(void)
 {
@@ -432,5 +470,6 @@ test_misc(void)
        test_tohex();
        test_lowercase();
        test_path_absolute();
+       test_stringlist();
        test_skip_space();
 }