mirror of
https://github.com/fmtlib/fmt.git
synced 2024-12-24 23:31:09 +00:00
Fix MSVC build.
This commit is contained in:
parent
e1c86f0b5d
commit
b322a1f58b
@ -35,7 +35,6 @@
|
|||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
# include <crtdbg.h> // for _CrtSetReportMode
|
# include <crtdbg.h> // for _CrtSetReportMode
|
||||||
# define close _close
|
|
||||||
#endif // _WIN32
|
#endif // _WIN32
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@ -363,7 +362,7 @@ TEST(BufferedFileTest, CloseErrorInDtor) {
|
|||||||
// the system may recycle closed file descriptor when redirecting the
|
// the system may recycle closed file descriptor when redirecting the
|
||||||
// output in EXPECT_STDERR and the second close will break output
|
// output in EXPECT_STDERR and the second close will break output
|
||||||
// redirection.
|
// redirection.
|
||||||
close(f->fileno());
|
FMT_POSIX(close(f->fileno()));
|
||||||
SUPPRESS_ASSERT(delete f);
|
SUPPRESS_ASSERT(delete f);
|
||||||
}, FormatSystemErrorMessage(EBADF, "cannot close file") + "\n");
|
}, FormatSystemErrorMessage(EBADF, "cannot close file") + "\n");
|
||||||
}
|
}
|
||||||
@ -378,7 +377,7 @@ TEST(BufferedFileTest, Close) {
|
|||||||
|
|
||||||
TEST(BufferedFileTest, CloseError) {
|
TEST(BufferedFileTest, CloseError) {
|
||||||
BufferedFile f = OpenFile(".travis.yml");
|
BufferedFile f = OpenFile(".travis.yml");
|
||||||
close(f.fileno());
|
FMT_POSIX(close(f.fileno()));
|
||||||
EXPECT_SYSTEM_ERROR_NOASSERT(f.close(), EBADF, "cannot close file");
|
EXPECT_SYSTEM_ERROR_NOASSERT(f.close(), EBADF, "cannot close file");
|
||||||
EXPECT_TRUE(f.get() == 0);
|
EXPECT_TRUE(f.get() == 0);
|
||||||
}
|
}
|
||||||
@ -492,7 +491,7 @@ TEST(FileTest, Close) {
|
|||||||
|
|
||||||
TEST(FileTest, CloseError) {
|
TEST(FileTest, CloseError) {
|
||||||
File f(".travis.yml", File::RDONLY);
|
File f(".travis.yml", File::RDONLY);
|
||||||
close(f.descriptor());
|
FMT_POSIX(close(f.descriptor()));
|
||||||
EXPECT_SYSTEM_ERROR_NOASSERT(f.close(), EBADF, "cannot close file");
|
EXPECT_SYSTEM_ERROR_NOASSERT(f.close(), EBADF, "cannot close file");
|
||||||
EXPECT_EQ(-1, f.descriptor());
|
EXPECT_EQ(-1, f.descriptor());
|
||||||
}
|
}
|
||||||
@ -602,7 +601,7 @@ TEST(OutputRedirectTest, FlushErrorInCtor) {
|
|||||||
BufferedFile f = write_end.fdopen("w");
|
BufferedFile f = write_end.fdopen("w");
|
||||||
// Put a character in a file buffer.
|
// Put a character in a file buffer.
|
||||||
EXPECT_EQ('x', fputc('x', f.get()));
|
EXPECT_EQ('x', fputc('x', f.get()));
|
||||||
close(write_fd);
|
FMT_POSIX(close(write_fd));
|
||||||
OutputRedirect *redir = 0;
|
OutputRedirect *redir = 0;
|
||||||
EXPECT_SYSTEM_ERROR_NOASSERT(redir = new OutputRedirect(f.get()),
|
EXPECT_SYSTEM_ERROR_NOASSERT(redir = new OutputRedirect(f.get()),
|
||||||
EBADF, fmt::Format("cannot flush stream"));
|
EBADF, fmt::Format("cannot flush stream"));
|
||||||
@ -614,7 +613,7 @@ TEST(OutputRedirectTest, DupErrorInCtor) {
|
|||||||
BufferedFile f = OpenFile(".travis.yml");
|
BufferedFile f = OpenFile(".travis.yml");
|
||||||
int fd = f.fileno();
|
int fd = f.fileno();
|
||||||
File dup = File::dup(fd);
|
File dup = File::dup(fd);
|
||||||
close(fd);
|
FMT_POSIX(close(fd));
|
||||||
OutputRedirect *redir = 0;
|
OutputRedirect *redir = 0;
|
||||||
EXPECT_SYSTEM_ERROR_NOASSERT(redir = new OutputRedirect(f.get()),
|
EXPECT_SYSTEM_ERROR_NOASSERT(redir = new OutputRedirect(f.get()),
|
||||||
EBADF, fmt::Format("cannot duplicate file descriptor {}") << fd);
|
EBADF, fmt::Format("cannot duplicate file descriptor {}") << fd);
|
||||||
@ -646,7 +645,7 @@ TEST(OutputRedirectTest, FlushErrorInRestoreAndRead) {
|
|||||||
OutputRedirect redir(f.get());
|
OutputRedirect redir(f.get());
|
||||||
// Put a character in a file buffer.
|
// Put a character in a file buffer.
|
||||||
EXPECT_EQ('x', fputc('x', f.get()));
|
EXPECT_EQ('x', fputc('x', f.get()));
|
||||||
close(write_fd);
|
FMT_POSIX(close(write_fd));
|
||||||
EXPECT_SYSTEM_ERROR_NOASSERT(redir.RestoreAndRead(),
|
EXPECT_SYSTEM_ERROR_NOASSERT(redir.RestoreAndRead(),
|
||||||
EBADF, fmt::Format("cannot flush stream"));
|
EBADF, fmt::Format("cannot flush stream"));
|
||||||
write_dup.dup2(write_fd); // "undo" close or dtor will fail
|
write_dup.dup2(write_fd); // "undo" close or dtor will fail
|
||||||
@ -666,7 +665,7 @@ TEST(OutputRedirectTest, ErrorInDtor) {
|
|||||||
// the system may recycle closed file descriptor when redirecting the
|
// the system may recycle closed file descriptor when redirecting the
|
||||||
// output in EXPECT_STDERR and the second close will break output
|
// output in EXPECT_STDERR and the second close will break output
|
||||||
// redirection.
|
// redirection.
|
||||||
close(write_fd);
|
FMT_POSIX(close(write_fd));
|
||||||
SUPPRESS_ASSERT(delete redir);
|
SUPPRESS_ASSERT(delete redir);
|
||||||
}, FormatSystemErrorMessage(EBADF, "cannot flush stream"));
|
}, FormatSystemErrorMessage(EBADF, "cannot flush stream"));
|
||||||
write_dup.dup2(write_fd); // "undo" close or dtor of BufferedFile will fail
|
write_dup.dup2(write_fd); // "undo" close or dtor of BufferedFile will fail
|
||||||
|
Loading…
Reference in New Issue
Block a user