labath added a comment.

It's nice to see this code getting some use. I was starting to think we should 
delete it...



================
Comment at: 
lldb/test/API/tools/intel-features/intel-pt/test/TestIntelPTSimpleBinary.py:30-36
+        exe = self.getBuildArtifact("a.out")
+        self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
+
+        self.runCmd("b main")
+        self.runCmd("b " + str(line_number('main.cpp', '// Break 1')))
+
+        self.runCmd("r")
----------------
`lldbutil.run_to_name_breakpoint`


================
Comment at: 
lldb/test/API/tools/intel-features/intel-pt/test/TestIntelPTSimpleBinary.py:50
+            patterns=[
+                "rand", # We expect to see a reference to the rand function
+                        # within the last instructions
----------------
clayborg wrote:
> can we guarantee we will see any of these on a fully loaded machine running 
> many tests simultaneously? Maybe we need to settle for the header of the 
> output only to know that it tried to display something?
better avoid referencing functions from the system library... makes the test 
more hermetic


================
Comment at: 
lldb/test/API/tools/intel-features/intel-pt/test/TestIntelPTSimpleBinary.py:50-54
+                "rand", # We expect to see a reference to the rand function
+                        # within the last instructions
+                hex(fun_start_adddress),  # We expect to have seen the first
+                                          # instruction of 'fun'
+                "at main.cpp:21" # We expect to see the exit condition of
----------------
labath wrote:
> clayborg wrote:
> > can we guarantee we will see any of these on a fully loaded machine running 
> > many tests simultaneously? Maybe we need to settle for the header of the 
> > output only to know that it tried to display something?
> better avoid referencing functions from the system library... makes the test 
> more hermetic
What exactly is the case you're worried about? I'm not very familiar with how 
all this works, but I would think that the kernel trace buffer for this is 
application specific, and is automatically switched off when the os schedules a 
different process (anything else would be a security breach). If that is true, 
then we should have pretty good control over what goes into the buffer, and we 
can ensure that it is: (a) big enough; and/or (b) application does not execute 
too much code and overflows it (not calling rand would help us get a reasonable 
upper bound on that).

(Nonetheless it would be good to run some stress tests to verify this is 
stable.)


================
Comment at: lldb/test/API/tools/intel-features/intel-pt/test/main.cpp:2-8
+////
+//// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+//// See https://llvm.org/LICENSE.txt for license information.
+//// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+////
+////===----------------------------------------------------------------------===//
+//
----------------
We're not putting license headers on tests.

(Do these get automatically created by some IDEs or something? Can they be 
configured not to do that?)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77107/new/

https://reviews.llvm.org/D77107



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to