diff options
| author | George V. Neville-Neil <gnn@FreeBSD.org> | 2012-02-14 18:51:21 +0000 |
|---|---|---|
| committer | George V. Neville-Neil <gnn@FreeBSD.org> | 2012-02-14 18:51:21 +0000 |
| commit | f9166e7c3da08517e9b78191c018ad9ea2439706 (patch) | |
| tree | 4f1ad132302f1deae57893522651112a69136772 /tools/test/hwpmc | |
| parent | f23b9b91933977e000ec4297485d8807fbf4b684 (diff) | |
Notes
Diffstat (limited to 'tools/test/hwpmc')
| -rwxr-xr-x | tools/test/hwpmc/pmctest.py | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/tools/test/hwpmc/pmctest.py b/tools/test/hwpmc/pmctest.py index 41a7fdef8cc40..a6aaf119b0386 100755 --- a/tools/test/hwpmc/pmctest.py +++ b/tools/test/hwpmc/pmctest.py @@ -38,10 +38,14 @@ # # To use: # -# pmctest.py ls > /dev/null +# pmctest.py -p ls > /dev/null # # This should result in ls being run with every available counter # and the system should neither lock up nor panic. +# +# The default is to wait after each counter is tested. Since the +# prompt would go to stdout you won't see it, just press return +# to continue or Ctrl-D to stop. import sys import subprocess @@ -53,10 +57,15 @@ notcounter = ["IAF", "IAP", "TSC", "UNC", "UCF"] def main(): - if (len(sys.argv) != 2): - print ("usage: pmctest.py program") + from optparse import OptionParser + + parser = OptionParser() + parser.add_option("-p", "--program", dest="program", + help="program to execute") + parser.add_option("-w", "--wait", action="store_true", dest="wait", + default=True, help="wait after each execution") - program = sys.argv[1] + (options, args) = parser.parse_args() p = subprocess.Popen(["pmccontrol", "-L"], stdout=PIPE) counters = p.communicate()[0] @@ -68,9 +77,15 @@ def main(): for counter in counters.split(): if counter in notcounter: continue - p = subprocess.Popen(["pmcstat", "-p", counter, program], stdout=PIPE) + p = subprocess.Popen(["pmcstat", "-p", counter, options.program], + stdout=PIPE) result = p.communicate()[0] print result + if (options.wait == True): + try: + value = raw_input("next?") + except EOFError: + sys.exit() # The canonical way to make a python module into a script. # Remove if unnecessary. |
