From 364f3b07536893988b8c65548c678a97cf568c3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Fri, 6 Apr 2012 01:07:55 +0000 Subject: [PATCH] Clean up the code a bit and start adding cases with actual words. git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@580 185d5e19-27fe-0310-9dcf-9bff6b9f3609 --- t/t_openpam_readlinev.c | 83 +++++++++++++++++++++++++++++++++++------ 1 file changed, 71 insertions(+), 12 deletions(-) diff --git a/t/t_openpam_readlinev.c b/t/t_openpam_readlinev.c index 6d69f31..9d0a9cf 100644 --- a/t/t_openpam_readlinev.c +++ b/t/t_openpam_readlinev.c @@ -168,6 +168,25 @@ orlv_close(void) err(1, "%s(): %s", __func__, filename); f = NULL; } + +/*************************************************************************** + * Commonly-used lines + */ + +static const char *empty[] = { + NULL +}; + +static const char *hello[] = { + "hello", + NULL +}; + +static const char *hello_world[] = { + "hello", + "world", + NULL +}; /*************************************************************************** @@ -191,21 +210,19 @@ T_FUNC(empty_line, "empty line") orlv_open(); orlv_output("\n"); orlv_rewind(); - ret = orlv_expect((const char *[]){ NULL }, - 1 /*lines*/, 0 /*eof*/); + ret = orlv_expect(empty, 1 /*lines*/, 0 /*eof*/); orlv_close(); return (ret); } -T_FUNC(unterminated_line, "unterminated line") +T_FUNC(unterminated_empty_line, "unterminated empty line") { int ret; orlv_open(); orlv_output(" "); orlv_rewind(); - ret = orlv_expect((const char *[]){ NULL }, - 0 /*lines*/, 1 /*eof*/); + ret = orlv_expect(empty, 0 /*lines*/, 1 /*eof*/); orlv_close(); return (ret); } @@ -217,8 +234,7 @@ T_FUNC(whitespace, "whitespace") orlv_open(); orlv_output(" \n"); orlv_rewind(); - ret = orlv_expect((const char *[]){ NULL }, - 1 /*lines*/, 0 /*eof*/); + ret = orlv_expect(empty, 1 /*lines*/, 0 /*eof*/); orlv_close(); return (ret); } @@ -230,8 +246,7 @@ T_FUNC(comment, "comment") orlv_open(); orlv_output("# comment\n"); orlv_rewind(); - ret = orlv_expect((const char *[]){ NULL }, - 1 /*lines*/, 0 /*eof*/); + ret = orlv_expect(empty, 1 /*lines*/, 0 /*eof*/); orlv_close(); return (ret); } @@ -243,8 +258,48 @@ T_FUNC(whitespace_before_comment, "whitespace before comment") orlv_open(); orlv_output(" # comment\n"); orlv_rewind(); - ret = orlv_expect((const char *[]){ NULL }, - 1 /*lines*/, 0 /*eof*/); + ret = orlv_expect(empty, 1 /*lines*/, 0 /*eof*/); + orlv_close(); + return (ret); +} + + +/*************************************************************************** + * Simple words + */ + +T_FUNC(one_word, "one word") +{ + int ret; + + orlv_open(); + orlv_output("hello\n"); + orlv_rewind(); + ret = orlv_expect(hello, 1 /*lines*/, 0 /*eof*/); + orlv_close(); + return (ret); +} + +T_FUNC(two_words, "two words") +{ + int ret; + + orlv_open(); + orlv_output("hello world\n"); + orlv_rewind(); + ret = orlv_expect(hello_world, 1 /*lines*/, 0 /*eof*/); + orlv_close(); + return (ret); +} + +T_FUNC(unterminated_line, "unterminated line") +{ + int ret; + + orlv_open(); + orlv_output("hello world"); + orlv_rewind(); + ret = orlv_expect(hello_world, 0 /*lines*/, 1 /*eof*/); orlv_close(); return (ret); } @@ -257,11 +312,15 @@ T_FUNC(whitespace_before_comment, "whitespace before comment") const struct t_test *t_plan[] = { T(empty_input), T(empty_line), - T(unterminated_line), + T(unterminated_empty_line), T(whitespace), T(comment), T(whitespace_before_comment), + T(one_word), + T(two_words), + T(unterminated_line), + NULL };