1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-19 19:20:23 +02:00
Commit graph

506 commits

Author SHA1 Message Date
Neil Jerram
d2cb6b102b Fix popen.test on NetBSD and Ubuntu Jaunty, where sh is not Bash
Thanks to Greg Troxel for reporting, and Barry Fishman for the
explanation and fix.

* test-suite/tests/popen.test ("open-input-pipe"): Use shell function
  `read' with an explicit argument, as apparently not all shells
  support read with no argument.
2009-06-06 00:08:30 +01:00
Neil Jerram
66f3b6c1b0 Remove possible deadlock in scm_join_thread
* libguile/threads.c (scm_join_thread): Always recheck t->exited
  before calling block_self again, in case thread t has now exited.

* test-suite/tests/threads.test (joining): New test.
2009-05-20 21:56:17 +01:00
Neil Jerram
3ed47d2203 Avoid "no duplicate" popen tests leaving zombie processes
On the one hand we want the child process in these tests to exit.  On
the other, we don't want it to exit before the parent Guile code has
tested the relevant condition (EOF in the first test, broken pipe in
the second) - because these conditions would obviously be true if the
child had already exited, and that's not what we're trying to test
here.  We're trying to test getting EOF and broken pipe while the
child process is still alive.

* test-suite/tests/popen.test (open-input-pipe:no duplicate): Add
  another pipe from parent to child, so that the child can finish by
  reading from this.  Then the parent controls the child lifetime by
  writing to this pipe.

* test-suite/tests/popen.test (open-output-pipe:no duplicate): Add
  another pipe from child to parent, and have the child finish by
  endlessly writing into this.  Then the parent controls the child
  lifetime by closing its end of the pipe, causing a broken pipe in
  the child.
2009-05-20 19:05:38 +01:00
Michael Gran
93c0c75658 Symbols longer than 128 chars can cause an exception. Also, the terminating colon of long postfix keywords are not handled correctly.
* test-suite/tests/reader.test ("read-options"): Add test
	for long postfix keywords.

	* libguile/read.c (scm_read_mixed_case_symbol): Fix
	exception on symbols are greater than 128 chars.  Also,
	colons are not stripped from long postfix keywords.
2009-05-12 00:07:51 +02:00
Ludovic Courtès
1011599792 Better diagnose broken (strftime "%z" ...)' in time.test' (bug #24130).
* test-suite/tests/time.test ("strftime")["C99 %z
  format"](have-strftime-%z): Better diagnose broken "%z" on Tru64 5.1b
  and AIX.  Closes bug #24130.

* NEWS: Update.
2009-05-12 00:01:30 +02:00
Neil Jerram
499c43b032 Avoid throw from critical section, given invalid sigaction call
* libguile/scmsigs.c (scm_sigaction_for_thread): Exit critical section
  before raising out-of-range error.

* test-suite/Makefile.am (SCM_TESTS): Add signals.test.

* test-suite/tests/signals.test: New file.
2009-03-25 18:53:12 +00:00
Ludovic Courtès
30a413ca8b Move `guardians.test' to its own module.
* test-suite/tests/guardians.test: Add `define-module' clause.
2009-03-08 22:29:01 +01:00
Ludovic Courtès
5e07264f04 Add tests for the stack inspection API.
* test-suite/tests/eval.test (stack->frames): New procedure.
  ("stacks"): New test prefix.
2009-03-08 22:24:50 +01:00
Ludovic Courtès
8455a73329 Add new GOOPS tests for built-in types.
* test-suite/tests/goops.test ("classes for built-in types"): New test
  prefix.
2009-03-08 22:24:49 +01:00
Ludovic Courtès
1b131cf160 Add test for `procedure-properties'.
* test-suite/Makefile.am (SCM_TESTS): Add `tests/procprop.test'.
2009-03-08 22:24:47 +01:00
Neil Jerram
f8d8007275 Allow @ to work with (ice-9 syncase)
(Reported by Panicz Maciej Godek.)

* test-suite/tests/syncase.test ("@ works with syncase"): New test.

* ice-9/syncase.scm (guile-macro): When a Guile macro transformer
  produces a variable, don't pass it through sc-expand.
2009-02-05 22:13:19 +00:00
Neil Jerram
1ea97c4264 Several new hash table tests, written by Gregory Marton.
* test-suite/tests/hash.test ("make-hash-table, hash-table?",
  "hash-set and hash-ref", "auto-resizing hashx", "hashx"): New tests.

* AUTHORS, THANKS: Add Gregory Marton as a contributor.
2008-12-07 16:27:44 +00:00
Ludovic Courtès
deee086c8d Fix sloppy bound checking in `string-{ref,set!}' with the empty string.
* libguile/strings.c (scm_string_ref): Add proper range checking for the
  empty string.
  (scm_string_set_x): Likewise.
  Reported by Bill Schottstaedt <bil@ccrma.Stanford.EDU>.

* test-suite/tests/strings.test ("string-ref"): New test prefix.
  ("string-set!")["empty string", "empty string and non-zero index",
  "out of range", "negative index", "regular string"]: New tests.

* NEWS: Update.
2008-12-02 19:42:39 +01:00
Ludovic Courtès
2ae217f418 Run the handler of SRFI-34's `with-exception-handler' in the right dyn. env.
* srfi/srfi-34.scm (with-exception-handler): Use `with-throw-handler'
  instead of `lazy-catch'.

* test-suite/tests/srfi-34.test ("SRFI 34")["`with-exception-handler'
  invokes HANDLER in THUNK's dynamic env."]: New test.

* test-suite/tests/srfi-39.test: Use `(srfi srfi-34)'.
  ("SRFI-39")["SRFI-34"]: New test.

* NEWS: Update.
2008-11-24 09:41:53 +01:00
Ludovic Courtès
89fc8adea3 Add test case to make sure `read' returns mutable strings.
* test-suite/tests/reader.test ("reading")["returned strings are
  mutable"]: New test, as reported by szgyg <szgyg@ludens.elte.hu>.
2008-10-09 23:24:07 +02:00
Ludovic Courtès
4b600701b9 Revert "Make literal strings (i.e., returned by `read') read-only."
This reverts commit be5c4a82ab.

The rationale is that `read' must return mutable strings, as reported
by szgyg <szgyg@ludens.elte.hu>.
2008-10-09 23:23:27 +02:00
Ludovic Courtès
097158c936 Enclose `regexp.test' in a module.
* test-suite/tests/regexp.test: Add `define-module' clause.
2008-09-25 21:37:21 +02:00
Ludovic Courtès
afb28ce860 Fix handling of the FLAGS argument in `fold-matches'.
* ice-9/regex.scm (fold-matches): If FLAGS is non-null, use
  `(car flags)', not `flags'.

* test-suite/tests/regexp.test ("fold-matches"): New test prefix.

* NEWS: Update.
2008-09-25 21:37:18 +02:00
Ludovic Courtès
be5c4a82ab Make literal strings (i.e., returned by `read') read-only.
* libguile/read.c (scm_read_string): Use `scm_i_make_read_only_string ()' to
  return a read-only string, as mandated by R5RS.  Reported by Bill
  Schottstaedt <bil@ccrma.Stanford.EDU>.

* libguile/strings.c (scm_i_make_read_only_string): New function.
  (scm_i_shared_substring_read_only): Special-case the empty string
  so that the read-only and read-write empty strings are `eq?'.  This
  optimization is relied on by the `substring/shared' `empty string'
  test case in `srfi-13.test'.

* libguile/strings.h (scm_i_make_read_only_string): New declaration.

* test-suite/tests/strings.test ("string-set!")["literal string"]: New test.

* NEWS: Update.
2008-09-23 18:39:18 +02:00
Ludovic Courtès
40de0323e7 Make `symbol->string' return a read-only string.
* libguile/strings.c (scm_i_symbol_substring): Return a read-only string
  since R5RS requires `symbol->string' to return a read-only string.
  Reported by Bill Schottstaedt <bil@ccrma.Stanford.EDU>.

* test-suite/tests/symbols.test: Add `define-module' clause.
  (exception:immutable-string): Adjust to current exception.
  ("symbol->string")["result is an immutable string"]: Use
  `pass-if-exception' instead of `expect-fail-exception'.

* NEWS: Update.
2008-09-23 18:39:10 +02:00
Neil Jerram
0bf4fe19a6 Fix for incorrect (gcd -2) => -2; should give 2.
(reported by Bill Schottstaedt)

* libguile/numbers.c (scm_gcd): When only one arg given, use scm_abs
  to ensure that result is non-negative.

* test-suite/tests/numbers.test ("gcd"): New test, (gcd -2).
2008-09-22 21:18:01 +01:00
Ludovic Courtès
f4833b3906 Add test case for the GOOPS `class-redefinition' memory corruption. 2008-08-20 00:46:57 +02:00
Ludovic Courtès
5338352e56 Fix type-checking of SRFI-1 `partition'. 2008-04-28 18:03:41 +02:00
Ludovic Courtès
23978ff30a Make (srfi srfi-35)' visible through cond-expand'. 2008-04-26 21:25:51 +02:00
Ludovic Courtès
efbc70de56 Add `(srfi srfi-88)'. 2008-04-26 21:25:32 +02:00
Ludovic Courtès
75946eddfc Add support for SRFI-88-like postfix keyword read syntax. 2008-04-15 20:00:32 +02:00
Ludovic Courtès
b337315785 Test the interaction of GOOPS objects with `struct-{ref,set!}'. 2008-04-13 20:41:39 +02:00
Ludovic Courtès
792ebd5dc4 Honor $TMPDIR in the test suite. 2008-03-13 13:56:43 +00:00
Ludovic Courtès
c89ae78ba6 Fix SRFI-37 `args-fold' with short option names of argument-less options. 2008-03-12 16:57:36 +00:00
Neil Jerram
5826bf6572 Release stuff: missing NEWS and 2007/2008 copyrights. 2008-02-15 22:37:52 +00:00
Ludovic Courtès
ffa88bdd5d Add hack for `gc.test' on SPARC GNU/Linux. 2008-02-15 15:59:34 +00:00
Neil Jerram
1978dd74b8 * hashtab.c (scm_hash_fn_create_handle_x): If supplied assoc_fn
returns neither a pair nor #f, signal a wrong-type-arg error.
(Thanks to Gregory Marton for reporting this.)

* tests/hash.test: New "hashx" test supplied by Gregory Marton;
prior to today's fix in libguile/hashtab.c, this caused a
segmentation fault.
2008-01-18 23:40:49 +00:00
Ludovic Courtès
7c680febe5 Changes from arch/CVS synchronization 2007-12-13 12:32:02 +00:00
Ludovic Courtès
2bfaaa3ab7 Add missing SRFI-69 files. 2007-12-13 12:29:26 +00:00
Neil Jerram
6f640c9f22 * tests/eval.test (promises)[unmemoizing a promise]: New test.
* tests/continuations.test ("continuations"): Use
with-debugging-evaluator.

* standalone/test-use-srfi: Use -q to avoid picking up the user's
~/.guile file

* lib.scm (with-debugging-evaluator*, with-debugging-evaluator):
New utilities.
2007-10-19 22:07:31 +00:00
Ludovic Courtès
dfdb8448a9 Changes from arch/CVS synchronization 2007-10-17 22:16:44 +00:00
Ludovic Courtès
dbb47af4a6 Changes from arch/CVS synchronization 2007-09-03 17:04:49 +00:00
Ludovic Courtès
5da403801c Changes from arch/CVS synchronization 2007-08-23 21:30:54 +00:00
Kevin Ryde
bea9797a5c (port-for-each): New test for passing freed cell,
marked as unresolved since problem not yet fixed.
2007-08-23 00:00:45 +00:00
Ludovic Courtès
8482254ff1 Changes from arch/CVS synchronization 2007-08-11 10:48:28 +00:00
Ludovic Courtès
468a7976d2 Added SRFI-35 files. 2007-08-11 10:22:35 +00:00
Ludovic Courtès
932bd3abce Changes from arch/CVS synchronization 2007-08-08 15:04:30 +00:00
Ludovic Courtès
2b86affe0b Changes from arch/CVS synchronization 2007-07-24 23:33:39 +00:00
Ludovic Courtès
817de81ca1 Added new SRFI-37 files. 2007-07-18 21:39:24 +00:00
Ludovic Courtès
8d1701ee9f Changes from arch/CVS synchronization 2007-07-18 21:37:45 +00:00
Ludovic Courtès
48e2c94ba2 Changes from arch/CVS synchronization 2007-07-10 22:39:36 +00:00
Ludovic Courtès
91bb190dd7 Revision: lcourtes@laas.fr--2006-libre/guile-core--cvs--1.8--patch-27
Creator:  Ludovic Courtes <ludovic.courtes@laas.fr>

Merged small SRFI-19 fixes.

Patches applied:

 * lcourtes@laas.fr--2006-libre/guile-core--cvs-head--0  (patch 68-69)

   - SRFI-19: Fixed `date->julian-day' bug (reported by Jon Wilson).
   - Updated ChangeLogs wrt. previous patch.
2007-07-09 16:49:43 +00:00
Ludovic Courtès
fe76611522 Changes from arch/CVS synchronization 2007-06-25 22:36:43 +00:00
Ludovic Courtès
a944fd0f81 Changes from arch/CVS synchronization 2007-06-13 22:20:39 +00:00
Ludovic Courtès
5b0c950458 Changes from arch/CVS synchronization 2007-06-12 22:09:38 +00:00