]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
tests: add simple test for get_preppedhdrs_from_map
authorBaptiste Daroussin <bapt@FreeBSD.org>
Mon, 6 Feb 2023 08:11:19 +0000 (09:11 +0100)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Mon, 6 Feb 2023 08:11:19 +0000 (09:11 +0100)
tests/mlmmj.c

index 1098c6825104ef699ff2bbc444e91f36f5b06054..fb7e42e9f5161d346217459d35644789bf1c6f1e 100644 (file)
@@ -124,6 +124,7 @@ ATF_TC_WITHOUT_HEAD(copy_file_2);
 ATF_TC_WITHOUT_HEAD(controls);
 ATF_TC_WITHOUT_HEAD(incindexfile);
 ATF_TC_WITHOUT_HEAD(log_oper);
+ATF_TC_WITHOUT_HEAD(get_preppedhdrs_from_map);
 
 #ifndef NELEM
 #define NELEM(array)    (sizeof(array) / sizeof((array)[0]))
@@ -1872,6 +1873,26 @@ ATF_TC_BODY(log_oper, tc)
        }
 }
 
+ATF_TC_BODY(get_preppedhdrs_from_map, tc)
+{
+       struct stat st;
+       FILE *f = fopen("./mailfile", "w+");
+
+       fprintf(f, "head1: plop\nhead2\n\nbody\n");
+       fclose(f);
+
+       stat("./mailfile", &st);
+       int fd = open("./mailfile", O_RDONLY);
+       ATF_REQUIRE(fd != -1);
+       char *map = mmap(0, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
+       ATF_REQUIRE(map != NULL);
+       size_t len = 0;
+       ATF_REQUIRE(get_preppedhdrs_from_map(map, &len) != NULL);
+       ATF_REQUIRE_EQ(len, 20);
+       munmap(map, st.st_size);
+       close(fd);
+}
+
 ATF_TP_ADD_TCS(tp)
 {
        ATF_TP_ADD_TC(tp, random_int);
@@ -1937,6 +1958,7 @@ ATF_TP_ADD_TCS(tp)
        ATF_TP_ADD_TC(tp, controls);
        ATF_TP_ADD_TC(tp, incindexfile);
        ATF_TP_ADD_TC(tp, log_oper);
+       ATF_TP_ADD_TC(tp, get_preppedhdrs_from_map);
 
        return (atf_no_error());
 }