brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 868362e Raw
29 lines · cpp
1//===-- Unittests for strerror --------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "src/string/strerror_r.h"10#include "test/UnitTest/Test.h"11 12#include <stddef.h>13 14// This tests the gnu variant of strerror_r (which returns a char*).15TEST(LlvmLibcStrErrorRTest, GnuVariantTests) {16  const size_t BUFF_SIZE = 128;17  char buffer[BUFF_SIZE];18  buffer[0] = '\0';19  // If strerror_r returns a constant string, then it shouldn't affect the20  // buffer.21  ASSERT_STREQ(LIBC_NAMESPACE::strerror_r(0, buffer, BUFF_SIZE), "Success");22  ASSERT_EQ(buffer[0], '\0');23 24  // Else it should write the result to the provided buffer.25  ASSERT_STREQ(LIBC_NAMESPACE::strerror_r(-1, buffer, BUFF_SIZE),26               "Unknown error -1");27  ASSERT_STREQ(buffer, "Unknown error -1");28}29