1a8e1175bSopenharmony_ci# The test cases for printf and integers have two purposes: they exercise
2a8e1175bSopenharmony_ci# the printf function family, and they exercise the passing of integers
3a8e1175bSopenharmony_ci# and strings through the test framework.
4a8e1175bSopenharmony_ci
5a8e1175bSopenharmony_ciprintf "%d", 0
6a8e1175bSopenharmony_ciprintf_int:"%d":0:"0"
7a8e1175bSopenharmony_ci
8a8e1175bSopenharmony_ciprintf "%d", -0
9a8e1175bSopenharmony_ciprintf_int:"%d":-0:"0"
10a8e1175bSopenharmony_ci
11a8e1175bSopenharmony_ciprintf "%d", 0x0
12a8e1175bSopenharmony_ciprintf_int:"%d":0x0:"0"
13a8e1175bSopenharmony_ci
14a8e1175bSopenharmony_ciprintf "%d", 0x00
15a8e1175bSopenharmony_ciprintf_int:"%d":0x00:"0"
16a8e1175bSopenharmony_ci
17a8e1175bSopenharmony_ciprintf "%d", 0x000000000000000000000000000000000000000000
18a8e1175bSopenharmony_ciprintf_int:"%d":0x000000000000000000000000000000000000000000:"0"
19a8e1175bSopenharmony_ci
20a8e1175bSopenharmony_ciprintf "%d", -0x0
21a8e1175bSopenharmony_ciprintf_int:"%d":-0x0:"0"
22a8e1175bSopenharmony_ci
23a8e1175bSopenharmony_ciprintf "%d", 1
24a8e1175bSopenharmony_ciprintf_int:"%d":1:"1"
25a8e1175bSopenharmony_ci
26a8e1175bSopenharmony_ciprintf "%d", 0x1
27a8e1175bSopenharmony_ciprintf_int:"%d":0x1:"1"
28a8e1175bSopenharmony_ci
29a8e1175bSopenharmony_ciprintf "%d", 0x0000000000000000000000000000000000000000001
30a8e1175bSopenharmony_ciprintf_int:"%d":0x0000000000000000000000000000000000000000001:"1"
31a8e1175bSopenharmony_ci
32a8e1175bSopenharmony_ciprintf "%d", -1
33a8e1175bSopenharmony_ciprintf_int:"%d":-1:"-1"
34a8e1175bSopenharmony_ci
35a8e1175bSopenharmony_ciprintf "%d", -0x1
36a8e1175bSopenharmony_ciprintf_int:"%d":-0x1:"-1"
37a8e1175bSopenharmony_ci
38a8e1175bSopenharmony_ciprintf "%d", -0x0000000000000000000000000000000000000000001
39a8e1175bSopenharmony_ciprintf_int:"%d":-0x0000000000000000000000000000000000000000001:"-1"
40a8e1175bSopenharmony_ci
41a8e1175bSopenharmony_ciprintf "%d", 2147483647
42a8e1175bSopenharmony_ciprintf_int:"%d":2147483647:"2147483647"
43a8e1175bSopenharmony_ci
44a8e1175bSopenharmony_ciprintf "%d", 0x7fffffff
45a8e1175bSopenharmony_ciprintf_int:"%d":0x7fffffff:"2147483647"
46a8e1175bSopenharmony_ci
47a8e1175bSopenharmony_ciprintf "%d", -2147483647
48a8e1175bSopenharmony_ciprintf_int:"%d":-2147483647:"-2147483647"
49a8e1175bSopenharmony_ci
50a8e1175bSopenharmony_ciprintf "%d", -0x7fffffff
51a8e1175bSopenharmony_ciprintf_int:"%d":-0x7fffffff:"-2147483647"
52a8e1175bSopenharmony_ci
53a8e1175bSopenharmony_ciprintf "%d", -2147483648
54a8e1175bSopenharmony_ciprintf_int:"%d":-2147483648:"-2147483648"
55a8e1175bSopenharmony_ci
56a8e1175bSopenharmony_ciprintf "%d", -0x80000000
57a8e1175bSopenharmony_ciprintf_int:"%d":-0x80000000:"-2147483648"
58a8e1175bSopenharmony_ci
59a8e1175bSopenharmony_ci# Test that LONG_MAX is coming out untruncated through the test framework.
60a8e1175bSopenharmony_ciprintf "%lx", LONG_MAX
61a8e1175bSopenharmony_ciprintf_long_max:"%lx":LONG_MAX
62a8e1175bSopenharmony_ci
63a8e1175bSopenharmony_ci# The next few test cases exercise how the test framework handles special
64a8e1175bSopenharmony_ci# characters in strings.
65a8e1175bSopenharmony_ciprintf "%c%c", SPACE, SPACE
66a8e1175bSopenharmony_ciprintf_char2:"%c%c":SPACE_CHAR:SPACE_CHAR:"  "
67a8e1175bSopenharmony_ci
68a8e1175bSopenharmony_ciprintf "%c%c", NEWLINE, SPACE
69a8e1175bSopenharmony_ciprintf_char2:"%c%c":NEWLINE_CHAR:SPACE_CHAR:"\n "
70a8e1175bSopenharmony_ci
71a8e1175bSopenharmony_ciprintf "%c%c", DOUBLE QUOTE, SPACE
72a8e1175bSopenharmony_ciprintf_char2:"%c%c":DOUBLE_QUOTE_CHAR:SPACE_CHAR:"\" "
73a8e1175bSopenharmony_ci
74a8e1175bSopenharmony_ciprintf "%c%c", COLON, SPACE
75a8e1175bSopenharmony_ciprintf_char2:"%c%c":COLON_CHAR:SPACE_CHAR:"\: "
76a8e1175bSopenharmony_ci
77a8e1175bSopenharmony_ciprintf "%c%c", QUESTION, SPACE
78a8e1175bSopenharmony_ciprintf_char2:"%c%c":QUESTION_CHAR:SPACE_CHAR:"? "
79a8e1175bSopenharmony_ci
80a8e1175bSopenharmony_ciprintf "%c%c", BACKSLASH, SPACE
81a8e1175bSopenharmony_ciprintf_char2:"%c%c":BACKSLASH_CHAR:SPACE_CHAR:"\\ "
82a8e1175bSopenharmony_ci
83a8e1175bSopenharmony_ciprintf "%c%c", SPACE, BACKSLASH
84a8e1175bSopenharmony_ciprintf_char2:"%c%c":SPACE_CHAR:BACKSLASH_CHAR:" \\"
85a8e1175bSopenharmony_ci
86a8e1175bSopenharmony_ciprintf "%c%c", COLON, COLON
87a8e1175bSopenharmony_ciprintf_char2:"%c%c":COLON_CHAR:COLON_CHAR:"\:\:"
88a8e1175bSopenharmony_ci
89a8e1175bSopenharmony_ciprintf "%c%c", COLON, NEWLINE
90a8e1175bSopenharmony_ciprintf_char2:"%c%c":COLON_CHAR:NEWLINE_CHAR:"\:\n"
91a8e1175bSopenharmony_ci
92a8e1175bSopenharmony_ciprintf "%c%c", QUESTION, QUESTION
93a8e1175bSopenharmony_ciprintf_char2:"%c%c":QUESTION_CHAR:QUESTION_CHAR:"??"
94a8e1175bSopenharmony_ci
95a8e1175bSopenharmony_ciprintf "%c%c", QUESTION, NEWLINE
96a8e1175bSopenharmony_ciprintf_char2:"%c%c":QUESTION_CHAR:NEWLINE_CHAR:"?\n"
97a8e1175bSopenharmony_ci
98a8e1175bSopenharmony_ciprintf "%c%c", BACKSLASH, NEWLINE
99a8e1175bSopenharmony_ciprintf_char2:"%c%c":BACKSLASH_CHAR:NEWLINE_CHAR:"\\\n"
100a8e1175bSopenharmony_ci
101a8e1175bSopenharmony_ciprintf "%c%c", BACKSLASH, DOUBLE QUOTE
102a8e1175bSopenharmony_ciprintf_char2:"%c%c":BACKSLASH_CHAR:DOUBLE_QUOTE_CHAR:"\\\""
103a8e1175bSopenharmony_ci
104a8e1175bSopenharmony_ciprintf "%c%c", BACKSLASH, COLON
105a8e1175bSopenharmony_ciprintf_char2:"%c%c":BACKSLASH_CHAR:COLON_CHAR:"\\\:"
106a8e1175bSopenharmony_ci
107a8e1175bSopenharmony_ciprintf "%c%c", BACKSLASH, QUESTION
108a8e1175bSopenharmony_ciprintf_char2:"%c%c":BACKSLASH_CHAR:QUESTION_CHAR:"\\?"
109a8e1175bSopenharmony_ci
110a8e1175bSopenharmony_ciprintf "%c%c", BACKSLASH, BACKSLASH
111a8e1175bSopenharmony_ciprintf_char2:"%c%c":BACKSLASH_CHAR:BACKSLASH_CHAR:"\\\\"
112a8e1175bSopenharmony_ci
113a8e1175bSopenharmony_ciprintf "%c%c", BACKSLASH, n
114a8e1175bSopenharmony_ciprintf_char2:"%c%c":BACKSLASH_CHAR:LOWERCASE_N_CHAR:"\\n"
115