-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[Sanitizer][test] Emit to stderr to fix android #142207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-compiler-rt-sanitizer Author: Ellis Hoag (ellishg) ChangesThis test is broken on android by #141820 https://lab.llvm.org/buildbot/#/builders/186/builds/9498 > FileCheck error: '' is empty. I suspect that on android printf only works if its emitted to stderr because this use to work llvm-project/compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp Lines 21 to 22 in a2ce564
Only emit to stderr and see if that fixes the test. Full diff: https://github.com/llvm/llvm-project/pull/142207.diff 1 Files Affected:
diff --git a/compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp b/compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
index 9d7ed80b44ccb..8abd476708b4c 100644
--- a/compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
+++ b/compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
@@ -1,7 +1,6 @@
// Test __sanitizer_set_report_path and __sanitizer_get_report_path:
// RUN: %clangxx -O2 %s -o %t
-// RUN: %env HOME=%t.homedir TMPDIR=%t.tmpdir %run %t 2>%t.err | FileCheck %s
-// RUN: FileCheck %s --input-file=%t.err --check-prefix=ERROR
+// RUN: %env HOME=%t.homedir TMPDIR=%t.tmpdir %run %t 2>&1 | FileCheck %s
#include <sanitizer/common_interface_defs.h>
#include <stdio.h>
@@ -12,31 +11,31 @@ int main(int argc, char **argv) {
sprintf(buff, "%s.report_path/report", argv[0]);
__sanitizer_set_report_path(buff);
// CHECK: {{.*}}.report_path/report.[[PID:[0-9]+]]
- printf("%s\n", __sanitizer_get_report_path());
+ fprintf(stderr, "%s\n", __sanitizer_get_report_path());
strcpy(buff, "%H/foo");
__sanitizer_set_report_path(buff);
// CHECK: [[T:.*]].homedir/foo.[[PID]]
- printf("%s\n", __sanitizer_get_report_path());
+ fprintf(stderr, "%s\n", __sanitizer_get_report_path());
strcpy(buff, "%t/foo");
__sanitizer_set_report_path(buff);
// CHECK: [[T]].tmpdir/foo.[[PID]]
- printf("%s\n", __sanitizer_get_report_path());
+ fprintf(stderr, "%s\n", __sanitizer_get_report_path());
strcpy(buff, "%H/%p/%%foo");
__sanitizer_set_report_path(buff);
// CHECK: [[T]].homedir/[[PID]]/%foo.[[PID]]
- printf("%s\n", __sanitizer_get_report_path());
+ fprintf(stderr, "%s\n", __sanitizer_get_report_path());
strcpy(buff, "%%foo%%bar");
__sanitizer_set_report_path(buff);
// CHECK: %foo%bar.[[PID]]
- printf("%s\n", __sanitizer_get_report_path());
+ fprintf(stderr, "%s\n", __sanitizer_get_report_path());
strcpy(buff, "%%foo%ba%%r");
__sanitizer_set_report_path(buff);
- // ERROR: Unexpected pattern: %%foo%ba%%r
+ // CHECK: Unexpected pattern: %%foo%ba%%r
// CHECK: %%foo%ba%%r.[[PID]]
- printf("%s\n", __sanitizer_get_report_path());
+ fprintf(stderr, "%s\n", __sanitizer_get_report_path());
}
|
I attempted to fix android tests in #142207 (broken by #141820). They are still failing but now I have more info. https://lab.llvm.org/buildbot/#/builders/186/builds/9504/steps/16/logs/stdio ERROR: Can't open file: //foo.8862 (reason: 30) I believe the reason is that on android the HOME and TMPDIR environment variables are not being set correctly, or they are not read correctly. (#142234 (comment))
I attempted to fix android tests in llvm/llvm-project#142207 (broken by llvm/llvm-project#141820). They are still failing but now I have more info. https://lab.llvm.org/buildbot/#/builders/186/builds/9504/steps/16/logs/stdio ERROR: Can't open file: //foo.8862 (reason: 30) I believe the reason is that on android the HOME and TMPDIR environment variables are not being set correctly, or they are not read correctly. (llvm/llvm-project#142234 (comment))
This test is broken on android by #141820
https://lab.llvm.org/buildbot/#/builders/186/builds/9498
I suspect that on android printf only works if its emitted to stderr because this use to work
llvm-project/compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
Lines 21 to 22 in a2ce564
Only emit to stderr and see if that fixes the test.