| Commit message (Expand) | Author | Age | Files | Lines |
* | temporarily disable elisp exception tests...(Best-ability ChangeLog annotation added by Christopher Allan Webber.)
* test-suite/tests/elisp-compiler.test ("catch without exception" test)
("catch and throw" test, "unwind-protect" test): Switch from pass-if
to expect-fail.
| Robin Templeton | 2020-04-04 | 1 | -3/+3 |
* | ignore 'expect-fail' forms in elisp tests...(Best-ability ChangeLog annotation added by Christopher Allan Webber.)
* test-suite/tests/elisp-compiler.test (compile-test): Update to support
expect-fail.
| Robin Templeton | 2020-04-04 | 1 | -1/+3 |
* | update cross-compilation test...(Best-ability ChangeLog annotation added by Christopher Allan Webber.)
* test-suite/tests/cross-compilation.test (test-target): Update it.
| Robin Templeton | 2020-04-04 | 1 | -2/+2 |
* | Actually run '00-repl-server.test'....This is a followup to ddcab06f20525d975503d8d9611e02021fb0dff1. Until
now the tests would always be marked as unresolved because TMPDIR was
removed before the client and server had been started.
* test-suite/tests/00-repl-server.test (call-with-repl-server): Remove
initial call to 'rmdir'. Add calls to 'delete-file' and 'rmdir' in the
unwind handler.
| Ludovic Courtès | 2020-03-07 | 1 | -1/+2 |
* | texinfo: Properly render @acronym in plain text....Fixes <https://bugs.gnu.org/37846>.
Reported by Christopher Baines <mail@cbaines.net>.
* module/texinfo/plain-text.scm (acronym): New procedure.
(tag-handlers): Change 'acro' handle to ACRONYM, and add 'acronym'
handler.
* test-suite/tests/texinfo.plain-text.test ("stexi->plain-text")
["acronym", "recursive acronym"]: New tests.
| Ludovic Courtès | 2020-02-12 | 1 | -1/+19 |
* | texinfo: Add '*line-width*' fluid to control line wrapping....* module/texinfo/plain-text.scm (*line-width*): New variable.
(wrap*): Honor it.
* doc/ref/texinfo.texi (texinfo plain-text): Document it.
* test-suite/tests/texinfo.plain-text.test: New file.
* test-suite/Makefile.am (SCM_TESTS): Add it.
| Ludovic Courtès | 2020-02-12 | 1 | -0/+34 |
* | 00-repl-server.test: don't use fixed path for socket...* test-suite/tests/00-repl-server.test (make-tempdir): Add.
(call-with-repl-server): Store socket in a make-tempdir dir.
| Rob Browning | 2020-01-22 | 1 | -4/+17 |
* | Respect thread local fluid defaults...Previously (fluid-ref (make-thread-local-fluid #t)) would return #f via
scm_fluid_ref because the internal scm_hashq_ref would return #f when
the fluid had not been set, and that was interpreted as an actual value
for the fluid.
Instead, just pass the fluid default as the default for the hash table
lookups so that we don't need a second step to determine if the fluid
was set.
Thanks to Andrew Gierth for tracking down the problem.
| Rob Browning | 2020-01-12 | 1 | -2/+12 |
* | Fix peval bug that ignored excess args...* module/language/tree-il/peval.scm (peval): Fix arity check for type
confusion (empty value of "rest" in this context was (), not #f). The
effect was that we'd silently allow extra arguments to inlined calls.
Thanks to Christopher Lam for the report! Fixes #38617.
* test-suite/tests/peval.test ("partial evaluation"): Add a test.
| Andy Wingo | 2020-01-12 | 1 | -2/+19 |
* | 'strftime' and 'strptime' honor the locale encoding....Fixes <https://bugs.gnu.org/35920>.
Reported by Christopher Lam <christopher.lck@gmail.com>.
* libguile/stime.c (scm_strftime): Use 'scm_to_locale_stringn' instead
of 'scm_to_utf8_stringn'.
(scm_strptime): Likewise, and use 'scm_string_length' instead of
'u8_strnlen'.
* test-suite/tests/time.test ("strftime")["strftime passes wide
characters"]: Wrap body in 'with-locale'.
["strftime fr_FR.utf8", "strftime fr_FR.iso88591"]: New tests.
("strptime")["strftime fr_FR.utf8", "strftime fr_FR.iso88591"]: New
tests.
| Ludovic Courtès | 2019-06-30 | 1 | -4/+31 |
* | tests: Add (web server) test....* test-suite/tests/web-server.test: New file.
* test-suite/Makefile.am (SCM_TESTS): Add it.
| Ludovic Courtès | 2019-06-30 | 1 | -0/+118 |
* | Revert "web: Add support for HTTP header continuation lines."...Fixes <https://bugs.gnu.org/36350>.
This reverts commit 73cde5ed7218a090ecee888870908af5445796f0.
| Mark H Weaver | 2019-06-24 | 1 | -10/+1 |
* | web: Add support for HTTP header continuation lines....* module/web/http.scm (spaces-and-tabs, space-or-tab?): New variables.
(read-header-line): After reading a header, if a space or tab follows,
read the continuation lines and join them.
* test-suite/tests/web-http.test: Add test.
| Mark H Weaver | 2019-06-18 | 1 | -1/+10 |
* | time.test: Use 'pass-if-equal' in more tests....* test-suite/tests/time.test ("strftime"): Change some uses of 'pass-if'
to instead use 'pass-if-equal'.
| Mark H Weaver | 2019-06-18 | 1 | -16/+20 |
* | Make URI handling locale independent....Fixes <https://bugs.gnu.org/35785>.
* module/web/uri.scm (digits, hex-digits, letters): New variables.
(ipv4-regexp, ipv6-regexp, domain-label-regexp, top-label-regexp,
userinfo-pat, host-pat, ipv6-host-pat, port-pat, scheme-pat): Explicitly
list each character instead of using character ranges.
* test-suite/tests/web-uri.test: Add corresponding tests.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Timothy Sample | 2019-06-04 | 1 | -3/+30 |
* | 'basename' correctly handles "/" and "//"....* libguile/filesys.c (scm_basename): Special-case "/" and "//".
* test-suite/tests/filesys.test ("basename"): New test prefix.
| Ludovic Courtès | 2019-06-04 | 1 | -1/+7 |
* | Strings, i18n: Limit the use of alloca to approximately 8 kilobytes....* libguile/i18n.c (SCM_MAX_ALLOCA): New macro.
(SCM_STRING_TO_U32_BUF): Accept an additional variable to remember
whether we used malloc to allocate the buffer. Use malloc if the
allocation size is greater than SCM_MAX_ALLOCA.
(SCM_CLEANUP_U32_BUF): New macro.
(compare_u32_strings, compare_u32_strings_ci, str_to_case): Adapt.
* libguile/strings.c (SCM_MAX_ALLOCA): New macro.
(normalize_str, unistring_escapes_to_r6rs_escapes): Use malloc if the
allocation size is greater than SCM_MAX_ALLOCA.
* test-suite/tests/i18n.test, test-suite/tests/strings.test: Add tests.
| Mark H Weaver | 2019-05-07 | 2 | -1/+28 |
* | Avoid 'with-latin1-locale' in binary I/O tests....* test-suite/tests/r6rs-ports.test ("put-bytevector [2 args]")
("put-bytevector [3 args]", "put-bytevector [4 args]"): Set the default
port encoding instead of setting the locale.
| Mark H Weaver | 2019-05-07 | 1 | -8/+7 |
* | Disable test for current value of setitimer on Cygwin...* test-suite/tests/signals.test ("current itimers are 0"): throws unresolved
for cygwin
| Michael Gran | 2019-02-23 | 1 | -3/+12 |
* | Make locale monetary conversion tests be less strict on terminal whitespace...* test-suite/tests/i18n.test (monetary-amount->locale-string): modified
| Michael Gran | 2019-02-23 | 1 | -2/+2 |
* | Fix crypt-on-glibc test error...* test-suite/tests/posix.test ("crypt"): Allow for the given salt being
valid. Thanks to Jonathan Brielmaier for the report and debugging!
| Andy Wingo | 2019-02-21 | 1 | -7/+14 |
* | Fix binary output on files created by mkstemp!...Some operating systems require a O_BINARY flag.
* libguile/filesys.c (scm_i_mkstemp): Don't mask out O_BINARY flag
* test-suite/tests/posix.test ("binary mode honored"): new test
| Mike Gran | 2019-02-09 | 1 | -2/+17 |
* | Don't mutate read-only string in ports test...* test-suite/tests/ports.test ("valid wide mode string"): modified
| Mike Gran | 2019-02-09 | 1 | -2/+2 |
* | Fix tests for SRFI-19 date->string ~N | Daniel Llorens | 2018-12-12 | 1 | -6/+10 |
* | Support ~N in SRFI-19 string->date...* module/srfi/srfi-19.scm (fractional-integer-reader,
make-fractional-integer-reader): From reference implementation.
(reader-directives): Handle #\N, from reference implementation.
* test-suite/tests/srfi-19: Add tests for string->date ~N.
* doc/ref/srfi-modules.texi (string->date): Add line for ~N.
| Daniel Llorens | 2018-12-11 | 1 | -0/+10 |
* | Update (ice-9 match) to include selected bug fixes from upstream....Fixes <https://bugs.gnu.org/22925> and other bugs.
* module/ice-9/match.upstream.scm: Apply selected fixes from the
upstream match.scm in Chibi-Scheme.
* test-suite/tests/match.test.upstream: Add more tests from upstream.
| Mark H Weaver | 2018-11-11 | 1 | -0/+9 |
* | SRFI-19: Fix normalization of seconds and nanoseconds in time records....Fixes <https://bugs.gnu.org/26162>.
Reported by Zefram <zefram@fysh.org>.
* module/srfi/srfi-19.scm (time-normalize!): Rewrite.
* test-suite/tests/srfi-19.test: Add tests.
| Mark H Weaver | 2018-10-21 | 1 | -0/+8 |
* | SRFI-19: Add a few more tests....This is a followup to commit a58c7abd72648f77e4ede5f62a2c4e7969bb7f95.
* test-suite/tests/srfi-19.test: Add tests for large positive years.
| Mark H Weaver | 2018-10-20 | 1 | -0/+4 |
* | SRFI-19: Fix handling of negative years and negative julian days....Fixes <https://bugs.gnu.org/21906>.
Mitigates <https://bugs.gnu.org/21903> and <https://bugs.gnu.org/21904>.
Reported by: Zefram <zefram@fysh.org>.
* module/srfi/srfi-19.scm (encode-julian-day-number)
(decode-julian-day-number, date-week-number): Use 'floor-quotient'
instead of 'quotient', and 'floor' instead of 'truncate', where
appropriate.
(time-utc->date): Ensure that the 'nanoseconds' field of the returned
date is non-negative.
(leap-year): Handle negative years properly, and reformulate the
computation.
(week-day): Handle negative years properly. Use 'floor-quotient'
instead of 'quotient' where appropriate.
(directives): In the handler for '~Y' format escapes, improve the
handling of years outside of the range 0-9999.
(read-directives): Add a FIXME comment to fix the '~Y' reader to handle
years outside of the range 0-9999.
* test-suite/tests/srfi-19.test: Import (srfi srfi-1). Use Guile's
modern keyword notation in the 'define-module' form. Add more tests.
| Mark H Weaver | 2018-10-20 | 1 | -5/+48 |
* | SRFI-19: Fix TAI->UTC conversions, leap second handling, etc....Fixes <https://bugs.gnu.org/21911>.
Fixes <https://bugs.gnu.org/22034>.
Fixes <https://bugs.gnu.org/21902>.
Partially fixes <https://bugs.gnu.org/21904>.
Reported by Zefram <zefram@fysh.org>.
* doc/ref/srfi-modules.texi (SRFI-19 Introduction): Fix the definitions
of Julian Day and Modified Julian Day. Give the correct full names of
UTC and TAI.
* module/srfi/srfi-19.scm: Import (srfi srfi-1). Use modern Guile
keyword syntax in the 'define-module' form.
(leap-second-neg-delta): New procedure, derived from a similar procedure
in the latest upstream SRFI-19 reference implementation.
(priv:time-tai->time-utc!, time-tai->julian-day)
(time-monotonic->julian-day): Use 'leap-second-neg-delta'.
(local-tz-offset): Fix comment.
(leap-second?): Remove.
(tai-before-leap-second?): New procedure, derived from upstream SRFI-19.
(time-utc->date): Use 'define*' to handle the optional argument. Remove
the leap second handling, following upstream SRFI-19.
(time-tai->date): Rewrite in terms of 'time-utc->date'. Add special
leap second handling, following upstream SRFI-19.
(time-monotonic->date): Rewrite in terms of 'time-tai->date'.
(date->time-tai, date->time-monotonic): Add special leap second
handling, following upstream SRFI-19.
(directives): In the entry for the "~Y" escape in 'date->string', pad
the year field to 4 characters, following upstream SRFI-19.
* test-suite/tests/srfi-19.test: Add tests.
| Mark H Weaver | 2018-10-20 | 1 | -2/+115 |
* | Fix type inferencing for 'nil?' and 'null?' predicates....Fixes <https://bugs.gnu.org/33036>.
Reported by <calcium@disroot.org>.
* module/language/cps/types.scm (define-simple-type-inferrer):
Apply (logand (&type val) <>) uniformly. Previously, this was done only
in the false branch. Rename local variable to 'type*', to allow the
macro operand 'type' to be an arbitrary expression.
(*type-inferrers*)<null?>: Add &nil to the set of possible types.
(*type-inferrers*)<nil?>: Add &false and &null to the set the possible
types.
* module/language/cps/type-fold.scm (*branch-folders*)<null?>: Add &nil
to the set of possible types.
(*branch-folders*)<nil?>: Add &false and &null to the set the possible
types.
* test-suite/tests/compiler.test: Add tests.
| Mark H Weaver | 2018-10-19 | 1 | -1/+50 |
* | In 'ash' and 'round-ash', handle right shift count of LONG_MIN....Fixes <https://bugs.gnu.org/21901>.
Reported by Zefram <zefram@fysh.org>.
* libguile/numbers.c: Add another top-level 'verify' to ensure that
LONG_MIN is not a fixnum.
(scm_ash, scm_round_ash): Ensure that when the shift count is LONG_MIN,
it is not handled via the normal code path, to avoid signed overflow
when the shift count is negated.
* test-suite/tests/numbers.test: Add tests.
| Mark H Weaver | 2018-10-14 | 1 | -0/+24 |
* | Fix 'round-ash' of negative integers by huge right shift counts....This is a followup to commit 011aec7e240ef987931548d90c53e6692c85d01c.
When rounding, right shifting a negative integer by a huge shift count
results in 0, not -1.
* libguile/numbers.c: Add top-level 'verify' to ensure that the
assumptions in 'scm_ash' and 'scm_round_ash' are valid.
(scm_round_ash): In the case that handles huge right shifts, require
that the shift count _exceeds_ the integer length, and return 0 instead
of -1.
* test-suite/tests/numbers.test: Adjust tests accordingly.
| Mark H Weaver | 2018-10-14 | 1 | -5/+5 |
* | Gracefully handle huge shift counts in 'ash' and 'round-ash'....Fixes <https://bugs.gnu.org/32644>.
Reported by Stefan Israelsson Tampe <stefan.itampe@gmail.com>.
The need for this arose because the type inferrer for 'ursh' sometimes
passes (- 1 (expt 2 64)) as the second argument to 'ash'.
* libguile/numbers.c (scm_ash, scm_round_ash): Gracefully handle several
cases where the shift count does not fit in a C 'long'.
* test-suite/tests/numbers.test: Add tests.
| Mark H Weaver | 2018-10-14 | 1 | -2/+22 |
* | Fix list validation of *list->bytevector procedures....Fixes <https://bugs.gnu.org/32938>.
Reported by Josh Datko <jbd@cryptotronix.com>.
* libguile/validate.h (SCM_VALIDATE_LIST_COPYLEN)
(SCM_VALIDATE_NONEMPTYLIST_COPYLEN): Use '!=' instead of '>=' to
validate the result of 'scm_ilength' after it has been stored in
the user variable 'cvar'.
* test-suite/tests/bytevectors.test: Add tests. Use '#:use-module'
instead of ':use-module' in 'define-module' form.
| Mark H Weaver | 2018-10-14 | 1 | -5/+32 |
* | Define AT_SYMLINK_NOFOLLOW et al....* libguile/posix.c (scm_init_posix): Define AT_SYMLINK_NOFOLLOW,
AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, and AT_EMPTY_PATH when available.
(scm_utime): Mention AT_SYMLINK_NOFOLLOW.
* doc/ref/posix.texi (File System): Update accordingly.
* test-suite/tests/posix.test ("utime")["AT_SYMLINK_NOFOLLOW"]: New test.
| Ludovic Courtès | 2018-09-23 | 1 | -2/+17 |
* | Add -Wshadowed-toplevel....* module/language/tree-il/analyze.scm (shadowed-toplevel-analysis): New
variable.
* module/language/tree-il/compile-cps.scm (%warning-passes): Add it.
* module/system/base/message.scm (%warning-types): Add it.
* test-suite/tests/tree-il.test ("warnings")["shadowed-toplevel"]: New
test prefix.
* module/ice-9/boot-9.scm (%auto-compilation-options): Add it.
* doc/ref/api-evaluation.texi (Compilation): Add 'shadowed-toplevel' and
'macro-use-before-definition'.
| Ludovic Courtès | 2018-07-24 | 1 | -1/+83 |
* | r6rs-ports: Accept 'port-position' values greater than 2^32....Reported by Ricardo Wurmus <rekado@elephly.net>.
Fixes <https://bugs.gnu.org/32161>.
* libguile/r6rs-ports.c (custom_binary_port_seek): Use 'scm_to_off_t'
instead of 'scm_to_int'.
* test-suite/tests/r6rs-ports.test ("8.2.7 Input Ports")["custom binary
input port position, long offset"]: New test.
| Ludovic Courtès | 2018-07-19 | 1 | -1/+11 |
* | types: Recognize 'scm_t_port_type' and decode port type name....* module/system/base/types.scm (read-c-string, inferior-port-type): New
procedures.
(inferior-port): Use 'inferior-port-type' to determine the port type.
(cell->object): Rename 'flags+type' to 'flags' in the '%tc7-port' case.
* test-suite/tests/types.test ("opaque objects"): Adjust port testse.
(test-inferior-ports): New macro.
("ports"): New test prefix.
| Ludovic Courtès | 2018-06-24 | 1 | -3/+28 |
* | tests: Adjust i18n.test to 'fr_FR.utf8' locale in glibc 2.27....* test-suite/tests/i18n.test (french-number-string=?): New procedure.
("number->locale-string")["French"]("integer", "negative integer")
("fraction", "fraction, 1 digit"): Use it.
("format ~h")["French"]("12345.678"): Likewise.
("monetary-amount->locale-string")["French"]("integer", "fraction"):
Check for both SPACE and NO-BREAK SPACE.
| Ludovic Courtès | 2018-06-18 | 1 | -24/+42 |
* | tests: Add SRFI-71 test....* test-suite/tests/srfi-71.test: New file.
* test-suite/Makefile.am (SCM_TESTS): Add it.
| Ludovic Courtès | 2018-06-18 | 1 | -0/+46 |
* | srfi-18: 'thread-sleep!' timeout-as-a-number is relative....This is a followup to <https://bugs.gnu.org/29704>.
* module/srfi/srfi-18.scm (thread-sleep!): When TIMEOUT is a number,
keep it as-is.
* test-suite/tests/srfi-18.test ("thread sleep with number"): Pass 0 as
the timeout.
("thread sleeps fractions of a second"): Pass 0.5 as the timeout.
| Ludovic Courtès | 2018-02-16 | 1 | -3/+2 |
* | srfi-18: When timeout is a number, it's a relative number of seconds....Fixes <https://bugs.gnu.org/29704>.
Reported by David Beswick <dlbeswick@gmail.com>.
* module/srfi/srfi-18.scm (timeout->absolute-time): New procedure.
(mutex-lock!): Use it in 'thread:lock-mutex' call.
(mutex-unlock!): Use it.
* test-suite/tests/srfi-18.test ("mutex-lock! returns false on timeout")
("mutex-lock! returns true when lock obtained within timeout")
("recursive lock waits")
("mutex unlock is false when condition times out"): Adjust cases where
the 'timeout' parameter is a number so that it's a relative number.
| Ludovic Courtès | 2018-02-16 | 1 | -8/+5 |
* | 'load-thunk-from-memory' reports the correct error....Previously 'load-thunk-from-memory' would often throw to 'system-error'
when passed an incorrect ELF file, leading to incorrect error messages.
* libguile/loader.c (load_thunk_from_memory): Reset 'errno' when
'check_elf_header' returns non-NULL.
* test-suite/tests/vm.test: New file.
* test-suite/Makefile.am (SCM_TESTS): Add it.
| Ludovic Courtès | 2017-12-22 | 1 | -0/+54 |
* | Fix 'crypt' deadlock upon error....* libguile/posix.c (scm_crypt): Take 'scm_i_misc_mutex' right before
calling 'crypt'. Move 'SCM_SYSERROR' call after 'scm_dynwind_end'.
* test-suite/tests/posix.test ("crypt"): New test prefix.
| Ludovic Courtès | 2017-12-22 | 1 | -1/+18 |
* | Support general arrays in random:hollow-sphere!...* libguile/random.c (vector_scale_x, vector_sum_squares): Handle general
rank-1 #t or 'f64 arrays.
* test-suite/tests/random.test: Add tests for random:hollow-sphere!.
| Daniel Llorens | 2017-10-31 | 1 | -2/+45 |
* | Fix bitvectors and non-zero lower bound arrays in truncated-print...* module/ice-9/arrays.scm (array-print-prefix): New private function.
* libguile/arrays.c (scm_i_print_array): Reuse (array-print-prefix) from
(ice-9 arrays). Make sure to release the array handle.
* module/ice-9/pretty-print.scm (truncated-print): Support
bitvectors.
Don't try to guess the array prefix but call array-print-prefix from
(ice-9 arrays) instead.
Fix call to print-sequence to support non-zero lower bound arrays.
* test-suite/tests/arrays.test: Test that arrays print properly.
* test-suite/tests/print.test: Test truncated-print with bitvectors,
non-zero lower bound arrays.
| Daniel Llorens | 2017-10-31 | 2 | -9/+104 |
* | Support non-zero lower bounds in array-slice-for-each...* libguile/array-handle.c (scm_array_handle_writable_elements): Fix
error message.
* libguile/array-map.c (scm_array_slice_for_each): Support non-zero
lower bounds. Fix error messages.
* test-suite/tests/array-map.test: Test scm_array_slice_for_each with
non-zero lower bound argument.
| Daniel Llorens | 2017-10-31 | 1 | -0/+8 |
* | Fix sort, sort! for arrays with nonzero lower bound...* module/ice-9/arrays.scm (array-copy): New function, export.
* module/Makefile.am: Install (ice-9 arrays).
* doc/ref/api-data.texi: Add documentation for (ice-9 arrays).
* libguile/quicksort.i.c: Use signed bounds throughout.
* libguile/sort.c (scm_restricted_vector_sort_x): Fix error calls. Fix
calls to quicksort.
* test-suite/tests/sort.test: Actually test that the sorted results
match the original data. Test cases for non-zero base index arrays for
sort, sort!, and stable-sort!.
| Daniel Llorens | 2017-10-31 | 1 | -56/+93 |
* | Allow scm_XXX_writable_elements on empty vectors, even if immutable...* libguile/array-handle.c (initialize_vector_handle): Set both element
pointers to NULL if the vector is empty.
* libguile/array-map.c (racp): Ignore immutability if destination is
empty.
* test-suite/tests/sort.test: Check empty/mutable/immutable vectors with
sort!.
* test-suite/tests/array-map.test: Check array-copy! with
empty/immutable destination.
| Daniel Llorens | 2017-10-31 | 2 | -9/+25 |