1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 04:40:29 +02:00
guile/test-suite/standalone
Andy Wingo cd51ce81d0 Use heap-allocated port types instead of ptobnums
This removes a limitation on the number of port types, simplifies the
API, and removes a central point of coordination.

* libguile/ports-internal.h (struct scm_t_port_type): Rename from
  scm_t_ptob_descriptor, now that it's private.  Add GOOPS class
  fields.
  (struct scm_t_port): Rename from struct scm_port, especially
  considering that deprecated.h redefines scm_port using the
  preprocessor :(.
* libguile/ports.h: Add definitions of SCM_PORT and SCM_PORT_TYPE,
  though the scm_t_port and scm_t_port_type types are incomplete.
  (SCM_TC2PTOBNUM, SCM_PTOBNUM, SCM_PTOBNAME): Remove, as there are no
  more typecodes for port types.
  (scm_c_num_port_types, scm_c_port_type_ref, scm_c_port_type_add_x):
  Remove.
  (scm_make_port_type): Return a scm_t_port_type*.  All methods adapted
  to take a scm_t_port_type* instead of a ptobnum.
  (scm_c_make_port_with_encoding, scm_c_make_port): Take a port type
  pointer instead of a tag.
  (scm_new_port_table_entry): Remove; not useful.
* libguile/ports.c: Remove things related to the port kind table.  Adapt
  uses of SCM_PORT_DESCRIPTOR / scm_t_ptob_descriptor to use
  SCM_PORT_TYPE and scm_t_port_type.
* libguile/deprecated.c:
* libguile/deprecated.h:
* libguile/filesys.c:
* libguile/fports.c:
* libguile/fports.h:
* libguile/print.c:
* libguile/r6rs-ports.c:
* libguile/strports.c:
* libguile/strports.h:
* libguile/tags.h:
* libguile/vports.c:
* test-suite/standalone/test-scm-c-read.c: Adapt to change.
* libguile/goops.c (scm_class_of, make_port_classes)
  (scm_make_port_classes, create_port_classes): Adapt to store the
  classes in the ptob.
2016-05-13 18:31:29 +02:00
..
.gitignore Start rewriting SRFI-1 in Scheme. 2010-07-21 01:07:56 +02:00
Makefile.am Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
README allow building against uninstalled guile; move some things to meta/ 2009-03-27 14:03:03 -07:00
test-asmobs Fix test environment issue with ltdl from Libtool 2.2.6b. 2009-12-14 10:59:25 +01:00
test-asmobs-lib.c Fix `#ifdef HAVE_CONFIG_H' stanza in some stand-alone tests. 2011-04-25 23:59:35 +02:00
test-bad-identifiers Use `-q' when running standalone tests. 2008-07-06 23:58:38 +02:00
test-command-line-encoding Arrange to convert command-line arguments from the right encoding. 2011-12-15 01:31:23 +01:00
test-command-line-encoding2 Don't fail when locale env. vars specify a dot-less locale name. 2012-02-18 00:04:17 +01:00
test-conversion.c Fix scm_to_utf8_stringn once and for all; optimize; add tests 2012-04-04 18:58:44 -04:00
test-extensions Fix test environment issue with ltdl from Libtool 2.2.6b. 2009-12-14 10:59:25 +01:00
test-extensions-lib.c Fix `#ifdef HAVE_CONFIG_H' stanza in some stand-alone tests. 2011-04-25 23:59:35 +02:00
test-fast-slot-ref.in Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
test-ffi Support calling foreign functions of 10 arguments or more. 2013-02-28 04:11:35 -05:00
test-ffi-lib.c Support calling foreign functions of 10 arguments or more. 2013-02-28 04:11:35 -05:00
test-foreign-object-c.c Add more foreign object interfaces 2014-04-28 13:03:58 +02:00
test-foreign-object-scm New foreign object facility, to replace SMOBs 2014-04-28 10:59:11 +02:00
test-guild-compile test-guild-compile: Increase sleep time before sending SIGINT. 2014-06-04 20:40:23 -04:00
test-guile-snarf Avoid non-portable tail' argument in test-guile-snarf'. 2012-01-14 22:25:59 +01:00
test-import-order out-of-tree build fix 2011-05-25 10:27:46 +02:00
test-import-order-a.scm fix define-module ordering 2011-05-21 18:29:03 +02:00
test-import-order-b.scm fix define-module ordering 2011-05-21 18:29:03 +02:00
test-import-order-c.scm fix define-module ordering 2011-05-21 18:29:03 +02:00
test-import-order-d.scm fix define-module ordering 2011-05-21 18:29:03 +02:00
test-language tests: Use shell constructs that /bin/sh on Solaris 10 can understand. 2013-04-14 15:46:56 +02:00
test-language.el Add tests for `--language'. 2013-01-26 21:49:17 +01:00
test-language.js Add tests for `--language'. 2013-01-26 21:49:17 +01:00
test-list.c Fix `#ifdef HAVE_CONFIG_H' stanza in some stand-alone tests. 2011-04-25 23:59:35 +02:00
test-loose-ends.c tests: Add #undef NDEBUG when using <assert.h>. 2014-03-20 09:43:01 +01:00
test-mb-regexp add multibyte regexp test 2011-03-17 18:53:11 +01:00
test-num2integral.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
test-out-of-memory Compile some standalone tests to bytecode 2014-04-08 10:06:40 +02:00
test-pthread-create-secondary.c tests: Skip `test-pthread-create-secondary' except on Linux-based systems. 2013-03-28 23:33:44 +01:00
test-pthread-create.c Use scm_with_guile' in test-pthread-create'. 2011-04-25 23:59:42 +02:00
test-require-extension Use `-q' when running standalone tests. 2008-07-06 23:58:38 +02:00
test-round.c tests: Add #undef NDEBUG when using <assert.h>. 2014-03-20 09:43:01 +01:00
test-scm-c-bind-keyword-arguments.c tests: Add #undef NDEBUG when using <assert.h>. 2014-03-20 09:43:01 +01:00
test-scm-c-read.c Use heap-allocated port types instead of ptobnums 2016-05-13 18:31:29 +02:00
test-scm-spawn-thread.c Fix loose typing in `test-scm-spawn-thread.c'. 2012-01-09 21:23:46 +01:00
test-scm-take-locale-symbol.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
test-scm-take-u8vector.c Add test case for `scm_take_u8vector ()'. 2009-09-03 00:57:24 +02:00
test-scm-to-latin1-string.c fix scm_to_latin1_stringn for substrings 2011-09-10 11:38:25 -07:00
test-scm-values.c tests: Add #undef NDEBUG when using <assert.h>. 2014-03-20 09:43:01 +01:00
test-scm-with-guile.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
test-smob-mark.c tests: Add #undef NDEBUG when using <assert.h>. 2014-03-20 09:43:01 +01:00
test-srfi-4.c tests: Add #undef NDEBUG when using <assert.h>. 2014-03-20 09:43:01 +01:00
test-stack-overflow Compile some standalone tests to bytecode 2014-04-08 10:06:40 +02:00
test-system-cmds tests: Use double quotes around shell arguments, for Windows. 2013-06-16 16:39:14 +02:00
test-unwind.c tests: Don't rely on $TMPDIR and /tmp on Windows. 2013-06-16 16:42:01 +02:00
test-use-srfi.in Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
test-with-guile-module.c Fix `#ifdef HAVE_CONFIG_H' stanza in some stand-alone tests. 2011-04-25 23:59:35 +02:00

-*-text-*-

These tests use the standard automake TESTS mechanism.  Tests should
be listed in TESTS in Makefile.am, and should exit with 0 on success,
non-zero on failure, and 77 if the result should be ignored.  See the
automake info pages for more information.

If you want to use a scheme script, prefix it as follows:

  #!/bin/sh
  exec guile -s "$0" "$@"
  !#

Makefile.am will arrange for all tests (scripts or executables) to be
run under uninstalled-env so that the PATH, LD_LIBRARY_PATH, and
GUILE_LOAD_PATH will be augmented appropriately.

The Makefile.am has an example of creating a shared library to be used
from a test scheme script as well.

You can also create standalone executables that include your own code,
are linked against libguile, and that run a given test script (or
scripts).  One way to do this is to create the binary, make sure it
calls scm_shell (argc, argv) as its final action, and put this bit at
the top of your test script:

  #!./my-test-binary -s
  !#