summaryrefslogtreecommitdiff
path: root/test/stdlib/teststrtol.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/stdlib/teststrtol.c')
-rw-r--r--test/stdlib/teststrtol.c109
1 files changed, 0 insertions, 109 deletions
diff --git a/test/stdlib/teststrtol.c b/test/stdlib/teststrtol.c
deleted file mode 100644
index 5b43a9b0c..000000000
--- a/test/stdlib/teststrtol.c
+++ /dev/null
@@ -1,109 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-
-
-const char *strings[]={
- /* some simple stuff */
- "0", "1", "10",
- "100", "1000", "10000", "100000", "1000000",
- "10000000", "100000000", "1000000000",
-
- /* negative */
- "-0", "-1", "-10",
- "-100", "-1000", "-10000", "-100000", "-1000000",
- "-10000000", "-100000000", "-1000000000",
-
- /* test base>10 */
- "a", "b", "f", "g", "z",
-
- /* test hex */
- "0x0", "0x1", "0xa", "0xf", "0x10",
-
- /* test octal */
- "00", "01", "07", "08", "0a", "010",
-
- /* other */
- "0x8000000",
-
- /* check overflow cases: (for 32 bit) */
- "2147483645",
- "2147483646",
- "2147483647",
- "2147483648",
- "2147483649",
- "-2147483645",
- "-2147483646",
- "-2147483647",
- "-2147483648",
- "-2147483649",
- "4294967293",
- "4294967294",
- "4294967295",
- "4294967296",
- "4294967297",
- "-4294967293",
- "-4294967294",
- "-4294967295",
- "-4294967296",
- "-4294967297",
-
- /* bad input tests */
- "",
- "00",
- "0x",
- "0x0",
- "-",
- "+",
- " ",
- " -",
- " - 0",
-};
-int n_tests=sizeof(strings)/sizeof(strings[0]);
-
-void do_test(int base);
-void do_utest(int base);
-
-int main(int argc,char *argv[])
-{
- do_test(0);
- do_test(8);
- do_test(10);
- do_test(16);
- do_test(36);
-
- do_utest(0);
- do_utest(8);
- do_utest(10);
- do_utest(16);
- do_utest(36);
-
- return 0;
-}
-
-void do_test(int base)
-{
- int i;
- long n;
- char *endptr;
-
- for(i=0;i<n_tests;i++){
- n=strtol(strings[i],&endptr,base);
- printf("strtol(\"%s\",%d) len=%lu res=%ld\n",
- strings[i],base,(unsigned long)(endptr-strings[i]),n);
- }
-}
-
-void do_utest(int base)
-{
- int i;
- unsigned long n;
- char *endptr;
-
- for(i=0;i<n_tests;i++){
- n=strtoul(strings[i],&endptr,base);
- printf("strtoul(\"%s\",%d) len=%lu res=%lu\n",
- strings[i],base,(unsigned long)(endptr-strings[i]),n);
- }
-}
-