]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-mail: Add randomness test to test-mail-html2text
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 22 Nov 2016 16:34:53 +0000 (18:34 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 25 Nov 2016 13:29:34 +0000 (15:29 +0200)
src/lib-mail/test-mail-html2text.c

index 953b26e2cb51f9b81eb889e248931d149751f2a3..ebdf201d3596fdecb8b17ee8640b9084bff6827b 100644 (file)
@@ -75,10 +75,33 @@ static void test_mail_html2text(void)
        test_end();
 }
 
+static void test_mail_html2text_random(void)
+{
+       string_t *str = t_str_new(128);
+       struct mail_html2text *ht;
+
+       test_begin("mail_html2text() random");
+       for (unsigned int i = 0; i < 1000; i++) {
+               char valid_chars[] = { '0', 'a', '<', '>', '&', ';', '\\', '\'', '"', '/' };
+               unsigned char s[2];
+
+               ht = mail_html2text_init(0);
+               for (unsigned int i = 0; i < 100; i++) {
+                       s[0] = valid_chars[rand() % N_ELEMENTS(valid_chars)];
+                       s[1] = valid_chars[rand() % N_ELEMENTS(valid_chars)];
+                       mail_html2text_more(ht, s, rand()%2+1, str);
+               }
+               mail_html2text_deinit(&ht);
+               str_truncate(str, 0);
+       }
+       test_end();
+}
+
 int main(void)
 {
        static void (*test_functions[])(void) = {
                test_mail_html2text,
+               test_mail_html2text_random,
                NULL
        };
        return test_run(test_functions);