From fb907a1c4b2b579045b630565772f2567f23230a Mon Sep 17 00:00:00 2001 From: Neil Jerram Date: Tue, 3 Nov 2009 21:51:28 +0000 Subject: [PATCH] Fill code coverage holes in continuations.c and keywords.c * test-suite/Makefile.am (SCM_TESTS): Add tests/keywords.test. * test-suite/standalone/Makefile.am (test-loose-ends): New test. * test-suite/standalone/test-loose-ends.c: New file. * test-suite/tests/continuations.test: Three new tests. * test-suite/tests/keywords.test: New file. --- test-suite/Makefile.am | 1 + test-suite/standalone/Makefile.am | 7 ++++ test-suite/standalone/test-loose-ends.c | 56 +++++++++++++++++++++++++++++++ test-suite/tests/continuations.test | 28 +++++++++++++++ test-suite/tests/keywords.test | 30 ++++++++++++++++ 5 files changed, 122 insertions(+), 0 deletions(-) create mode 100644 test-suite/standalone/test-loose-ends.c create mode 100644 test-suite/tests/keywords.test diff --git a/test-suite/Makefile.am b/test-suite/Makefile.am index 145975c..d08aab7 100644 --- a/test-suite/Makefile.am +++ b/test-suite/Makefile.am @@ -48,6 +48,7 @@ SCM_TESTS = tests/alist.test \ tests/i18n.test \ tests/import.test \ tests/interp.test \ + tests/keywords.test \ tests/list.test \ tests/load.test \ tests/modules.test \ diff --git a/test-suite/standalone/Makefile.am b/test-suite/standalone/Makefile.am index 1b0d9d6..17ac1e7 100644 --- a/test-suite/standalone/Makefile.am +++ b/test-suite/standalone/Makefile.am @@ -107,6 +107,13 @@ test_conversion_LDADD = ${top_builddir}/libguile/libguile.la check_PROGRAMS += test-conversion TESTS += test-conversion +# test-loose-ends +test_loose_ends_SOURCES = test-loose-ends.c +test_loose_ends_CFLAGS = ${test_cflags} +test_loose_ends_LDADD = ${top_builddir}/libguile/libguile.la +check_PROGRAMS += test-loose-ends +TESTS += test-loose-ends + # test-fast-slot-ref check_SCRIPTS += test-fast-slot-ref TESTS += test-fast-slot-ref diff --git a/test-suite/standalone/test-loose-ends.c b/test-suite/standalone/test-loose-ends.c new file mode 100644 index 0000000..2fdbe7d --- /dev/null +++ b/test-suite/standalone/test-loose-ends.c @@ -0,0 +1,56 @@ +/* test-loose-ends.c + * + * Test items of the Guile C API that aren't covered by any other tests. + */ + +/* Copyright (C) 2009 Free Software Foundation, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 3 of + * the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ + +#if HAVE_CONFIG_H +# include +#endif + +#include + +#include +#include +#include + +#ifdef HAVE_INTTYPES_H +# include +#endif + +static void +test_scm_from_locale_keywordn () +{ + SCM kw = scm_from_locale_keywordn ("thusly", 4); + assert (scm_is_true (scm_keyword_p (kw))); +} + +static void +tests (void *data, int argc, char **argv) +{ + test_scm_from_locale_keywordn (); +} + +int +main (int argc, char *argv[]) +{ + scm_boot_guile (argc, argv, tests, NULL); + return 0; +} diff --git a/test-suite/tests/continuations.test b/test-suite/tests/continuations.test index 20a7a5a..d96274e 100644 --- a/test-suite/tests/continuations.test +++ b/test-suite/tests/continuations.test @@ -52,6 +52,34 @@ (pass-if "throwing to a rewound catch context" (eq? (dont-crash-please) 'no-reentry)) + (pass-if "can print a continuation" + (let ((s (with-output-to-string + (lambda () + (call-with-current-continuation write))))) + (string=? "#