[compiler-rt] [sanitizer_common][test] Remove second SanitizerCommon.ReportFile tem… (PR #126509)

via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 10 04:55:30 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-compiler-rt-sanitizer

Author: Rainer Orth (rorth)

<details>
<summary>Changes</summary>

…p file

The `SanitizerCommon.ReportFile` test leaves a temp file behind on every run. While this is not a problem for manual builds, on buildbots those files accumulate over time, interfering with other bots on the same system.

The files in question are named like
`sanitizer_common.reportfile.tmp.XXXXXX.<pid>`.  The issue can be seen in Solaris `truss` output:
```
22633:	fstatat64(AT_FDCWD, "/tmp/sanitizer_common.reportfile.tmp.rzVEja", 0xFEFFBAD0, AT_SYMLINK_NOFOLLOW) Err#<!-- -->2 ENOENT
22633:	openat64(AT_FDCWD, "/tmp/sanitizer_common.reportfile.tmp.rzVEja", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
22633:	openat64(AT_FDCWD, "/tmp/sanitizer_common.reportfile.tmp.rzVEja.22633", O_WRONLY|O_CREAT|O_TRUNC, 0660) = 4
22633:	unlinkat(AT_FDCWD, "/tmp/sanitizer_common.reportfile.tmp.rzVEja", 0) = 0
```
The first temp file, created by `temp_file_name`, is removed at the end of the test, the second one, created in `ReportFile::GetReportPath` using `OpenFile`, is not.

This patch fixes this, simply removing the file.

Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.

---
Full diff: https://github.com/llvm/llvm-project/pull/126509.diff


1 Files Affected:

- (modified) compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp (+1) 


``````````diff
diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp b/compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
index 272520fa51f01e2..1bec83be4c80bd6 100644
--- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
+++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
@@ -352,6 +352,7 @@ TEST(SanitizerCommon, ReportFile) {
   // This will close tmpfile.
   report_file.SetReportPath("stderr");
   Unlink(tmpfile);
+  Unlink(path);
 }
 
 TEST(SanitizerCommon, FileExists) {

``````````

</details>


https://github.com/llvm/llvm-project/pull/126509


More information about the llvm-commits mailing list