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