diff options
author | 2023-01-04 20:36:51 +0000 | |
---|---|---|
committer | 2023-01-05 11:45:11 +0000 | |
commit | 3c0cc68d458c4a01c3da5e212b7588ce0fae7d2a (patch) | |
tree | aa3f21e77149b100bb4761521700ed0d6cda4a2d | |
parent | ad53509967d8901fdf97dc2f80ee1f4831fb68d6 (diff) |
Revert the changes to test/2246-trace-stream
Partial revert of aosp/2361086 to fix failures on the bots. The output
of method tracing is not consistent across all configurations for
non-debuggable runtimes. For ex: optimizing has fewer entries due to the
use of more oat code but no-image config has more entries. Revert the
changes for now. In a follow up CL we could only check for the classes
introduced by the test class to have consistent output.
Test: art/test.py -t 2246
Bug: 259258187
Change-Id: I2e0094015123031751993c0f18a35ec33a269da9
-rw-r--r-- | test/2246-trace-stream/expected-stdout.debuggable.txt | 72 | ||||
-rw-r--r-- | test/2246-trace-stream/expected-stdout.interpreter.txt | 68 | ||||
-rw-r--r-- | test/2246-trace-stream/expected-stdout.txt | 95 | ||||
-rw-r--r-- | test/2246-trace-stream/run.py | 18 |
4 files changed, 56 insertions, 197 deletions
diff --git a/test/2246-trace-stream/expected-stdout.debuggable.txt b/test/2246-trace-stream/expected-stdout.debuggable.txt deleted file mode 100644 index c9d7405c8b..0000000000 --- a/test/2246-trace-stream/expected-stdout.debuggable.txt +++ /dev/null @@ -1,72 +0,0 @@ -.>> TestThread2246 java.lang.Thread run ()V Thread.java -..>> TestThread2246 Main$$ExternalSyntheticLambda0 run ()V D8$$SyntheticClass -...>> TestThread2246 Main lambda$main$0 ()V Main.java -....>> TestThread2246 Main <init> ()V Main.java -.....>> TestThread2246 java.lang.Object <init> ()V Object.java -.....<< TestThread2246 java.lang.Object <init> ()V Object.java -....<< TestThread2246 Main <init> ()V Main.java -....>> TestThread2246 Main $noinline$doSomeWork ()V Main.java -.....>> TestThread2246 Main callOuterFunction ()V Main.java -......>> TestThread2246 Main callLeafFunction ()V Main.java -......<< TestThread2246 Main callLeafFunction ()V Main.java -.....<< TestThread2246 Main callOuterFunction ()V Main.java -.....>> TestThread2246 Main callLeafFunction ()V Main.java -.....<< TestThread2246 Main callLeafFunction ()V Main.java -....<< TestThread2246 Main $noinline$doSomeWork ()V Main.java -...<< TestThread2246 Main lambda$main$0 ()V Main.java -..<< TestThread2246 Main$$ExternalSyntheticLambda0 run ()V D8$$SyntheticClass -.<< TestThread2246 java.lang.Thread run ()V Thread.java -.>> main Main main ([Ljava/lang/String;)V Main.java -..>> main Main$VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V Main.java -...>> main java.lang.reflect.Method invoke (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; Method.java -....>> main dalvik.system.VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V VMDebug.java -.....>> main dalvik.system.VMDebug startMethodTracingFd (Ljava/lang/String;IIIZIZ)V VMDebug.java -.....<< main dalvik.system.VMDebug startMethodTracingFd (Ljava/lang/String;IIIZIZ)V VMDebug.java -....<< main dalvik.system.VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V VMDebug.java -...<< main java.lang.reflect.Method invoke (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; Method.java -..<< main Main$VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V Main.java -..>> main java.lang.Thread start ()V Thread.java -...>> main java.lang.ThreadGroup add (Ljava/lang/Thread;)V ThreadGroup.java -...<< main java.lang.ThreadGroup add (Ljava/lang/Thread;)V ThreadGroup.java -...>> main java.lang.Thread nativeCreate (Ljava/lang/Thread;JZ)V Thread.java -...<< main java.lang.Thread nativeCreate (Ljava/lang/Thread;JZ)V Thread.java -..<< main java.lang.Thread start ()V Thread.java -..>> main java.lang.Thread join ()V Thread.java -...>> main java.lang.Thread join (J)V Thread.java -....>> main java.lang.System currentTimeMillis ()J System.java -....<< main java.lang.System currentTimeMillis ()J System.java -....>> main java.lang.Thread isAlive ()Z Thread.java -....<< main java.lang.Thread isAlive ()Z Thread.java -....>> main java.lang.Object wait (J)V Object.java -.....>> main java.lang.Object wait (JI)V Object.java -.....<< main java.lang.Object wait (JI)V Object.java -....<< main java.lang.Object wait (J)V Object.java -....>> main java.lang.Thread isAlive ()Z Thread.java -....<< main java.lang.Thread isAlive ()Z Thread.java -...<< main java.lang.Thread join (J)V Thread.java -..<< main java.lang.Thread join ()V Thread.java -..>> main Main $noinline$doSomeWork ()V Main.java -...>> main Main callOuterFunction ()V Main.java -....>> main Main callLeafFunction ()V Main.java -....<< main Main callLeafFunction ()V Main.java -...<< main Main callOuterFunction ()V Main.java -...>> main Main callLeafFunction ()V Main.java -...<< main Main callLeafFunction ()V Main.java -..<< main Main $noinline$doSomeWork ()V Main.java -..>> main Main doSomeWorkThrow ()V Main.java -...>> main Main callThrowFunction ()V Main.java -....>> main java.lang.Exception <init> (Ljava/lang/String;)V Exception.java -.....>> main java.lang.Throwable <init> (Ljava/lang/String;)V Throwable.java -......>> main java.lang.Object <init> ()V Object.java -......<< main java.lang.Object <init> ()V Object.java -......>> main java.util.Collections emptyList ()Ljava/util/List; Collections.java -......<< main java.util.Collections emptyList ()Ljava/util/List; Collections.java -......>> main java.lang.Throwable fillInStackTrace ()Ljava/lang/Throwable; Throwable.java -.......>> main java.lang.Throwable nativeFillInStackTrace ()Ljava/lang/Object; Throwable.java -.......<< main java.lang.Throwable nativeFillInStackTrace ()Ljava/lang/Object; Throwable.java -......<< main java.lang.Throwable fillInStackTrace ()Ljava/lang/Throwable; Throwable.java -.....<< main java.lang.Throwable <init> (Ljava/lang/String;)V Throwable.java -....<< main java.lang.Exception <init> (Ljava/lang/String;)V Exception.java -...<<E main Main callThrowFunction ()V Main.java -..<< main Main doSomeWorkThrow ()V Main.java -..>> main Main$VMDebug $noinline$stopMethodTracing ()V Main.java diff --git a/test/2246-trace-stream/expected-stdout.interpreter.txt b/test/2246-trace-stream/expected-stdout.interpreter.txt deleted file mode 100644 index c51ce41de7..0000000000 --- a/test/2246-trace-stream/expected-stdout.interpreter.txt +++ /dev/null @@ -1,68 +0,0 @@ -.>> TestThread2246 java.lang.Thread run ()V Thread.java -..>> TestThread2246 Main$$ExternalSyntheticLambda0 run ()V D8$$SyntheticClass -...>> TestThread2246 Main lambda$main$0 ()V Main.java -....>> TestThread2246 Main <init> ()V Main.java -.....>> TestThread2246 java.lang.Object <init> ()V Object.java -.....<< TestThread2246 java.lang.Object <init> ()V Object.java -....<< TestThread2246 Main <init> ()V Main.java -....>> TestThread2246 Main $noinline$doSomeWork ()V Main.java -.....>> TestThread2246 Main callOuterFunction ()V Main.java -......>> TestThread2246 Main callLeafFunction ()V Main.java -......<< TestThread2246 Main callLeafFunction ()V Main.java -.....<< TestThread2246 Main callOuterFunction ()V Main.java -.....>> TestThread2246 Main callLeafFunction ()V Main.java -.....<< TestThread2246 Main callLeafFunction ()V Main.java -....<< TestThread2246 Main $noinline$doSomeWork ()V Main.java -...<< TestThread2246 Main lambda$main$0 ()V Main.java -..<< TestThread2246 Main$$ExternalSyntheticLambda0 run ()V D8$$SyntheticClass -.<< TestThread2246 java.lang.Thread run ()V Thread.java -.>> main Main main ([Ljava/lang/String;)V Main.java -..>> main Main$VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V Main.java -...>> main dalvik.system.VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V VMDebug.java -...<< main dalvik.system.VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V VMDebug.java -..<< main Main$VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V Main.java -..>> main java.lang.Thread start ()V Thread.java -...>> main java.lang.ThreadGroup add (Ljava/lang/Thread;)V ThreadGroup.java -...<< main java.lang.ThreadGroup add (Ljava/lang/Thread;)V ThreadGroup.java -...>> main java.lang.Thread nativeCreate (Ljava/lang/Thread;JZ)V Thread.java -...<< main java.lang.Thread nativeCreate (Ljava/lang/Thread;JZ)V Thread.java -..<< main java.lang.Thread start ()V Thread.java -..>> main java.lang.Thread join ()V Thread.java -...>> main java.lang.Thread join (J)V Thread.java -....>> main java.lang.System currentTimeMillis ()J System.java -....<< main java.lang.System currentTimeMillis ()J System.java -....>> main java.lang.Thread isAlive ()Z Thread.java -....<< main java.lang.Thread isAlive ()Z Thread.java -....>> main java.lang.Object wait (J)V Object.java -.....>> main java.lang.Object wait (JI)V Object.java -.....<< main java.lang.Object wait (JI)V Object.java -....<< main java.lang.Object wait (J)V Object.java -....>> main java.lang.Thread isAlive ()Z Thread.java -....<< main java.lang.Thread isAlive ()Z Thread.java -...<< main java.lang.Thread join (J)V Thread.java -..<< main java.lang.Thread join ()V Thread.java -..>> main Main $noinline$doSomeWork ()V Main.java -...>> main Main callOuterFunction ()V Main.java -....>> main Main callLeafFunction ()V Main.java -....<< main Main callLeafFunction ()V Main.java -...<< main Main callOuterFunction ()V Main.java -...>> main Main callLeafFunction ()V Main.java -...<< main Main callLeafFunction ()V Main.java -..<< main Main $noinline$doSomeWork ()V Main.java -..>> main Main doSomeWorkThrow ()V Main.java -...>> main Main callThrowFunction ()V Main.java -....>> main java.lang.Exception <init> (Ljava/lang/String;)V Exception.java -.....>> main java.lang.Throwable <init> (Ljava/lang/String;)V Throwable.java -......>> main java.lang.Object <init> ()V Object.java -......<< main java.lang.Object <init> ()V Object.java -......>> main java.util.Collections emptyList ()Ljava/util/List; Collections.java -......<< main java.util.Collections emptyList ()Ljava/util/List; Collections.java -......>> main java.lang.Throwable fillInStackTrace ()Ljava/lang/Throwable; Throwable.java -.......>> main java.lang.Throwable nativeFillInStackTrace ()Ljava/lang/Object; Throwable.java -.......<< main java.lang.Throwable nativeFillInStackTrace ()Ljava/lang/Object; Throwable.java -......<< main java.lang.Throwable fillInStackTrace ()Ljava/lang/Throwable; Throwable.java -.....<< main java.lang.Throwable <init> (Ljava/lang/String;)V Throwable.java -....<< main java.lang.Exception <init> (Ljava/lang/String;)V Exception.java -...<<E main Main callThrowFunction ()V Main.java -..<< main Main doSomeWorkThrow ()V Main.java -..>> main Main$VMDebug $noinline$stopMethodTracing ()V Main.java diff --git a/test/2246-trace-stream/expected-stdout.txt b/test/2246-trace-stream/expected-stdout.txt index 76d68f85c5..c9d7405c8b 100644 --- a/test/2246-trace-stream/expected-stdout.txt +++ b/test/2246-trace-stream/expected-stdout.txt @@ -16,48 +16,57 @@ ...<< TestThread2246 Main lambda$main$0 ()V Main.java ..<< TestThread2246 Main$$ExternalSyntheticLambda0 run ()V D8$$SyntheticClass .<< TestThread2246 java.lang.Thread run ()V Thread.java -.>> main java.lang.Thread start ()V Thread.java -..>> main java.lang.ThreadGroup add (Ljava/lang/Thread;)V ThreadGroup.java -..<< main java.lang.ThreadGroup add (Ljava/lang/Thread;)V ThreadGroup.java -..>> main java.lang.Thread nativeCreate (Ljava/lang/Thread;JZ)V Thread.java -..<< main java.lang.Thread nativeCreate (Ljava/lang/Thread;JZ)V Thread.java -.<< main java.lang.Thread start ()V Thread.java -.>> main java.lang.Thread join ()V Thread.java -..>> main java.lang.Thread join (J)V Thread.java -...>> main java.lang.System currentTimeMillis ()J System.java -...<< main java.lang.System currentTimeMillis ()J System.java -...>> main java.lang.Thread isAlive ()Z Thread.java -...<< main java.lang.Thread isAlive ()Z Thread.java -...>> main java.lang.Object wait (J)V Object.java -....>> main java.lang.Object wait (JI)V Object.java -....<< main java.lang.Object wait (JI)V Object.java -...<< main java.lang.Object wait (J)V Object.java -...>> main java.lang.Thread isAlive ()Z Thread.java -...<< main java.lang.Thread isAlive ()Z Thread.java -..<< main java.lang.Thread join (J)V Thread.java -.<< main java.lang.Thread join ()V Thread.java -.>> main Main $noinline$doSomeWork ()V Main.java -..>> main Main callOuterFunction ()V Main.java +.>> main Main main ([Ljava/lang/String;)V Main.java +..>> main Main$VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V Main.java +...>> main java.lang.reflect.Method invoke (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; Method.java +....>> main dalvik.system.VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V VMDebug.java +.....>> main dalvik.system.VMDebug startMethodTracingFd (Ljava/lang/String;IIIZIZ)V VMDebug.java +.....<< main dalvik.system.VMDebug startMethodTracingFd (Ljava/lang/String;IIIZIZ)V VMDebug.java +....<< main dalvik.system.VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V VMDebug.java +...<< main java.lang.reflect.Method invoke (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; Method.java +..<< main Main$VMDebug startMethodTracing (Ljava/lang/String;Ljava/io/FileDescriptor;IIZIZ)V Main.java +..>> main java.lang.Thread start ()V Thread.java +...>> main java.lang.ThreadGroup add (Ljava/lang/Thread;)V ThreadGroup.java +...<< main java.lang.ThreadGroup add (Ljava/lang/Thread;)V ThreadGroup.java +...>> main java.lang.Thread nativeCreate (Ljava/lang/Thread;JZ)V Thread.java +...<< main java.lang.Thread nativeCreate (Ljava/lang/Thread;JZ)V Thread.java +..<< main java.lang.Thread start ()V Thread.java +..>> main java.lang.Thread join ()V Thread.java +...>> main java.lang.Thread join (J)V Thread.java +....>> main java.lang.System currentTimeMillis ()J System.java +....<< main java.lang.System currentTimeMillis ()J System.java +....>> main java.lang.Thread isAlive ()Z Thread.java +....<< main java.lang.Thread isAlive ()Z Thread.java +....>> main java.lang.Object wait (J)V Object.java +.....>> main java.lang.Object wait (JI)V Object.java +.....<< main java.lang.Object wait (JI)V Object.java +....<< main java.lang.Object wait (J)V Object.java +....>> main java.lang.Thread isAlive ()Z Thread.java +....<< main java.lang.Thread isAlive ()Z Thread.java +...<< main java.lang.Thread join (J)V Thread.java +..<< main java.lang.Thread join ()V Thread.java +..>> main Main $noinline$doSomeWork ()V Main.java +...>> main Main callOuterFunction ()V Main.java +....>> main Main callLeafFunction ()V Main.java +....<< main Main callLeafFunction ()V Main.java +...<< main Main callOuterFunction ()V Main.java ...>> main Main callLeafFunction ()V Main.java ...<< main Main callLeafFunction ()V Main.java -..<< main Main callOuterFunction ()V Main.java -..>> main Main callLeafFunction ()V Main.java -..<< main Main callLeafFunction ()V Main.java -.<< main Main $noinline$doSomeWork ()V Main.java -.>> main Main doSomeWorkThrow ()V Main.java -..>> main Main callThrowFunction ()V Main.java -...>> main java.lang.Exception <init> (Ljava/lang/String;)V Exception.java -....>> main java.lang.Throwable <init> (Ljava/lang/String;)V Throwable.java -.....>> main java.lang.Object <init> ()V Object.java -.....<< main java.lang.Object <init> ()V Object.java -.....>> main java.util.Collections emptyList ()Ljava/util/List; Collections.java -.....<< main java.util.Collections emptyList ()Ljava/util/List; Collections.java -.....>> main java.lang.Throwable fillInStackTrace ()Ljava/lang/Throwable; Throwable.java -......>> main java.lang.Throwable nativeFillInStackTrace ()Ljava/lang/Object; Throwable.java -......<< main java.lang.Throwable nativeFillInStackTrace ()Ljava/lang/Object; Throwable.java -.....<< main java.lang.Throwable fillInStackTrace ()Ljava/lang/Throwable; Throwable.java -....<< main java.lang.Throwable <init> (Ljava/lang/String;)V Throwable.java -...<< main java.lang.Exception <init> (Ljava/lang/String;)V Exception.java -..<<E main Main callThrowFunction ()V Main.java -.<< main Main doSomeWorkThrow ()V Main.java -.>> main Main$VMDebug $noinline$stopMethodTracing ()V Main.java +..<< main Main $noinline$doSomeWork ()V Main.java +..>> main Main doSomeWorkThrow ()V Main.java +...>> main Main callThrowFunction ()V Main.java +....>> main java.lang.Exception <init> (Ljava/lang/String;)V Exception.java +.....>> main java.lang.Throwable <init> (Ljava/lang/String;)V Throwable.java +......>> main java.lang.Object <init> ()V Object.java +......<< main java.lang.Object <init> ()V Object.java +......>> main java.util.Collections emptyList ()Ljava/util/List; Collections.java +......<< main java.util.Collections emptyList ()Ljava/util/List; Collections.java +......>> main java.lang.Throwable fillInStackTrace ()Ljava/lang/Throwable; Throwable.java +.......>> main java.lang.Throwable nativeFillInStackTrace ()Ljava/lang/Object; Throwable.java +.......<< main java.lang.Throwable nativeFillInStackTrace ()Ljava/lang/Object; Throwable.java +......<< main java.lang.Throwable fillInStackTrace ()Ljava/lang/Throwable; Throwable.java +.....<< main java.lang.Throwable <init> (Ljava/lang/String;)V Throwable.java +....<< main java.lang.Exception <init> (Ljava/lang/String;)V Exception.java +...<<E main Main callThrowFunction ()V Main.java +..<< main Main doSomeWorkThrow ()V Main.java +..>> main Main$VMDebug $noinline$stopMethodTracing ()V Main.java diff --git a/test/2246-trace-stream/run.py b/test/2246-trace-stream/run.py index 6eb92655f8..955f39af65 100644 --- a/test/2246-trace-stream/run.py +++ b/test/2246-trace-stream/run.py @@ -16,17 +16,7 @@ def run(ctx, args): - # The expected output is different in debuggable and non debuggable. Just - # enable debuggable for now. - ctx.default_run(args) - - print(args); - if ("--debuggable" in args.Xcompiler_option): - # On debuggable runtimes we disable oat code in boot images right at the start - # so we get events for all methods including methods optimized in boot images. - ctx.expected_stdout = ctx.expected_stdout.with_suffix(".debuggable.txt") - elif ("--interpreter" in args.Xcompiler_option) or args.interpreter: - # On forced interpreter runtimes we don't get method events for optimized - # methods in boot images but get events for a few more methods that would - # have otherwise used nterp. - ctx.expected_stdout = ctx.expected_stdout.with_suffix(".interpreter.txt") + # The expected output non debuggable isn't consistent in all configurations. + # Investigate why the output is different and update the test to work for non + # debuggable runtimes too. + ctx.default_run(args, Xcompiler_option=["--debuggable"]) |