From 3b9556605613bd4346c02e0e75abd8f492aff44e Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Thu, 11 Oct 2007 23:56:06 +0200 Subject: [PATCH] Put unit test for i-ring module into a normal test module. --- ChangeLog | 6 +++++ lib/i-ring-test.c | 44 ------------------------------- modules/i-ring-tests | 10 +++++++ tests/test-i-ring.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 90 insertions(+), 44 deletions(-) delete mode 100644 lib/i-ring-test.c create mode 100644 modules/i-ring-tests create mode 100644 tests/test-i-ring.c diff --git a/ChangeLog b/ChangeLog index cc8db7ed9..76843356e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2007-10-11 Bruno Haible + * modules/i-ring-tests: New file. + * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT + instead of assert. + +2007-10-11 Bruno Haible + * modules/filenamecat-tests: New file. * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c. * lib/filenamecat.c: Remove test code. diff --git a/lib/i-ring-test.c b/lib/i-ring-test.c deleted file mode 100644 index 392e2f60a..000000000 --- a/lib/i-ring-test.c +++ /dev/null @@ -1,44 +0,0 @@ -#include -#include "i-ring.h" -/* Test with this: - gcc -I. -Wall -W -O i-ring-test.c i-ring.c -L. -lcoreutils && ./a.out -*/ - -int -main () -{ - I_ring ir; - i_ring_init (&ir, -1); - int o = i_ring_push (&ir, 1); - assert (o == -1); - o = i_ring_push (&ir, 2); - assert (o == -1); - o = i_ring_push (&ir, 3); - assert (o == -1); - o = i_ring_push (&ir, 4); - assert (o == -1); - o = i_ring_push (&ir, 5); - assert (o == 1); - o = i_ring_push (&ir, 6); - assert (o == 2); - o = i_ring_push (&ir, 7); - assert (o == 3); - - o = i_ring_pop (&ir); - assert (o == 7); - o = i_ring_pop (&ir); - assert (o == 6); - o = i_ring_pop (&ir); - assert (o == 5); - o = i_ring_pop (&ir); - assert (o == 4); - assert (i_ring_empty (&ir)); - - o = i_ring_push (&ir, 8); - assert (o == -1); - o = i_ring_pop (&ir); - assert (o == 8); - assert (i_ring_empty (&ir)); - - return 0; -} diff --git a/modules/i-ring-tests b/modules/i-ring-tests new file mode 100644 index 000000000..3385ca585 --- /dev/null +++ b/modules/i-ring-tests @@ -0,0 +1,10 @@ +Files: +tests/test-i-ring.c + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-i-ring +check_PROGRAMS += test-i-ring diff --git a/tests/test-i-ring.c b/tests/test-i-ring.c new file mode 100644 index 000000000..0e0691af3 --- /dev/null +++ b/tests/test-i-ring.c @@ -0,0 +1,74 @@ +/* Test the simple ring buffer. + Copyright (C) 2006-2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* written by Jim Meyering */ + +#include + +#include "i-ring.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + I_ring ir; + i_ring_init (&ir, -1); + int o = i_ring_push (&ir, 1); + ASSERT (o == -1); + o = i_ring_push (&ir, 2); + ASSERT (o == -1); + o = i_ring_push (&ir, 3); + ASSERT (o == -1); + o = i_ring_push (&ir, 4); + ASSERT (o == -1); + o = i_ring_push (&ir, 5); + ASSERT (o == 1); + o = i_ring_push (&ir, 6); + ASSERT (o == 2); + o = i_ring_push (&ir, 7); + ASSERT (o == 3); + + o = i_ring_pop (&ir); + ASSERT (o == 7); + o = i_ring_pop (&ir); + ASSERT (o == 6); + o = i_ring_pop (&ir); + ASSERT (o == 5); + o = i_ring_pop (&ir); + ASSERT (o == 4); + ASSERT (i_ring_empty (&ir)); + + o = i_ring_push (&ir, 8); + ASSERT (o == -1); + o = i_ring_pop (&ir); + ASSERT (o == 8); + ASSERT (i_ring_empty (&ir)); + + return 0; +} -- 2.11.0