[libcxx-commits] [PATCH] D72520: [libcxx] [test] Portability fix of std::basic_filebuf::overflow() test.
Andrey Maksimov via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jan 20 10:35:39 PST 2020
amakc11 updated this revision to Diff 239165.
amakc11 added a comment.
Herald added a reviewer: mclow.lists.
The first parameter of `pubsetbuf` method is also a pointer, so zero is changed to` nullptr`. Missed this in the original patch.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72520/new/
https://reviews.llvm.org/D72520
Files:
libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.pass.cpp
Index: libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.pass.cpp
===================================================================
--- libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.pass.cpp
+++ libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.pass.cpp
@@ -43,13 +43,14 @@
test_buf<char> f;
assert(f.open("overflow.dat", std::ios_base::out) != 0);
assert(f.is_open());
- assert(f.pbase() == 0);
- assert(f.pptr() == 0);
- assert(f.epptr() == 0);
+ assert(f.pbase() == nullptr);
+ assert(f.pptr() == nullptr);
+ assert(f.epptr() == nullptr);
assert(f.overflow('a') == 'a');
- assert(f.pbase() != 0);
- assert(f.pptr() == f.pbase());
- assert(f.epptr() - f.pbase() == 4095);
+ assert((f.pptr() == f.pbase()) || (f.pbase() == nullptr) || (f.pptr() - f.pbase() == 1));
+ LIBCPP_ASSERT(f.pbase() != nullptr);
+ LIBCPP_ASSERT(f.pptr() == f.pbase());
+ LIBCPP_ASSERT(f.epptr() - f.pbase() == 4095);
}
{
test_buf<char> f;
@@ -60,16 +61,16 @@
std::remove("overflow.dat");
{
test_buf<char> f;
- f.pubsetbuf(0, 0);
+ f.pubsetbuf(nullptr, 0);
assert(f.open("overflow.dat", std::ios_base::out) != 0);
assert(f.is_open());
- assert(f.pbase() == 0);
- assert(f.pptr() == 0);
- assert(f.epptr() == 0);
+ assert(f.pbase() == nullptr);
+ assert(f.pptr() == nullptr);
+ assert(f.epptr() == nullptr);
assert(f.overflow('a') == 'a');
- assert(f.pbase() == 0);
- assert(f.pptr() == 0);
- assert(f.epptr() == 0);
+ assert(f.pbase() == nullptr);
+ assert(f.pptr() == nullptr);
+ assert(f.epptr() == nullptr);
}
{
test_buf<char> f;
@@ -82,13 +83,14 @@
test_buf<wchar_t> f;
assert(f.open("overflow.dat", std::ios_base::out) != 0);
assert(f.is_open());
- assert(f.pbase() == 0);
- assert(f.pptr() == 0);
- assert(f.epptr() == 0);
+ assert(f.pbase() == nullptr);
+ assert(f.pptr() == nullptr);
+ assert(f.epptr() == nullptr);
assert(f.overflow(L'a') == L'a');
- assert(f.pbase() != 0);
- assert(f.pptr() == f.pbase());
- assert(f.epptr() - f.pbase() == 4095);
+ assert((f.pptr() == f.pbase()) || (f.pbase() == nullptr) || (f.pptr() - f.pbase() == 1));
+ LIBCPP_ASSERT(f.pbase() != nullptr);
+ LIBCPP_ASSERT(f.pptr() == f.pbase());
+ LIBCPP_ASSERT(f.epptr() - f.pbase() == 4095);
}
{
test_buf<wchar_t> f;
@@ -99,16 +101,16 @@
std::remove("overflow.dat");
{
test_buf<wchar_t> f;
- f.pubsetbuf(0, 0);
+ f.pubsetbuf(nullptr, 0);
assert(f.open("overflow.dat", std::ios_base::out) != 0);
assert(f.is_open());
- assert(f.pbase() == 0);
- assert(f.pptr() == 0);
- assert(f.epptr() == 0);
+ assert(f.pbase() == nullptr);
+ assert(f.pptr() == nullptr);
+ assert(f.epptr() == nullptr);
assert(f.overflow(L'a') == L'a');
- assert(f.pbase() == 0);
- assert(f.pptr() == 0);
- assert(f.epptr() == 0);
+ assert(f.pbase() == nullptr);
+ assert(f.pptr() == nullptr);
+ assert(f.epptr() == nullptr);
}
{
test_buf<wchar_t> f;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D72520.239165.patch
Type: text/x-patch
Size: 3492 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200120/0253f13c/attachment.bin>
More information about the libcxx-commits
mailing list