1*71db0c75SAndroid Build Coastguard Worker //===-- Unittests for printf ---------------------------------------------===// 2*71db0c75SAndroid Build Coastguard Worker // 3*71db0c75SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*71db0c75SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information. 5*71db0c75SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*71db0c75SAndroid Build Coastguard Worker // 7*71db0c75SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 8*71db0c75SAndroid Build Coastguard Worker 9*71db0c75SAndroid Build Coastguard Worker #include "src/stdio/printf.h" 10*71db0c75SAndroid Build Coastguard Worker 11*71db0c75SAndroid Build Coastguard Worker #include "test/UnitTest/Test.h" 12*71db0c75SAndroid Build Coastguard Worker TEST(LlvmLibcPrintfTest,PrintOut)13*71db0c75SAndroid Build Coastguard WorkerTEST(LlvmLibcPrintfTest, PrintOut) { 14*71db0c75SAndroid Build Coastguard Worker int written; 15*71db0c75SAndroid Build Coastguard Worker 16*71db0c75SAndroid Build Coastguard Worker constexpr char simple[] = "A simple string with no conversions.\n"; 17*71db0c75SAndroid Build Coastguard Worker written = LIBC_NAMESPACE::printf(simple); 18*71db0c75SAndroid Build Coastguard Worker EXPECT_EQ(written, static_cast<int>(sizeof(simple) - 1)); 19*71db0c75SAndroid Build Coastguard Worker 20*71db0c75SAndroid Build Coastguard Worker constexpr char numbers[] = "1234567890\n"; 21*71db0c75SAndroid Build Coastguard Worker written = LIBC_NAMESPACE::printf("%s", numbers); 22*71db0c75SAndroid Build Coastguard Worker EXPECT_EQ(written, static_cast<int>(sizeof(numbers) - 1)); 23*71db0c75SAndroid Build Coastguard Worker 24*71db0c75SAndroid Build Coastguard Worker constexpr char format_more[] = "%s and more\n"; 25*71db0c75SAndroid Build Coastguard Worker constexpr char short_numbers[] = "1234"; 26*71db0c75SAndroid Build Coastguard Worker written = LIBC_NAMESPACE::printf(format_more, short_numbers); 27*71db0c75SAndroid Build Coastguard Worker EXPECT_EQ(written, 28*71db0c75SAndroid Build Coastguard Worker static_cast<int>(sizeof(format_more) + sizeof(short_numbers) - 4)); 29*71db0c75SAndroid Build Coastguard Worker } 30