brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 3cba7ec Raw
36 lines · cpp
1//===-- Unittests for fpathconf -------------------------------------------===//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#include "hdr/fcntl_macros.h"9#include "hdr/limits_macros.h"10#include "hdr/sys_stat_macros.h"11#include "hdr/unistd_macros.h"12#include "src/fcntl/open.h"13#include "src/unistd/close.h"14#include "src/unistd/fpathconf.h"15#include "test/UnitTest/ErrnoCheckingTest.h"16#include "test/UnitTest/ErrnoSetterMatcher.h"17#include "test/UnitTest/Test.h"18 19using namespace LIBC_NAMESPACE::testing::ErrnoSetterMatcher;20using LlvmLibcFpathconfTest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;21 22TEST_F(LlvmLibcFpathconfTest, SmokeTest) {23  constexpr const char *FILENAME = "fpathconf.test";24  auto TEST_FILE = libc_make_test_file_path(FILENAME);25  int fd = LIBC_NAMESPACE::open(TEST_FILE, O_WRONLY | O_CREAT, S_IRWXU);26  ASSERT_ERRNO_SUCCESS();27  ASSERT_GT(fd, 0);28 29  EXPECT_EQ(LIBC_NAMESPACE::fpathconf(fd, _PC_SYNC_IO), -1l);30  EXPECT_EQ(LIBC_NAMESPACE::fpathconf(fd, _PC_PATH_MAX),31            static_cast<long>(_POSIX_PATH_MAX));32  ASSERT_THAT(LIBC_NAMESPACE::close(fd), Succeeds(0));33}34 35// TODO: Functionality tests36