| delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to djgpp-workers-bounces using -f |
| Date: | Mon, 23 Feb 2004 15:34:52 -0500 |
| Message-Id: | <200402232034.i1NKYqrt024366@envy.delorie.com> |
| From: | DJ Delorie <dj AT delorie DOT com> |
| To: | djgpp-workers AT delorie DOT com |
| In-reply-to: | <403A5F55.7E608910@yahoo.com> (message from CBFalconer on Mon, 23 |
| Feb 2004 15:15:17 -0500) | |
| Subject: | Re: strtoul bug (was Re: Fibonacci number) |
| References: | <d7c3a0b2 DOT 0402220759 DOT 34d6435d AT posting DOT google DOT com> <4038E8CA DOT 6491815E AT virginia DOT edu> <4039DD96 DOT 3F36F3B7 AT yahoo DOT com> <200402231458 DOT i1NEwKwm020904 AT envy DOT delorie DOT com> <403A301C DOT E8F5FE65 AT yahoo DOT com> <200402231751 DOT i1NHp5lv022894 AT envy DOT delorie DOT com> <403A5F55 DOT 7E608910 AT yahoo DOT com> |
| Reply-To: | djgpp-workers AT delorie DOT com |
| Errors-To: | nobody AT delorie DOT com |
| X-Mailing-List: | djgpp-workers AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
I'm thinking something table-driven would be better; no user input
should be needed for a test case. How about a table like this?
struct {
char *input_string;
int base; /*
int expected_endp; /* index into string */
unsigned char expected_value[8];
int expected_errno;
} tests[] = {
{ "0", 0, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ "10x", 8, 2, { 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
/* etc */
{ 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 }, 0 }
}
We could have one table for each function (strtol, strtoul, strtoll,
strtoull) and pass the table, function, and size of result (4 or 8) to
a common "test this" function.
The function should print nothing and exit(0) if they all pass, else
print a diagnostic and exit(1) if any fail.
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |