annotate packages/language/c/libc/current/tests/stdio/sprintf1.c @ 66:bf00f99aec69 ecos-sw-2000-02-02

Merge from eCos master repository on 2000-02-02-19:16:44-GMT
author jlarmour
date Wed, 02 Feb 2000 19:57:02 +0000
parents c38311975d4f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1 //=================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
2 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
3 // sprintf1.c
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
4 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
5 // Testcase for C library sprintf()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
6 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
7 //=================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
8 //####COPYRIGHTBEGIN####
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
9 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
10 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
11 // The contents of this file are subject to the Red Hat eCos Public License
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
12 // Version 1.1 (the "License"); you may not use this file except in
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
13 // compliance with the License. You may obtain a copy of the License at
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
14 // http://www.redhat.com/
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
15 //
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
16 // Software distributed under the License is distributed on an "AS IS"
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
17 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
18 // License for the specific language governing rights and limitations under
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
19 // the License.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
20 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
21 // The Original Code is eCos - Embedded Configurable Operating System,
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
22 // released September 30, 1998.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
23 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
24 // The Initial Developer of the Original Code is Red Hat.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
25 // Portions created by Red Hat are
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
26 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
27 // All Rights Reserved.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
28 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
29 //
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
30 //####COPYRIGHTEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
31 //=================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
32 //#####DESCRIPTIONBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
33 //
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
34 // Author(s): ctarpy, jlarmour
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
35 // Contributors: jlarmour
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
36 // Date: 1998/6/3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
37 // Description: Contains testcode for C library sprintf() function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
38 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
39 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
40 //####DESCRIPTIONEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
41
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
42 // Declarations for test system:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
43 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
44 // TESTCASE_TYPE=CYG_TEST_MODULE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
45
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
46
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
47 // CONFIGURATION
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
48
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
49 #include <pkgconf/libc.h> // Configuration header
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
50
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
51
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
52 // INCLUDES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
53
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
54 #include <stdio.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
55 #include <cyg/infra/testcase.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
56 #include <sys/cstartup.h> // C library initialisation
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
57
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
58 // HOW TO START TESTS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
59
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
60 #if defined(CYGPKG_LIBC) && defined(CYGPKG_LIBC_STDIO)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
61
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
62 # define START_TEST( test ) test(0)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
63
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
64 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
65
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
66 # define START_TEST( test ) CYG_EMPTY_STATEMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
67
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
68 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
69
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
70
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
71 // FUNCTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
72
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
73 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
74 cyg_package_start( void )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
75 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
76 #ifdef CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
77 cyg_iso_c_start();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
78 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
79 (void)main(0, NULL);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
80 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
81 } // cyg_package_start()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
82
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
83
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
84 #if defined(CYGPKG_LIBC) && defined(CYGPKG_LIBC_STDIO)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
85
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
86 // Functions to avoid having to use libc strings
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
87
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
88 static int my_strlen(const char *s)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
89 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
90 const char *ptr;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
91
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
92 ptr = s;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
93 for ( ptr=s ; *ptr != '\0' ; ptr++ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
94 ;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
95
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
96 return (int)(ptr-s);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
97 } // my_strlen()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
98
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
99
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
100 static int my_strcmp(const char *s1, const char *s2)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
101 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
102 for ( ; *s1 == *s2 ; s1++,s2++ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
103 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
104 if ( *s1 == '\0' )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
105 break;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
106 } // for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
107
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
108 return (*s1 - *s2);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
109 } // my_strcmp()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
110
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
111
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
112 static char *my_strcpy(char *s1, const char *s2)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
113 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
114 while (*s2 != '\0') {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
115 *(s1++) = *(s2++);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
116 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
117 *s1 = '\0';
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
118
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
119 return s1;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
120 } // my_strcpy()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
121
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
122
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
123
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
124 static void test(CYG_ADDRWORD data)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
125 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
126 static char x[500];
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
127 static char y[500];
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
128 int ret;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
129 int tmp;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
130 int *ptr;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
131
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
132
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
133 // Check 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
134 ret = sprintf(x, "%d", 20);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
135 CYG_TEST_PASS_FAIL(my_strcmp(x, "20")==0, "%d test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
136 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%d test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
137
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
138 // Check 2
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
139 my_strcpy(y, "Pigs noses. Get 'em while there 'ot");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
140 ret = sprintf(x, "%s", y);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
141 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%s test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
142 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%s test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
143
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
144 // Check 3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
145 ret = sprintf(x, "||%7d||", 2378);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
146 CYG_TEST_PASS_FAIL(my_strcmp(x, "|| 2378||")==0, "padding test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
147 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "padding test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
148
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
149 // Check 4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
150 ret = sprintf(x, "%x", 3573);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
151 CYG_TEST_PASS_FAIL(my_strcmp(x, "df5")==0, "hex conversion (lowercase)");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
152 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "hex conv (lowercase) return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
153
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
154 // Check 5
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
155 ret = sprintf(x, "%X", 3573);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
156 CYG_TEST_PASS_FAIL(my_strcmp(x, "DF5")==0, "hex conversion (uppercase)");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
157 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "hex conv (upperbase ) return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
158
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
159 // Check 6
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
160 ret = sprintf(x, "%c", 65);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
161 CYG_TEST_PASS_FAIL(my_strcmp(x, "A")==0, "%c test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
162 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%c test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
163
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
164 // Check 7
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
165 ret = sprintf(x, "%o",4628);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
166 CYG_TEST_PASS_FAIL(my_strcmp(x, "11024")==0, "octal conversion");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
167 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "octal conversion return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
168
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
169 // Check 8
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
170 ret = sprintf(x, "%u", (unsigned int) 4738);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
171 CYG_TEST_PASS_FAIL(my_strcmp(x, "4738")==0, "%u test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
172 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%u test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
173
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
174 // Check 9
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
175 ptr = &tmp;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
176 ret = sprintf(x, "1234567x%n||", ptr);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
177 CYG_TEST_PASS_FAIL(tmp==8, "%n test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
178 CYG_TEST_PASS_FAIL(ret==10, "%n test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
179
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
180 // Check 10
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
181 ret = sprintf(x, "%%");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
182 CYG_TEST_PASS_FAIL(my_strcmp(x, "%")==0, "%% test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
183 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%% test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
184
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
185 // Check 11
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
186 ret = sprintf(x, "%ld", (long)1<<30);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
187 CYG_TEST_PASS_FAIL(my_strcmp(x, "1073741824")==0, "%ld test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
188 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%ld test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
189
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
190 // Check 12
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
191 ret = sprintf(x, "%lu", (unsigned long)(1<<31) + 100);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
192 CYG_TEST_PASS_FAIL(my_strcmp(x, "2147483748")==0, "%lu test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
193 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%lu test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
194
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
195 // Check 13
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
196 ret = sprintf(x, "%x", 0x789a);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
197 CYG_TEST_PASS_FAIL(my_strcmp(x, "789a")==0, "%x test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
198 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%x test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
199
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
200 // Check 14
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
201 ret = sprintf(x, "%X", 0x789ab2);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
202 CYG_TEST_PASS_FAIL(my_strcmp(x, "789AB2")==0, "%X test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
203 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%x test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
204
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
205 // Check 15
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
206 ret = sprintf(x, "%08x", 0xdea2f2);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
207 CYG_TEST_PASS_FAIL(my_strcmp(x, "00dea2f2")==0, "%0x test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
208 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%0x test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
209
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
210 // Check 16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
211 ret = sprintf(x, "%09X", 0x12fa1c);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
212 CYG_TEST_PASS_FAIL(my_strcmp(x, "00012FA1C")==0, "%0X test");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
213 CYG_TEST_PASS_FAIL(ret==my_strlen(x), "%0X test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
214
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
215 // Check 17
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
216 ptr=&tmp;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
217 ret = sprintf(x, "%p", (void *)ptr);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
218 // just check _something_ was returned
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
219 CYG_TEST_PASS_FAIL((ret==my_strlen(x)) && (ret > 0),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
220 "%p test return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
221
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
222 #ifdef CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
223
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
224 CYG_TEST_INFO("Starting floating point specific tests");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
225
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
226 // Check 18
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
227 ret = sprintf(x, "%f", 2.5);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
228 my_strcpy( y, "2.500000" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
229 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "simple %f test #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
230 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "simple %f test #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
231
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
232 // Check 19
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
233 ret = sprintf(x, "hello %f world", 1.234);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
234 my_strcpy( y, "hello 1.234000 world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
235 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "simple %f test #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
236 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "simple %f test #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
237
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
238 // Check 20
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
239 ret = sprintf(x, "hello%fworld", 2.3456781);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
240 my_strcpy( y, "hello2.345678world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
241 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "simple %f test #3");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
242 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "simple %f test #3 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
243
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
244 // Check 21
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
245 ret = sprintf(x, "%s%f%d%s", "testing", -0.591, 3, "123");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
246 my_strcpy( y, "testing-0.5910003123");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
247 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%f mixed with others");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
248 CYG_TEST_PASS_FAIL(ret == my_strlen(y),"%f mixed with others return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
249
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
250 // Check 22
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
251 ret = sprintf(x, "%s%f%d%s", "testing", -0.591, 3, "123");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
252 my_strcpy( y, "testing-0.5910003123");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
253 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%f mixed with others");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
254 CYG_TEST_PASS_FAIL(ret == my_strlen(y),"%f mixed with others return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
255
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
256 // Check 23
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
257 ret = sprintf(x, "hello%fworld", 2.3456786);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
258 my_strcpy( y, "hello2.345679world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
259 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "rounding test #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
260 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "rounding test #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
261
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
262 // Check 24
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
263 ret = sprintf(x, "hello%fworld", -2.3456786);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
264 my_strcpy( y, "hello-2.345679world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
265 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "rounding test #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
266 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "rounding test #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
267
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
268 // Check 25
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
269 ret = sprintf(x, "hello%+fworld", -6.54321);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
270 my_strcpy( y, "hello-6.543210world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
271 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "+ modifier #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
272 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "+ modifier #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
273
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
274 // Check 26
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
275 ret = sprintf(x, "hello%+fworld", 6.54321);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
276 my_strcpy( y, "hello+6.543210world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
277 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "+ modifier #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
278 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "+ modifier #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
279
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
280 // Check 27
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
281 ret = sprintf(x, "hello%5fworld", 6.5);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
282 my_strcpy( y, "hello6.500000world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
283 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "width modifier #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
284 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "width modifier #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
285
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
286 // Check 28
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
287 ret = sprintf(x, "hello%2fworld", 4.3);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
288 my_strcpy( y, "hello4.300000world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
289 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "width modifier #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
290 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "width modifier #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
291
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
292 // Check 29
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
293 ret = sprintf(x, "hello%2.1fworld", 5.6);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
294 my_strcpy( y, "hello5.6world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
295 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "width and precision modifier #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
296 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
297 "width and precision modifier #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
298
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
299 // Check 30
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
300 ret = sprintf(x, "hello%5.1fworld", 6.7);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
301 my_strcpy( y, "hello 6.7world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
302 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "width and precision modifier #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
303 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
304 "width and precision modifier #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
305
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
306 // Check 31
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
307 ret = sprintf(x, "hello%3.1fworld", 7.8);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
308 my_strcpy( y, "hello7.8world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
309 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "width and precision modifier #3");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
310 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
311 "width and precision modifier #3 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
312
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
313 // Check 32
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
314 ret = sprintf(x, "hello%3.2fworld", 7.8);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
315 my_strcpy( y, "hello7.80world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
316 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "width and precision modifier #4");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
317 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
318 "width and precision modifier #4 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
319
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
320 // Check 33
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
321 ret = sprintf(x, "hello%05.1fworld", 6.5);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
322 my_strcpy( y, "hello006.5world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
323 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "0 modifier #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
324 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "0 modifier #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
325
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
326 // Check 34
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
327 ret = sprintf(x, "hello%03.0fworld", 6.2);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
328 my_strcpy( y, "hello006world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
329 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "0 modifier #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
330 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "0 modifier #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
331
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
332 // Check 35
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
333 ret = sprintf(x, "hello%05.*fworld",2, 7.5);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
334 my_strcpy( y, "hello07.50world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
335 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "0 modifier plus *");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
336 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
337 "0 modifier plus * return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
338
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
339 // Check 36
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
340 ret = sprintf(x, "hello%03.1fworld",-1.232);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
341 my_strcpy( y, "hello-1.2world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
342 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "-ve number with 0 modifier #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
343 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
344 "-ve number with 0 modifier #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
345
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
346 // Check 37
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
347 ret = sprintf(x, "hello%04.1fworld",-1.232);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
348 my_strcpy( y, "hello-1.2world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
349 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "-ve number with 0 modifier #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
350 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
351 "-ve number with 0 modifier #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
352
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
353 // Check 38
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
354 ret = sprintf(x, "hello%05.1fworld",-1.232);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
355 my_strcpy( y, "hello-01.2world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
356 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "-ve number with 0 modifier #3");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
357 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
358 "-ve number with 0 modifier #3 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
359
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
360 // Check 39
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
361 ret = sprintf(x, "hello%fworld",0.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
362 my_strcpy( y, "hello0.000000world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
363 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "0.0 test #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
364 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "0.0 test #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
365
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
366 // Check 40
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
367 ret = sprintf(x, "hello%1.0fworld",0.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
368 my_strcpy( y, "hello0world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
369 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "0.0 test #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
370 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "0.0 test #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
371
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
372 // Check 41
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
373 ret = sprintf(x, "hello%1.1fworld",0.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
374 my_strcpy( y, "hello0.0world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
375 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "0.0 test #3");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
376 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "0.0 test #3 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
377
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
378 // Check 42
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
379 ret = sprintf(x, "hello%5.1fworld",0.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
380 my_strcpy( y, "hello 0.0world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
381 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "0.0 test #4");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
382 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "0.0 test #4 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
383
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
384 // Check 43
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
385 ret = sprintf(x, "hello%fworld",-0.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
386 my_strcpy( y, "hello-0.000000world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
387 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "-0.0 test #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
388 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "-0.0 test #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
389
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
390 // Check 44
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
391 ret = sprintf(x, "hello%fworld",0.234);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
392 my_strcpy( y, "hello0.234000world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
393 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "number less than 1 #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
394 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
395 "number less than 1 #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
396
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
397 // Check 45
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
398 ret = sprintf(x, "hello%02fworld",-0.234);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
399 my_strcpy( y, "hello-0.234000world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
400 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "number less than 1 #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
401 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
402 "number less than 1 #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
403
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
404 // Check 46
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
405 ret = sprintf(x, "hello%02.2fworld",-0.234);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
406 my_strcpy( y, "hello-0.23world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
407 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "number less than 1 #3");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
408 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
409 "number less than 1 #3 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
410
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
411 // Check 47
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
412 ret = sprintf(x, "hello%06.2fworld",-0.234);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
413 my_strcpy( y, "hello-00.23world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
414 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "number less than 1 #4");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
415 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
416 "number less than 1 #4 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
417
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
418 // Check 48
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
419 ret = sprintf(x, "hello%-6.2fworld",2.345);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
420 my_strcpy( y, "hello2.35 world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
421 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "left justification #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
422 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
423 "left justification #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
424
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
425 // Check 49
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
426 ret = sprintf(x, "hello%-6.2fworld",2.345);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
427 my_strcpy( y, "hello2.35 world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
428 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "left justification #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
429 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
430 "left justification #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
431
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
432 // Check 50
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
433 ret = sprintf(x, "hello%-3.2fworld",2.345);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
434 my_strcpy( y, "hello2.35world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
435 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "left justification #3");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
436 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
437 "left justification #3 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
438
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
439 // Check 51
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
440 ret = sprintf(x, "hello%#1.0fworld",2.12);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
441 my_strcpy( y, "hello2.world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
442 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "# modifier #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
443 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "# modifier #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
444
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
445 // Check 52
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
446 ret = sprintf(x, "hello%#1.2fworld",2.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
447 my_strcpy( y, "hello2.00world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
448 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "# modifier #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
449 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "# modifier #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
450
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
451 // Check 53
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
452 ret = sprintf(x, "hello%eworld",2.3456);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
453 my_strcpy( y, "hello2.345600e+00world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
454 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%e #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
455 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%e #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
456
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
457 // Check 54
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
458 ret = sprintf(x, "hello%4.3eworld",-2.3456e-1);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
459 my_strcpy( y, "hello-2.346e-01world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
460 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%e #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
461 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%e #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
462
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
463 // Check 55
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
464 ret = sprintf(x, "hello%4.2eworld",2.56e2);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
465 my_strcpy( y, "hello2.56e+02world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
466 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%e #3");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
467 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%e #3 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
468
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
469 // Check 56
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
470 ret = sprintf(x, "hello%09.2eworld",2.56e2);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
471 my_strcpy( y, "hello02.56e+02world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
472 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%e #4");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
473 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%e #4 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
474
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
475 // Check 57
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
476 ret = sprintf(x, "hello%09.2Eworld",4.23e19);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
477 my_strcpy( y, "hello04.23E+19world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
478 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%e #5");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
479 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%e #5 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
480
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
481 // Check 58
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
482 ret = sprintf(x, "hello%gworld",4.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
483 my_strcpy( y, "hello4world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
484 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
485 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
486
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
487 // Check 59
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
488 ret = sprintf(x, "hello%gworld",4.56);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
489 my_strcpy( y, "hello4.56world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
490 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
491 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
492
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
493 // Check 60
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
494 ret = sprintf(x, "hello%5.2gworld",4.56);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
495 my_strcpy( y, "hello 4.6world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
496 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #3");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
497 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #3 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
498
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
499 // Check 61
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
500 ret = sprintf(x, "hello%gworld",0.002);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
501 my_strcpy( y, "hello0.002world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
502 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #4");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
503 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #4 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
504
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
505 // Check 62
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
506 ret = sprintf(x, "hello%06.1gworld",0.0026);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
507 my_strcpy( y, "hello00.003world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
508 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #5");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
509 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #5 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
510
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
511 // Check 63
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
512 ret = sprintf(x, "hello%06gworld",0.000026);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
513 my_strcpy( y, "hello2.6e-05world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
514 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #5");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
515 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #5 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
516
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
517 // Check 64
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
518 ret = sprintf(x, "hello%06Gworld",0.000037);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
519 my_strcpy( y, "hello3.7E-05world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
520 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #6");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
521 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #6 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
522
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
523 // Check 65
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
524 ret = sprintf(x, "hello%08Gworld",-123456.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
525 my_strcpy( y, "hello-0123456world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
526 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #7");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
527 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #7 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
528
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
529 // Check 66
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
530 ret = sprintf(x, "hello%07gworld",-1234567.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
531 my_strcpy( y, "hello-1.23457e+06world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
532 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #8");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
533 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #8 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
534
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
535 // Check 67
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
536 ret = sprintf(x, "hello%013Gworld",-1234567.0);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
537 my_strcpy( y, "hello-01.23457E+06world");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
538 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "%g #9");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
539 CYG_TEST_PASS_FAIL(ret == my_strlen(y), "%g #9 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
540
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
541
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
542 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
543 CYG_TEST_PASS("Floating point tests skipped - not configured");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
544 #endif // ifdef CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
545
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
546 // Long string tests
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
547 ret = sprintf(x, "This is a very long string so I hope this works as "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
548 "otherwise I would be very, very, sad. The cat sat on the "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
549 "hat, and the mat sat on the rat. Quick brown fax, etc.etc. "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
550 "blah, blah and all that jazz. Isn't he finished yet? My "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
551 "old man's a dustman, why do I have to think up this "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
552 "drivel, isn't that what summer students are for, if "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
553 "anything that seems thinking up mindless drivel seems to "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
554 "be their occupation in life. Yoof of today, eh? What, "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
555 "what? %s So there.",
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
556 "And this is a middly bit.");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
557 my_strcpy(y, "This is a very long string so I hope this works as "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
558 "otherwise I would be very, very, sad. The cat sat on the "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
559 "hat, and the mat sat on the rat. Quick brown fax, etc.etc. "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
560 "blah, blah and all that jazz. Isn't he finished yet? My "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
561 "old man's a dustman, why do I have to think up this "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
562 "drivel, isn't that what summer students are for, if "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
563 "anything that seems thinking up mindless drivel seems to "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
564 "be their occupation in life. Yoof of today, eh? What, "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
565 "what? And this is a middly bit. So there.");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
566 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "long (480 char) string output #1");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
567 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
568 "long (480 char) string output #1 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
569
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
570 ret = sprintf(x, "Boo! This %s So there.",
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
571 "is a very long string so I hope this works as "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
572 "otherwise I would be very, very, sad. The cat sat on the "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
573 "hat, and the mat sat on the rat. Quick brown fax, etc.etc. "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
574 "blah, blah and all that jazz. Isn't he finished yet? My "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
575 "old man's a dustman, why do I have to think up this "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
576 "drivel, isn't that what summer students are for, if "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
577 "anything that seems thinking up mindless drivel seems to "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
578 "be their occupation in life. Yoof of today, eh? What, "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
579 "what? And this is a middly bit.");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
580 my_strcpy(y, "Boo! This is a very long string so I hope this works as "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
581 "otherwise I would be very, very, sad. The cat sat on the "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
582 "hat, and the mat sat on the rat. Quick brown fax, etc.etc. "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
583 "blah, blah and all that jazz. Isn't he finished yet? My "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
584 "old man's a dustman, why do I have to think up this "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
585 "drivel, isn't that what summer students are for, if "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
586 "anything that seems thinking up mindless drivel seems to "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
587 "be their occupation in life. Yoof of today, eh? What, "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
588 "what? And this is a middly bit. So there.");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
589 CYG_TEST_PASS_FAIL(my_strcmp(x, y)==0, "long (485 char) string output #2");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
590 CYG_TEST_PASS_FAIL(ret == my_strlen(y),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
591 "long (485 char) string output #2 return code");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
592
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
593
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
594
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
595
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
596 CYG_TEST_FINISH("Finished tests from testcase " __FILE__ " for C library "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
597 "sprintf() function");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
598
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
599 } // test()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
600
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
601 #endif // if defined(CYGPKG_LIBC) && defined(CYGPKG_LIBC_STDIO)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
602
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
603 int
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
604 main(int argc, char *argv[])
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
605 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
606 CYG_TEST_INIT();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
607
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
608 CYG_TEST_INFO("Starting tests from testcase " __FILE__ " for C library "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
609 "sprintf() function");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
610 CYG_TEST_INFO("These test individual features separately");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
611
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
612 START_TEST( test );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
613
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
614 CYG_TEST_NA("Testing is not applicable to this configuration");
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
615
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
616 } // main()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
617
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
618 // EOF sprintf1.c