Mercurial > hg > xemacs-beta
view tests/automated/README @ 5908:6174848f3e6c
Use parse_integer() in read_atom(); support bases with ratios like integers
src/ChangeLog addition:
2015-05-08 Aidan Kehoe <kehoea@parhasard.net>
* data.c (init_errors_once_early):
Move the Qunsupported_type here from numbers.c, so it's available
when the majority of our types are not supported.
* general-slots.h: Add it here, too.
* number.c: Remove the definition of Qunsupported_type from here.
* lread.c (read_atom):
Check if the first character could reflect a rational, if so, call
parse_integer(), don't check the syntax of the other
characters. This allows us to accept the non-ASCII digit
characters too.
If that worked partially, but not completely, and the next char is
a slash, try to parse as a ratio.
If that fails, try isfloat_string(), but only if the first
character could plausibly be part of a float.
Otherwise, treat as a symbol.
* lread.c (read_rational):
Rename from read_integer. Handle ratios with the same radix
specification as was used for integers.
* lread.c (read1):
Rename read_integer in this function. Support the Common Lisp
#NNNrMMM syntax for parsing a number MMM of arbitrary radix NNN.
man/ChangeLog addition:
2015-05-08 Aidan Kehoe <kehoea@parhasard.net>
* lispref/numbers.texi (Numbers):
Describe the newly-supported arbitrary-base syntax for rationals
(integers and ratios). Describe that ratios can take the same base
specification as integers, something also new.
tests/ChangeLog addition:
2015-05-08 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-reader-tests.el:
Check the arbitrary-base integer reader syntax support, just
added. Check the reader base support for ratios, just added.
Check the non-ASCII-digit support in the reader, just added.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 09 May 2015 00:40:57 +0100 |
parents | 74fd4e045ea6 |
children |
line wrap: on
line source
This directory contains XEmacs' automated test suite. The usual way of running all the tests is running `make check' from the top-level source directory. The test suite is unfinished and it's still lacking some essential features. It is nevertheless recommended that you run the tests to confirm that XEmacs behaves correctly. If you want to run a specific test case, you can do it from the command-line like this: $ xemacs -batch -l test-harness.elc -f batch-test-emacs TEST-FILE If something goes wrong, you can run the test suite interactively by loading `test-harness.el' into a running XEmacs and typing `M-x test-emacs-test-file RET <filename> RET'. You will see a log of passed and failed tests, which should allow you to investigate the source of the error and ultimately fix the bug. Adding a new test file is trivial: just create a new file here and it will be run. There is no need to byte-compile any of the files in this directory -- the test-harness will take care of any necessary byte-compilation. Look at the existing test cases for the examples of coding test cases. It all boils down to your imagination and judicious use of the macros `Assert', `Check-Error', `Check-Error-Message', and `Check-Message'.