Mercurial > hg > xemacs-beta
comparison tests/automated/lisp-tests.el @ 5886:c96000075e49
Be more careful about C integer overflow, #'parse-integer.
src/ChangeLog addition:
2015-04-08 Aidan Kehoe <kehoea@parhasard.net>
* data.c (parse_integer):
Fix a bug in my detecting a C overflow here.
tests/ChangeLog addition:
2015-04-08 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-tests.el:
Add a couple of tests for #'parse-integer to check for a bug just
fixed.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 08 Apr 2015 21:03:18 +0100 |
parents | e0f1dfaa821e |
children | bd644055ef44 a0e751d6c3ad |
comparison
equal
deleted
inserted
replaced
5885:c8bbb32fe124 | 5886:c96000075e49 |
---|---|
3604 (parse-integer "":junk-allowed t)) | 3604 (parse-integer "":junk-allowed t)) |
3605 '(nil 0))) | 3605 '(nil 0))) |
3606 (Assert (equal (multiple-value-list | 3606 (Assert (equal (multiple-value-list |
3607 (parse-integer "abc" :junk-allowed t)) | 3607 (parse-integer "abc" :junk-allowed t)) |
3608 '(nil 0))) | 3608 '(nil 0))) |
3609 (Assert (eql (ignore-errors (parse-integer "100000000" | |
3610 :radix 16)) | |
3611 (if (featurep 'bignum) (lsh 1 32) nil)) | |
3612 "checking an overflow bug has been fixed") | |
3613 (Assert (eql (ignore-errors (parse-integer "-100000000" | |
3614 :radix 16)) | |
3615 (if (featurep 'bignum) (- (lsh 1 32) nil)) | |
3616 "checking an overflow bug has been fixed, negative int") | |
3609 (Check-Error invalid-argument (parse-integer "0123456789" | 3617 (Check-Error invalid-argument (parse-integer "0123456789" |
3610 :radix 8)) | 3618 :radix 8)) |
3611 (Check-Error invalid-argument (parse-integer "abc")) | 3619 (Check-Error invalid-argument (parse-integer "abc")) |
3612 (Check-Error invalid-argument (parse-integer "efz" :radix 16)) | 3620 (Check-Error invalid-argument (parse-integer "efz" :radix 16)) |
3613 | 3621 |