1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-09 02:50:20 +02:00
guile/test-suite/standalone
Andy Wingo 0e8c6b6727 Remove SMOB mark functions
Oh yeah!  They are almost impossible to use correctly as-is, have mostly
disappeared in practice (I am aware of only two users), have the wrong
interface for moving collectors, and current usage has cemented smobs as
conservatively-marked objects.  In order to move forward with Whippet,
they have to go!

* libguile/deprecated.h (SCM_SMOB_MARK, SCM_GLOBAL_SMOB_MARK, scm_mark0)
(scm_markcdr, scm_free0, scm_set_smob_mark, scm_gc_mark): Remove these,
leaving defines to indicate that users should talk to guile-devel to
figure out what to do.
* libguile/smob.h: Remove interfaces relating to mark functions.
(scm_new_double_smob, scm_new_smob): Make not inline
* libguile/smob.c: Remove mark functions from here.
(scm_new_smob): Out-of-line-only definition.
(scm_smob_prehistory): Don't create a new GC kind for smobs.

* test-suite/standalone/test-smob-mark-race.c:
* test-suite/standalone/test-smob-mark.c: Remove.
* test-suite/standalone/Makefile.am: Update.
2025-05-15 10:46:01 +02:00
..
.gitignore scm_i_utf8_string_hash: compute u8 chars not bytes 2023-03-18 13:24:43 -05:00
Makefile.am Remove SMOB mark functions 2025-05-15 10:46:01 +02:00
README
test-asmobs
test-asmobs-lib.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-bad-identifiers test-bad-identifiers: ignore *.[hc] dotfiles 2024-04-14 15:59:31 -05:00
test-close-on-exec When fork unavailable, skip standalone tests that require it 2022-09-20 15:09:35 -07:00
test-command-line-encoding in command line encoding test don't presume extant UTF-8 locale 2021-01-21 15:32:33 -08:00
test-command-line-encoding2
test-conversion.c Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
test-extensions
test-extensions-lib.c In test-extensions test, must export library fuctions when built as DLL 2023-07-17 21:05:07 -07:00
test-fast-slot-ref.in
test-ffi for dynamic-link tests, mingw needs to link to msvcrt 2021-01-21 15:32:45 -08:00
test-ffi-lib.c Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
test-foreign-object-c.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-foreign-object-scm for dynamic-link tests, mingw needs to link to msvcrt 2021-01-21 15:32:45 -08:00
test-guild-compile skip compile test when pause not available 2021-01-21 15:32:06 -08:00
test-guile-snarf
test-hashing.c test-hashing: support 32-bit 2024-07-12 17:49:45 -05:00
test-import-order
test-import-order-a.scm
test-import-order-b.scm
test-import-order-c.scm
test-import-order-d.scm
test-language
test-language.el
test-language.js
test-list.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-loose-ends.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-mb-regexp
test-num2integral.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-out-of-memory Fix out-of-memory test for top-level inlining 2019-08-25 21:47:18 +02:00
test-pthread-create-secondary.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-pthread-create.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-require-extension
test-round.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-scm-c-bind-keyword-arguments.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-scm-c-read.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-scm-spawn-thread.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-scm-take-locale-symbol.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-scm-take-u8vector.c Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
test-scm-to-latin1-string.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-scm-values.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-scm-with-guile.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
test-sigaction-fork Stop signal thread before forking, restart it afterwards. 2024-01-05 18:59:58 +01:00
test-signal-fork When fork unavailable, skip standalone tests that require it 2022-09-20 15:09:35 -07:00
test-srfi-4.c Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
test-stack-overflow On Hurd, skip tests that require working setrlimits for memory 2017-05-16 21:44:04 +02:00
test-system-cmds
test-unwind.c Presume ISO C90 headers are always available 2022-10-14 08:40:23 -07:00
test-use-srfi.in
test-with-guile-module.c Update license notices in all C files 2018-06-20 20:07:34 +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
  !#