[lld] r280507 - Fix potential test failures.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 2 10:19:29 PDT 2016


Author: ruiu
Date: Fri Sep  2 12:19:28 2016
New Revision: 280507

URL: http://llvm.org/viewvc/llvm-project?rev=280507&view=rev
Log:
Fix potential test failures.

Windows does not allow opened files to be removed. This patch
fixes two types of errors.

 - Output file being the same as input file. Because LLD itself
   holds a file descriptor of the input file, it cannot create an
   output file with the same name as a new file.

 - Removing files before releasing MemoryBuffer objects.

These tests are not failing no because MemoryBuffer happens to
decide not to use mmap on these files. But we shouldn't rely on
that behavior.

Modified:
    lld/trunk/test/ELF/dynamic.s
    lld/trunk/test/ELF/icf4.s
    lld/trunk/test/ELF/icf5.s
    lld/trunk/test/ELF/linkerscript/linkerscript-excludefile.s
    lld/trunk/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp

Modified: lld/trunk/test/ELF/dynamic.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/dynamic.s?rev=280507&r1=280506&r2=280507&view=diff
==============================================================================
--- lld/trunk/test/ELF/dynamic.s (original)
+++ lld/trunk/test/ELF/dynamic.s Fri Sep  2 12:19:28 2016
@@ -34,8 +34,8 @@
 # CHECK-NEXT:     Section: .dynamic
 # CHECK-NEXT:   }
 
-# RUN: ld.lld %t.o -o %t.o
-# RUN: llvm-readobj -sections -symbols %t.o | FileCheck -check-prefix=NODYN %s
+# RUN: ld.lld %t.o -o %t2
+# RUN: llvm-readobj -sections -symbols %t2 | FileCheck -check-prefix=NODYN %s
 # NODYN:    Symbols [
 # NODYN-NOT: Name: _DYNAMIC
 # NODYN:    ]

Modified: lld/trunk/test/ELF/icf4.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/icf4.s?rev=280507&r1=280506&r2=280507&view=diff
==============================================================================
--- lld/trunk/test/ELF/icf4.s (original)
+++ lld/trunk/test/ELF/icf4.s Fri Sep  2 12:19:28 2016
@@ -1,7 +1,7 @@
 # REQUIRES: x86
 
 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
-# RUN: ld.lld %t -o %t --icf=all --verbose | FileCheck %s
+# RUN: ld.lld %t -o %t2 --icf=all --verbose | FileCheck %s
 
 # CHECK-NOT: Selected .text.f1
 # CHECK-NOT: Selected .text.f2

Modified: lld/trunk/test/ELF/icf5.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/icf5.s?rev=280507&r1=280506&r2=280507&view=diff
==============================================================================
--- lld/trunk/test/ELF/icf5.s (original)
+++ lld/trunk/test/ELF/icf5.s Fri Sep  2 12:19:28 2016
@@ -1,7 +1,7 @@
 # REQUIRES: x86
 
 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
-# RUN: ld.lld %t -o %t --icf=all --verbose | FileCheck %s
+# RUN: ld.lld %t -o %t2 --icf=all --verbose | FileCheck %s
 
 # CHECK-NOT: Selected .text.f1
 # CHECK-NOT: Selected .text.f2

Modified: lld/trunk/test/ELF/linkerscript/linkerscript-excludefile.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/linkerscript-excludefile.s?rev=280507&r1=280506&r2=280507&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/linkerscript-excludefile.s (original)
+++ lld/trunk/test/ELF/linkerscript/linkerscript-excludefile.s Fri Sep  2 12:19:28 2016
@@ -7,8 +7,7 @@
 
 # RUN: echo "SECTIONS {} " > %t.script
 # RUN: ld.lld -o %t --script %t.script %t1 %t2 %t3.notinclude
-# RUN: llvm-objdump -d %t | \
-# RUN:   FileCheck %s
+# RUN: llvm-objdump -d %t | FileCheck %s
 
 # CHECK: Disassembly of section .text:
 # CHECK: _start:
@@ -25,9 +24,8 @@
 # RUN: echo "SECTIONS { .patatino : \
 # RUN: { KEEP(*(EXCLUDE_FILE(*notinclude) .text)) } }" \
 # RUN:  > %t.script
-# RUN: ld.lld -o %t2 --script %t.script %t1 %t2 %t3.notinclude
-# RUN: llvm-objdump -d %t2 | \
-# RUN:   FileCheck %s --check-prefix=EXCLUDE
+# RUN: ld.lld -o %t4 --script %t.script %t1 %t2 %t3.notinclude
+# RUN: llvm-objdump -d %t4 | FileCheck %s --check-prefix=EXCLUDE
 
 # EXCLUDE: Disassembly of section .patatino:
 # EXCLUDE: _start:

Modified: lld/trunk/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp?rev=280507&r1=280506&r2=280507&view=diff
==============================================================================
--- lld/trunk/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp (original)
+++ lld/trunk/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp Fri Sep  2 12:19:28 2016
@@ -219,6 +219,7 @@ TEST(BinaryWriterTest, obj_relocs_x86_64
   EXPECT_EQ(signed4.isExtern, true);
   EXPECT_EQ(signed4.symbol, 1U);
 
+  bufferOwner.reset(nullptr);
   std::error_code ec = llvm::sys::fs::remove(Twine(tmpFl));
   EXPECT_FALSE(ec);
 }
@@ -329,6 +330,7 @@ TEST(BinaryWriterTest, obj_relocs_x86) {
   EXPECT_EQ(tlv.symbol, 1U);
 
   //llvm::errs() << "temp = " << tmpFl << "\n";
+  bufferOwner.reset(nullptr);
   std::error_code ec = llvm::sys::fs::remove(Twine(tmpFl));
   EXPECT_FALSE(ec);
 }
@@ -458,6 +460,7 @@ TEST(BinaryWriterTest, obj_relocs_armv7)
   EXPECT_EQ(absPointer.symbol, 2U);
 
   //llvm::errs() << "temp = " << tmpFl << "\n";
+  bufferOwner.reset(nullptr);
   std::error_code ec = llvm::sys::fs::remove(Twine(tmpFl));
   EXPECT_FALSE(ec);
 }
@@ -687,6 +690,7 @@ TEST(BinaryWriterTest, obj_relocs_ppc) {
   EXPECT_EQ(absloa2.length, 2);
   EXPECT_EQ(absloa2.symbol, 0U);
 
+  bufferOwner.reset(nullptr);
   std::error_code ec = llvm::sys::fs::remove(Twine(tmpFl));
   EXPECT_FALSE(ec);
 }




More information about the llvm-commits mailing list