Refactoring TestIO

This commit is contained in:
Daniel Marjamäki 2016-01-13 10:13:24 +01:00
parent e9e496199c
commit 647f3fc619
1 changed files with 261 additions and 282 deletions

View File

@ -752,27 +752,6 @@ private:
check(TEST_SCANF_CODE(FORMAT,TYPE), true, false, Settings::Win64); \ check(TEST_SCANF_CODE(FORMAT,TYPE), true, false, Settings::Win64); \
ASSERT_EQUALS(TEST_SCANF_ERR_AKA(FORMAT,FORMATSTR,TYPE,AKATYPE_WIN64), errout.str()); ASSERT_EQUALS(TEST_SCANF_ERR_AKA(FORMAT,FORMATSTR,TYPE,AKATYPE_WIN64), errout.str());
#define TEST_SCANF_U(TYPE) TEST_SCANF("%u", "unsigned int", TYPE)
#define TEST_SCANF_U_AKA(TYPE,AKATYPE,AKATYPE_WIN64) TEST_SCANF_AKA("%u", "unsigned int", TYPE, AKATYPE, AKATYPE_WIN64)
#define TEST_SCANF_LU(TYPE) TEST_SCANF("%lu", "unsigned long", TYPE)
#define TEST_SCANF_LU_AKA(TYPE,AKATYPE,AKATYPE_WIN64) TEST_SCANF_AKA("%lu", "unsigned long", TYPE, AKATYPE, AKATYPE_WIN64)
#define TEST_SCANF_LLU(TYPE) TEST_SCANF("%llu", "unsigned long long", TYPE)
#define TEST_SCANF_LLU_AKA(TYPE,AKATYPE,AKATYPE_WIN64) TEST_SCANF_AKA("%llu", "unsigned long long", TYPE, AKATYPE, AKATYPE_WIN64)
#define TEST_SCANF_HU(TYPE) TEST_SCANF("%hu", "unsigned short", TYPE)
#define TEST_SCANF_HU_AKA(TYPE,AKATYPE,AKATYPE_WIN64) TEST_SCANF_AKA("%hu", "unsigned short", TYPE, AKATYPE, AKATYPE_WIN64)
#define TEST_SCANF_HHU(TYPE) TEST_SCANF("%hhu", "unsigned char", TYPE)
#define TEST_SCANF_HHU_AKA(TYPE,AKATYPE,AKATYPE_WIN64) TEST_SCANF_AKA("%hhu", "unsigned char", TYPE, AKATYPE, AKATYPE_WIN64)
#define TEST_SCANF_Lu(TYPE) TEST_SCANF("%Lu", "unsigned long long", TYPE)
#define TEST_SCANF_Lu_AKA(TYPE,AKATYPE,AKATYPE_WIN64) TEST_SCANF_AKA("%Lu", "unsigned long long", TYPE, AKATYPE, AKATYPE_WIN64)
#define TEST_SCANF_JU(TYPE) TEST_SCANF("%ju", "uintmax_t", TYPE)
#define TEST_SCANF_JU_AKA(TYPE,AKATYPE,AKATYPE_WIN64) TEST_SCANF_AKA("%ju", "uintmax_t", TYPE, AKATYPE, AKATYPE_WIN64)
#define TEST_SCANF_ZU(TYPE) TEST_SCANF("%zu", "size_t", TYPE)
#define TEST_SCANF_ZU_AKA(TYPE,AKATYPE,AKATYPE_WIN64) TEST_SCANF_AKA("%zu", "size_t", TYPE, AKATYPE, AKATYPE_WIN64)
#define TEST_SCANF_TU(TYPE) TEST_SCANF("%tu", "unsigned ptrdiff_t", TYPE)
#define TEST_SCANF_TU_AKA(TYPE,AKATYPE,AKATYPE_WIN64) TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", TYPE, AKATYPE, AKATYPE_WIN64)
#define TEST_SCANF_I64U_ERR(TYPE) \ #define TEST_SCANF_I64U_ERR(TYPE) \
((TYPE != std::string("unsigned long long")) \ ((TYPE != std::string("unsigned long long")) \
? TEST_SCANF_ERR("%I64u", "unsigned __int64", TYPE) \ ? TEST_SCANF_ERR("%I64u", "unsigned __int64", TYPE) \
@ -867,275 +846,275 @@ private:
"}", true); "}", true);
ASSERT_EQUALS("", errout.str()); ASSERT_EQUALS("", errout.str());
TEST_SCANF_U("bool"); TEST_SCANF("%u", "unsigned int", "bool");
TEST_SCANF_U("char"); TEST_SCANF("%u", "unsigned int", "char");
TEST_SCANF_U("signed char"); TEST_SCANF("%u", "unsigned int", "signed char");
TEST_SCANF_U("unsigned char"); TEST_SCANF("%u", "unsigned int", "unsigned char");
TEST_SCANF_U("short"); TEST_SCANF("%u", "unsigned int", "short");
TEST_SCANF_U("signed short"); TEST_SCANF("%u", "unsigned int", "signed short");
TEST_SCANF_U("unsigned short"); TEST_SCANF("%u", "unsigned int", "unsigned short");
TEST_SCANF_U("int"); TEST_SCANF("%u", "unsigned int", "int");
TEST_SCANF_U("signed int"); TEST_SCANF("%u", "unsigned int", "signed int");
TEST_SCANF_U("long"); TEST_SCANF("%u", "unsigned int", "long");
TEST_SCANF_U("signed long"); TEST_SCANF("%u", "unsigned int", "signed long");
TEST_SCANF_U("unsigned long"); TEST_SCANF("%u", "unsigned int", "unsigned long");
TEST_SCANF_U("long long"); TEST_SCANF("%u", "unsigned int", "long long");
TEST_SCANF_U("signed long long"); TEST_SCANF("%u", "unsigned int", "signed long long");
TEST_SCANF_U("unsigned long long"); TEST_SCANF("%u", "unsigned int", "unsigned long long");
TEST_SCANF_U("float"); TEST_SCANF("%u", "unsigned int", "float");
TEST_SCANF_U("double"); TEST_SCANF("%u", "unsigned int", "double");
TEST_SCANF_U("long double"); TEST_SCANF("%u", "unsigned int", "long double");
TEST_SCANF_U_AKA("size_t", "unsigned long", "unsigned long long"); TEST_SCANF("%u", "unsigned int", "void *");
TEST_SCANF_U_AKA("ssize_t", "long", "long long"); TEST_SCANF_AKA("%u", "unsigned int", "size_t", "unsigned long", "unsigned long long");
TEST_SCANF_U_AKA("ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%u", "unsigned int", "ssize_t", "long", "long long");
TEST_SCANF_U_AKA("intmax_t", "long", "long long"); TEST_SCANF_AKA("%u", "unsigned int", "ptrdiff_t", "long", "long long");
TEST_SCANF_U_AKA("uintmax_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%u", "unsigned int", "intmax_t", "long", "long long");
TEST_SCANF_U("void *"); TEST_SCANF_AKA("%u", "unsigned int", "uintmax_t", "unsigned long", "unsigned long long");
TEST_SCANF_U_AKA("std::size_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%u", "unsigned int", "std::size_t", "unsigned long", "unsigned long long");
TEST_SCANF_U_AKA("std::ssize_t", "long", "long long"); TEST_SCANF_AKA("%u", "unsigned int", "std::ssize_t", "long", "long long");
TEST_SCANF_U_AKA("std::ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%u", "unsigned int", "std::ptrdiff_t", "long", "long long");
TEST_SCANF_U_AKA("std::intptr_t", "long", "long long"); TEST_SCANF_AKA("%u", "unsigned int", "std::intptr_t", "long", "long long");
TEST_SCANF_U_AKA("std::uintptr_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%u", "unsigned int", "std::uintptr_t", "unsigned long", "unsigned long long");
TEST_SCANF_LU("bool"); TEST_SCANF("%lu","unsigned long","bool");
TEST_SCANF_LU("char"); TEST_SCANF("%lu","unsigned long","char");
TEST_SCANF_LU("signed char"); TEST_SCANF("%lu","unsigned long","signed char");
TEST_SCANF_LU("unsigned char"); TEST_SCANF("%lu","unsigned long","unsigned char");
TEST_SCANF_LU("short"); TEST_SCANF("%lu","unsigned long","short");
TEST_SCANF_LU("signed short"); TEST_SCANF("%lu","unsigned long","signed short");
TEST_SCANF_LU("unsigned short"); TEST_SCANF("%lu","unsigned long","unsigned short");
TEST_SCANF_LU("int"); TEST_SCANF("%lu","unsigned long","int");
TEST_SCANF_LU("signed int"); TEST_SCANF("%lu","unsigned long","signed int");
TEST_SCANF_LU("long"); TEST_SCANF("%lu","unsigned long","long");
TEST_SCANF_LU("signed long"); TEST_SCANF("%lu","unsigned long","signed long");
TEST_SCANF_LU("unsigned long"); TEST_SCANF("%lu","unsigned long","unsigned long");
TEST_SCANF_LU("long long"); TEST_SCANF("%lu","unsigned long","long long");
TEST_SCANF_LU("signed long long"); TEST_SCANF("%lu","unsigned long","signed long long");
TEST_SCANF_LU("unsigned long long"); TEST_SCANF("%lu","unsigned long","unsigned long long");
TEST_SCANF_LU("float"); TEST_SCANF("%lu","unsigned long","float");
TEST_SCANF_LU("double"); TEST_SCANF("%lu","unsigned long","double");
TEST_SCANF_LU("long double"); TEST_SCANF("%lu","unsigned long","long double");
TEST_SCANF_LU_AKA("size_t", "unsigned long", "unsigned long long"); TEST_SCANF("%lu","unsigned long","void *");
TEST_SCANF_LU_AKA("ssize_t", "long", "long long"); TEST_SCANF_AKA("%lu","unsigned long","size_t", "unsigned long", "unsigned long long");
TEST_SCANF_LU_AKA("ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%lu","unsigned long","ssize_t", "long", "long long");
TEST_SCANF_LU_AKA("intmax_t", "long", "long long"); TEST_SCANF_AKA("%lu","unsigned long","ptrdiff_t", "long", "long long");
TEST_SCANF_LU_AKA("uintmax_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%lu","unsigned long","intmax_t", "long", "long long");
TEST_SCANF_LU("void *"); TEST_SCANF_AKA("%lu","unsigned long","uintmax_t", "unsigned long", "unsigned long long");
TEST_SCANF_LU_AKA("std::size_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%lu","unsigned long","std::size_t", "unsigned long", "unsigned long long");
TEST_SCANF_LU_AKA("std::ssize_t", "long", "long long"); TEST_SCANF_AKA("%lu","unsigned long","std::ssize_t", "long", "long long");
TEST_SCANF_LU_AKA("std::ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%lu","unsigned long","std::ptrdiff_t", "long", "long long");
TEST_SCANF_LU_AKA("std::intptr_t", "long", "long long"); TEST_SCANF_AKA("%lu","unsigned long","std::intptr_t", "long", "long long");
// TODO: TEST_SCANF_LU_AKA("std::uintptr_t", "unsigned long", "unsigned long long"); // TODO TEST_SCANF_AKA("%lu","unsigned long","std::uintptr_t", "unsigned long", "unsigned long long");
TEST_SCANF_LLU("bool"); TEST_SCANF("%llu","unsigned long long","bool");
TEST_SCANF_LLU("char"); TEST_SCANF("%llu","unsigned long long","char");
TEST_SCANF_LLU("signed char"); TEST_SCANF("%llu","unsigned long long","signed char");
TEST_SCANF_LLU("unsigned char"); TEST_SCANF("%llu","unsigned long long","unsigned char");
TEST_SCANF_LLU("short"); TEST_SCANF("%llu","unsigned long long","short");
TEST_SCANF_LLU("signed short"); TEST_SCANF("%llu","unsigned long long","signed short");
TEST_SCANF_LLU("unsigned short"); TEST_SCANF("%llu","unsigned long long","unsigned short");
TEST_SCANF_LLU("int"); TEST_SCANF("%llu","unsigned long long","int");
TEST_SCANF_LLU("signed int"); TEST_SCANF("%llu","unsigned long long","signed int");
TEST_SCANF_LLU("long"); TEST_SCANF("%llu","unsigned long long","long");
TEST_SCANF_LLU("signed long"); TEST_SCANF("%llu","unsigned long long","signed long");
TEST_SCANF_LLU("unsigned long"); TEST_SCANF("%llu","unsigned long long","unsigned long");
TEST_SCANF_LLU("long long"); TEST_SCANF("%llu","unsigned long long","long long");
TEST_SCANF_LLU("signed long long"); TEST_SCANF("%llu","unsigned long long","signed long long");
TEST_SCANF_LLU("unsigned long long"); TEST_SCANF("%llu","unsigned long long","unsigned long long");
TEST_SCANF_LLU("float"); TEST_SCANF("%llu","unsigned long long","float");
TEST_SCANF_LLU("double"); TEST_SCANF("%llu","unsigned long long","double");
TEST_SCANF_LLU("long double"); TEST_SCANF("%llu","unsigned long long","long double");
TEST_SCANF_LLU_AKA("size_t", "unsigned long", "unsigned long long"); TEST_SCANF("%llu","unsigned long long","void *");
TEST_SCANF_LLU_AKA("ssize_t", "long", "long long"); TEST_SCANF_AKA("%llu","unsigned long long","size_t", "unsigned long", "unsigned long long");
TEST_SCANF_LLU_AKA("ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%llu","unsigned long long","ssize_t", "long", "long long");
TEST_SCANF_LLU_AKA("intmax_t", "long", "long long"); TEST_SCANF_AKA("%llu","unsigned long long","ptrdiff_t", "long", "long long");
TEST_SCANF_LLU_AKA("uintmax_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%llu","unsigned long long","intmax_t", "long", "long long");
TEST_SCANF_LLU("void *"); TEST_SCANF_AKA("%llu","unsigned long long","uintmax_t", "unsigned long", "unsigned long long");
TEST_SCANF_LLU_AKA("std::size_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%llu","unsigned long long","std::size_t", "unsigned long", "unsigned long long");
TEST_SCANF_LLU_AKA("std::ssize_t", "long", "long long"); TEST_SCANF_AKA("%llu","unsigned long long","std::ssize_t", "long", "long long");
TEST_SCANF_LLU_AKA("std::ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%llu","unsigned long long","std::ptrdiff_t", "long", "long long");
TEST_SCANF_LLU_AKA("std::intptr_t", "long", "long long"); TEST_SCANF_AKA("%llu","unsigned long long","std::intptr_t", "long", "long long");
// TODO TEST_SCANF_LLU_AKA("std::uintptr_t", "unsigned long", "unsigned long long"); // TODO TEST_SCANF_AKA("%llu","unsigned long long","std::uintptr_t", "unsigned long", "unsigned long long");
TEST_SCANF_HU("bool"); TEST_SCANF("%hu", "unsigned short", "bool");
TEST_SCANF_HU("char"); TEST_SCANF("%hu", "unsigned short", "char");
TEST_SCANF_HU("signed char"); TEST_SCANF("%hu", "unsigned short", "signed char");
TEST_SCANF_HU("unsigned char"); TEST_SCANF("%hu", "unsigned short", "unsigned char");
TEST_SCANF_HU("short"); TEST_SCANF("%hu", "unsigned short", "short");
TEST_SCANF_HU("signed short"); TEST_SCANF("%hu", "unsigned short", "signed short");
TEST_SCANF_HU("unsigned short"); TEST_SCANF("%hu", "unsigned short", "unsigned short");
TEST_SCANF_HU("int"); TEST_SCANF("%hu", "unsigned short", "int");
TEST_SCANF_HU("signed int"); TEST_SCANF("%hu", "unsigned short", "signed int");
TEST_SCANF_HU("long"); TEST_SCANF("%hu", "unsigned short", "long");
TEST_SCANF_HU("signed long"); TEST_SCANF("%hu", "unsigned short", "signed long");
TEST_SCANF_HU("unsigned long"); TEST_SCANF("%hu", "unsigned short", "unsigned long");
TEST_SCANF_HU("long long"); TEST_SCANF("%hu", "unsigned short", "long long");
TEST_SCANF_HU("signed long long"); TEST_SCANF("%hu", "unsigned short", "signed long long");
TEST_SCANF_HU("unsigned long long"); TEST_SCANF("%hu", "unsigned short", "unsigned long long");
TEST_SCANF_HU("float"); TEST_SCANF("%hu", "unsigned short", "float");
TEST_SCANF_HU("double"); TEST_SCANF("%hu", "unsigned short", "double");
TEST_SCANF_HU("long double"); TEST_SCANF("%hu", "unsigned short", "long double");
TEST_SCANF_HU_AKA("size_t", "unsigned long", "unsigned long long"); TEST_SCANF("%hu", "unsigned short", "void *");
TEST_SCANF_HU_AKA("ssize_t", "long", "long long"); TEST_SCANF_AKA("%hu", "unsigned short", "size_t", "unsigned long", "unsigned long long");
TEST_SCANF_HU_AKA("ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%hu", "unsigned short", "ssize_t", "long", "long long");
TEST_SCANF_HU_AKA("intmax_t", "long", "long long"); TEST_SCANF_AKA("%hu", "unsigned short", "ptrdiff_t", "long", "long long");
TEST_SCANF_HU_AKA("uintmax_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%hu", "unsigned short", "intmax_t", "long", "long long");
TEST_SCANF_HU("void *"); TEST_SCANF_AKA("%hu", "unsigned short", "uintmax_t", "unsigned long", "unsigned long long");
TEST_SCANF_HU_AKA("std::size_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%hu", "unsigned short", "std::size_t", "unsigned long", "unsigned long long");
TEST_SCANF_HU_AKA("std::ssize_t", "long", "long long"); TEST_SCANF_AKA("%hu", "unsigned short", "std::ssize_t", "long", "long long");
TEST_SCANF_HU_AKA("std::ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%hu", "unsigned short", "std::ptrdiff_t", "long", "long long");
TEST_SCANF_HU_AKA("std::intptr_t", "long", "long long"); TEST_SCANF_AKA("%hu", "unsigned short", "std::intptr_t", "long", "long long");
TEST_SCANF_HU_AKA("std::uintptr_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%hu", "unsigned short", "std::uintptr_t", "unsigned long", "unsigned long long");
TEST_SCANF_HHU("bool"); TEST_SCANF("%hhu", "unsigned char", "bool");
TEST_SCANF_HHU("char"); TEST_SCANF("%hhu", "unsigned char", "char");
TEST_SCANF_HHU("signed char"); TEST_SCANF("%hhu", "unsigned char", "signed char");
TEST_SCANF_HHU("unsigned char"); TEST_SCANF("%hhu", "unsigned char", "unsigned char");
TEST_SCANF_HHU("short"); TEST_SCANF("%hhu", "unsigned char", "short");
TEST_SCANF_HHU("signed short"); TEST_SCANF("%hhu", "unsigned char", "signed short");
TEST_SCANF_HHU("unsigned short"); TEST_SCANF("%hhu", "unsigned char", "unsigned short");
TEST_SCANF_HHU("int"); TEST_SCANF("%hhu", "unsigned char", "int");
TEST_SCANF_HHU("signed int"); TEST_SCANF("%hhu", "unsigned char", "signed int");
TEST_SCANF_HHU("long"); TEST_SCANF("%hhu", "unsigned char", "long");
TEST_SCANF_HHU("signed long"); TEST_SCANF("%hhu", "unsigned char", "signed long");
TEST_SCANF_HHU("unsigned long"); TEST_SCANF("%hhu", "unsigned char", "unsigned long");
TEST_SCANF_HHU("long long"); TEST_SCANF("%hhu", "unsigned char", "long long");
TEST_SCANF_HHU("signed long long"); TEST_SCANF("%hhu", "unsigned char", "signed long long");
TEST_SCANF_HHU("unsigned long long"); TEST_SCANF("%hhu", "unsigned char", "unsigned long long");
TEST_SCANF_HHU("float"); TEST_SCANF("%hhu", "unsigned char", "float");
TEST_SCANF_HHU("double"); TEST_SCANF("%hhu", "unsigned char", "double");
TEST_SCANF_HHU("long double"); TEST_SCANF("%hhu", "unsigned char", "long double");
TEST_SCANF_HHU_AKA("size_t", "unsigned long", "unsigned long long"); TEST_SCANF("%hhu", "unsigned char", "void *");
TEST_SCANF_HHU_AKA("ssize_t", "long", "long long"); TEST_SCANF_AKA("%hhu", "unsigned char", "size_t", "unsigned long", "unsigned long long");
TEST_SCANF_HHU_AKA("ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%hhu", "unsigned char", "ssize_t", "long", "long long");
TEST_SCANF_HHU_AKA("intmax_t", "long", "long long"); TEST_SCANF_AKA("%hhu", "unsigned char", "ptrdiff_t", "long", "long long");
TEST_SCANF_HHU_AKA("uintmax_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%hhu", "unsigned char", "intmax_t", "long", "long long");
TEST_SCANF_HHU("void *"); TEST_SCANF_AKA("%hhu", "unsigned char", "uintmax_t", "unsigned long", "unsigned long long");
TEST_SCANF_HHU_AKA("std::size_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%hhu", "unsigned char", "std::size_t", "unsigned long", "unsigned long long");
TEST_SCANF_HHU_AKA("std::ssize_t", "long", "long long"); TEST_SCANF_AKA("%hhu", "unsigned char", "std::ssize_t", "long", "long long");
TEST_SCANF_HHU_AKA("std::ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%hhu", "unsigned char", "std::ptrdiff_t", "long", "long long");
TEST_SCANF_HHU_AKA("std::intptr_t", "long", "long long"); TEST_SCANF_AKA("%hhu", "unsigned char", "std::intptr_t", "long", "long long");
TEST_SCANF_HHU_AKA("std::uintptr_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%hhu", "unsigned char", "std::uintptr_t", "unsigned long", "unsigned long long");
TEST_SCANF_Lu("bool"); TEST_SCANF("%Lu", "unsigned long long", "bool");
TEST_SCANF_Lu("char"); TEST_SCANF("%Lu", "unsigned long long", "char");
TEST_SCANF_Lu("signed char"); TEST_SCANF("%Lu", "unsigned long long", "signed char");
TEST_SCANF_Lu("unsigned char"); TEST_SCANF("%Lu", "unsigned long long", "unsigned char");
TEST_SCANF_Lu("short"); TEST_SCANF("%Lu", "unsigned long long", "short");
TEST_SCANF_Lu("signed short"); TEST_SCANF("%Lu", "unsigned long long", "signed short");
TEST_SCANF_Lu("unsigned short"); TEST_SCANF("%Lu", "unsigned long long", "unsigned short");
TEST_SCANF_Lu("int"); TEST_SCANF("%Lu", "unsigned long long", "int");
TEST_SCANF_Lu("signed int"); TEST_SCANF("%Lu", "unsigned long long", "signed int");
TEST_SCANF_Lu("long"); TEST_SCANF("%Lu", "unsigned long long", "long");
TEST_SCANF_Lu("signed long"); TEST_SCANF("%Lu", "unsigned long long", "signed long");
TEST_SCANF_Lu("unsigned long"); TEST_SCANF("%Lu", "unsigned long long", "unsigned long");
TEST_SCANF_Lu("long long"); TEST_SCANF("%Lu", "unsigned long long", "long long");
TEST_SCANF_Lu("signed long long"); TEST_SCANF("%Lu", "unsigned long long", "signed long long");
TEST_SCANF_Lu("unsigned long long"); TEST_SCANF("%Lu", "unsigned long long", "unsigned long long");
TEST_SCANF_Lu("float"); TEST_SCANF("%Lu", "unsigned long long", "float");
TEST_SCANF_Lu("double"); TEST_SCANF("%Lu", "unsigned long long", "double");
TEST_SCANF_Lu("long double"); TEST_SCANF("%Lu", "unsigned long long", "long double");
TEST_SCANF_Lu_AKA("size_t", "unsigned long", "unsigned long long"); TEST_SCANF("%Lu", "unsigned long long", "void *");
TEST_SCANF_Lu_AKA("ssize_t", "long", "long long"); TEST_SCANF_AKA("%Lu", "unsigned long long", "size_t", "unsigned long", "unsigned long long");
TEST_SCANF_Lu_AKA("ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%Lu", "unsigned long long", "ssize_t", "long", "long long");
TEST_SCANF_Lu_AKA("intmax_t", "long", "long long"); TEST_SCANF_AKA("%Lu", "unsigned long long", "ptrdiff_t", "long", "long long");
TEST_SCANF_Lu_AKA("uintmax_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%Lu", "unsigned long long", "intmax_t", "long", "long long");
TEST_SCANF_Lu("void *"); TEST_SCANF_AKA("%Lu", "unsigned long long", "uintmax_t", "unsigned long", "unsigned long long");
TEST_SCANF_Lu_AKA("std::size_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%Lu", "unsigned long long", "std::size_t", "unsigned long", "unsigned long long");
TEST_SCANF_Lu_AKA("std::ssize_t", "long", "long long"); TEST_SCANF_AKA("%Lu", "unsigned long long", "std::ssize_t", "long", "long long");
TEST_SCANF_Lu_AKA("std::ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%Lu", "unsigned long long", "std::ptrdiff_t", "long", "long long");
TEST_SCANF_Lu_AKA("std::intptr_t", "long", "long long"); TEST_SCANF_AKA("%Lu", "unsigned long long", "std::intptr_t", "long", "long long");
// TODO TEST_SCANF_Lu_AKA("std::uintptr_t", "unsigned long", "unsigned long long"); // TODO TEST_SCANF_AKA("%Lu", "unsigned long long", "std::uintptr_t", "unsigned long", "unsigned long long");
TEST_SCANF_JU("bool"); TEST_SCANF("%ju", "uintmax_t", "bool");
TEST_SCANF_JU("char"); TEST_SCANF("%ju", "uintmax_t", "char");
TEST_SCANF_JU("signed char"); TEST_SCANF("%ju", "uintmax_t", "signed char");
TEST_SCANF_JU("unsigned char"); TEST_SCANF("%ju", "uintmax_t", "unsigned char");
TEST_SCANF_JU("short"); TEST_SCANF("%ju", "uintmax_t", "short");
TEST_SCANF_JU("signed short"); TEST_SCANF("%ju", "uintmax_t", "signed short");
TEST_SCANF_JU("unsigned short"); TEST_SCANF("%ju", "uintmax_t", "unsigned short");
TEST_SCANF_JU("int"); TEST_SCANF("%ju", "uintmax_t", "int");
TEST_SCANF_JU("signed int"); TEST_SCANF("%ju", "uintmax_t", "signed int");
TEST_SCANF_JU("long"); TEST_SCANF("%ju", "uintmax_t", "long");
TEST_SCANF_JU("signed long"); TEST_SCANF("%ju", "uintmax_t", "signed long");
TEST_SCANF_JU("unsigned long"); TEST_SCANF("%ju", "uintmax_t", "unsigned long");
TEST_SCANF_JU("long long"); TEST_SCANF("%ju", "uintmax_t", "long long");
TEST_SCANF_JU("signed long long"); TEST_SCANF("%ju", "uintmax_t", "signed long long");
TEST_SCANF_JU("unsigned long long"); TEST_SCANF("%ju", "uintmax_t", "unsigned long long");
TEST_SCANF_JU("float"); TEST_SCANF("%ju", "uintmax_t", "float");
TEST_SCANF_JU("double"); TEST_SCANF("%ju", "uintmax_t", "double");
TEST_SCANF_JU("long double"); TEST_SCANF("%ju", "uintmax_t", "long double");
TEST_SCANF_JU_AKA("size_t", "unsigned long", "unsigned long long"); TEST_SCANF("%ju", "uintmax_t", "void *");
TEST_SCANF_JU_AKA("ssize_t", "long", "long long"); TEST_SCANF_AKA("%ju", "uintmax_t", "size_t", "unsigned long", "unsigned long long");
TEST_SCANF_JU_AKA("ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%ju", "uintmax_t", "ssize_t", "long", "long long");
TEST_SCANF_JU_AKA("intmax_t", "long", "long long"); TEST_SCANF_AKA("%ju", "uintmax_t", "ptrdiff_t", "long", "long long");
TEST_SCANF_JU_AKA("uintmax_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%ju", "uintmax_t", "intmax_t", "long", "long long");
TEST_SCANF_JU("void *"); TEST_SCANF_AKA("%ju", "uintmax_t", "uintmax_t", "unsigned long", "unsigned long long");
TEST_SCANF_JU_AKA("std::size_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%ju", "uintmax_t", "std::size_t", "unsigned long", "unsigned long long");
TEST_SCANF_JU_AKA("std::ssize_t", "long", "long long"); TEST_SCANF_AKA("%ju", "uintmax_t", "std::ssize_t", "long", "long long");
TEST_SCANF_JU_AKA("std::ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%ju", "uintmax_t", "std::ptrdiff_t", "long", "long long");
TEST_SCANF_JU_AKA("std::intptr_t", "long", "long long"); TEST_SCANF_AKA("%ju", "uintmax_t", "std::intptr_t", "long", "long long");
TEST_SCANF_JU_AKA("std::uintptr_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%ju", "uintmax_t", "std::uintptr_t", "unsigned long", "unsigned long long");
TEST_SCANF_ZU("bool"); TEST_SCANF("%zu", "size_t", "bool");
TEST_SCANF_ZU("char"); TEST_SCANF("%zu", "size_t", "char");
TEST_SCANF_ZU("signed char"); TEST_SCANF("%zu", "size_t", "signed char");
TEST_SCANF_ZU("unsigned char"); TEST_SCANF("%zu", "size_t", "unsigned char");
TEST_SCANF_ZU("short"); TEST_SCANF("%zu", "size_t", "short");
TEST_SCANF_ZU("signed short"); TEST_SCANF("%zu", "size_t", "signed short");
TEST_SCANF_ZU("unsigned short"); TEST_SCANF("%zu", "size_t", "unsigned short");
TEST_SCANF_ZU("int"); TEST_SCANF("%zu", "size_t", "int");
TEST_SCANF_ZU("signed int"); TEST_SCANF("%zu", "size_t", "signed int");
TEST_SCANF_ZU("long"); TEST_SCANF("%zu", "size_t", "long");
TEST_SCANF_ZU("signed long"); TEST_SCANF("%zu", "size_t", "signed long");
TEST_SCANF_ZU("unsigned long"); TEST_SCANF("%zu", "size_t", "unsigned long");
TEST_SCANF_ZU("long long"); TEST_SCANF("%zu", "size_t", "long long");
TEST_SCANF_ZU("signed long long"); TEST_SCANF("%zu", "size_t", "signed long long");
TEST_SCANF_ZU("unsigned long long"); TEST_SCANF("%zu", "size_t", "unsigned long long");
TEST_SCANF_ZU("float"); TEST_SCANF("%zu", "size_t", "float");
TEST_SCANF_ZU("double"); TEST_SCANF("%zu", "size_t", "double");
TEST_SCANF_ZU("long double"); TEST_SCANF("%zu", "size_t", "long double");
TEST_SCANF_ZU_AKA("size_t", "unsigned long", "unsigned long long"); TEST_SCANF("%zu", "size_t", "void *");
TEST_SCANF_ZU_AKA("ssize_t", "long", "long long"); TEST_SCANF_AKA("%zu", "size_t", "size_t", "unsigned long", "unsigned long long");
TEST_SCANF_ZU_AKA("ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%zu", "size_t", "ssize_t", "long", "long long");
TEST_SCANF_ZU_AKA("intmax_t", "long", "long long"); TEST_SCANF_AKA("%zu", "size_t", "ptrdiff_t", "long", "long long");
TEST_SCANF_ZU_AKA("uintmax_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%zu", "size_t", "intmax_t", "long", "long long");
TEST_SCANF_ZU("void *"); TEST_SCANF_AKA("%zu", "size_t", "uintmax_t", "unsigned long", "unsigned long long");
TEST_SCANF_ZU_AKA("std::size_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%zu", "size_t", "std::size_t", "unsigned long", "unsigned long long");
TEST_SCANF_ZU_AKA("std::ssize_t", "long", "long long"); TEST_SCANF_AKA("%zu", "size_t", "std::ssize_t", "long", "long long");
TEST_SCANF_ZU_AKA("std::ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%zu", "size_t", "std::ptrdiff_t", "long", "long long");
TEST_SCANF_ZU_AKA("std::intptr_t", "long", "long long"); TEST_SCANF_AKA("%zu", "size_t", "std::intptr_t", "long", "long long");
TEST_SCANF_ZU_AKA("std::uintptr_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%zu", "size_t", "std::uintptr_t", "unsigned long", "unsigned long long");
TEST_SCANF_TU("bool"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "bool");
TEST_SCANF_TU("char"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "char");
TEST_SCANF_TU("signed char"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "signed char");
TEST_SCANF_TU("unsigned char"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "unsigned char");
TEST_SCANF_TU("short"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "short");
TEST_SCANF_TU("signed short"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "signed short");
TEST_SCANF_TU("unsigned short"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "unsigned short");
TEST_SCANF_TU("int"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "int");
TEST_SCANF_TU("signed int"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "signed int");
TEST_SCANF_TU("long"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "long");
TEST_SCANF_TU("signed long"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "signed long");
TEST_SCANF_TU("unsigned long"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "unsigned long");
TEST_SCANF_TU("long long"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "long long");
TEST_SCANF_TU("signed long long"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "signed long long");
TEST_SCANF_TU("unsigned long long"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "unsigned long long");
TEST_SCANF_TU("float"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "float");
TEST_SCANF_TU("double"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "double");
TEST_SCANF_TU("long double"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "long double");
TEST_SCANF_TU_AKA("size_t", "unsigned long", "unsigned long long"); TEST_SCANF("%tu", "unsigned ptrdiff_t", "void *");
TEST_SCANF_TU_AKA("ssize_t", "long", "long long"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "size_t", "unsigned long", "unsigned long long");
TEST_SCANF_TU_AKA("ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "ssize_t", "long", "long long");
TEST_SCANF_TU_AKA("intmax_t", "long", "long long"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "ptrdiff_t", "long", "long long");
TEST_SCANF_TU_AKA("uintmax_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "intmax_t", "long", "long long");
TEST_SCANF_TU("void *"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "uintmax_t", "unsigned long", "unsigned long long");
TEST_SCANF_TU_AKA("std::size_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "std::size_t", "unsigned long", "unsigned long long");
TEST_SCANF_TU_AKA("std::ssize_t", "long", "long long"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "std::ssize_t", "long", "long long");
TEST_SCANF_TU_AKA("std::ptrdiff_t", "long", "long long"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "std::ptrdiff_t", "long", "long long");
TEST_SCANF_TU_AKA("std::intptr_t", "long", "long long"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "std::intptr_t", "long", "long long");
TEST_SCANF_TU_AKA("std::uintptr_t", "unsigned long", "unsigned long long"); TEST_SCANF_AKA("%tu", "unsigned ptrdiff_t", "std::uintptr_t", "unsigned long", "unsigned long long");
TEST_SCANF_I64U("bool"); TEST_SCANF_I64U("bool");
TEST_SCANF_I64U("char"); TEST_SCANF_I64U("char");