summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Josh Gao <jmgao@google.com> 2018-08-30 17:26:49 -0700
committer Josh Gao <jmgao@google.com> 2018-08-30 18:26:27 -0700
commit7f00f5a1fa25f9b6414905983e7ac2739f662615 (patch)
tree33d072da4f8c157ab4a4be61a5b00d37729e52aa
parentf0029fcde5ccb85974ce8ef3c10bb457573d739e (diff)
Fix various benign double fdsan warnings in tests.
Bug: http://b/113558485 Test: art/test.py --target --gtest Change-Id: Idcc245e8bad0851aa9787d82f4d5bc9391fbd452
-rw-r--r--dex2oat/dex2oat_test.cc8
-rw-r--r--libartbase/base/unix_file/fd_file_test.cc5
-rw-r--r--libartbase/base/zip_archive_test.cc2
3 files changed, 9 insertions, 6 deletions
diff --git a/dex2oat/dex2oat_test.cc b/dex2oat/dex2oat_test.cc
index b2fe441582..bb73904b87 100644
--- a/dex2oat/dex2oat_test.cc
+++ b/dex2oat/dex2oat_test.cc
@@ -1705,7 +1705,7 @@ TEST_F(Dex2oatTest, CompactDexGenerationFailureMultiDex) {
// Create a multidex file with only one dex that gets rejected for cdex conversion.
ScratchFile apk_file;
{
- FILE* file = fdopen(apk_file.GetFd(), "w+b");
+ FILE* file = fdopen(dup(apk_file.GetFd()), "w+b");
ZipWriter writer(file);
// Add vdex to zip.
writer.StartEntry("classes.dex", ZipWriter::kCompress);
@@ -1847,7 +1847,7 @@ TEST_F(Dex2oatTest, DontExtract) {
std::unique_ptr<File> vdex_file(OS::OpenFileForReading(vdex_location.c_str()));
ASSERT_TRUE(vdex_file != nullptr);
ASSERT_GT(vdex_file->GetLength(), 0u);
- FILE* file = fdopen(dm_file.GetFd(), "w+b");
+ FILE* file = fdopen(dup(dm_file.GetFd()), "w+b");
ZipWriter writer(file);
auto write_all_bytes = [&](File* file) {
std::unique_ptr<uint8_t[]> bytes(new uint8_t[file->GetLength()]);
@@ -1973,7 +1973,7 @@ TEST_F(Dex2oatTest, QuickenedInput) {
TEST_F(Dex2oatTest, CompactDexInvalidSource) {
ScratchFile invalid_dex;
{
- FILE* file = fdopen(invalid_dex.GetFd(), "w+b");
+ FILE* file = fdopen(dup(invalid_dex.GetFd()), "w+b");
ZipWriter writer(file);
writer.StartEntry("classes.dex", ZipWriter::kAlign32);
DexFile::Header header = {};
@@ -2015,7 +2015,7 @@ TEST_F(Dex2oatTest, CompactDexInZip) {
// Create a zip containing the invalid dex.
ScratchFile invalid_dex_zip;
{
- FILE* file = fdopen(invalid_dex_zip.GetFd(), "w+b");
+ FILE* file = fdopen(dup(invalid_dex_zip.GetFd()), "w+b");
ZipWriter writer(file);
writer.StartEntry("classes.dex", ZipWriter::kCompress);
ASSERT_GE(writer.WriteBytes(&header, sizeof(header)), 0);
diff --git a/libartbase/base/unix_file/fd_file_test.cc b/libartbase/base/unix_file/fd_file_test.cc
index 1f731a7a7b..298b2d785f 100644
--- a/libartbase/base/unix_file/fd_file_test.cc
+++ b/libartbase/base/unix_file/fd_file_test.cc
@@ -24,7 +24,10 @@ namespace unix_file {
class FdFileTest : public RandomAccessFileTest {
protected:
virtual RandomAccessFile* MakeTestFile() {
- return new FdFile(fileno(tmpfile()), false);
+ FILE* tmp = tmpfile();
+ int fd = dup(fileno(tmp));
+ fclose(tmp);
+ return new FdFile(fd, false);
}
};
diff --git a/libartbase/base/zip_archive_test.cc b/libartbase/base/zip_archive_test.cc
index b99a471e04..b9238811ca 100644
--- a/libartbase/base/zip_archive_test.cc
+++ b/libartbase/base/zip_archive_test.cc
@@ -41,7 +41,7 @@ TEST_F(ZipArchiveTest, FindAndExtract) {
ScratchFile tmp;
ASSERT_NE(-1, tmp.GetFd());
- std::unique_ptr<File> file(new File(tmp.GetFd(), tmp.GetFilename(), false));
+ std::unique_ptr<File> file(new File(dup(tmp.GetFd()), tmp.GetFilename(), false));
ASSERT_TRUE(file.get() != nullptr);
bool success = zip_entry->ExtractToFile(*file, &error_msg);
ASSERT_TRUE(success) << error_msg;