Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Unified Diff: systrace/systrace/tracing_agents/ftrace_agent_unittest.py

Issue 1776013005: [DO NOT COMMIT] Refactor systrace to support new clock sync design (Closed) Base URL: git@github.com:catapult-project/catapult@master
Patch Set: fix categories issue Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « systrace/systrace/tracing_agents/ftrace_agent.py ('k') | systrace/systrace/tracing_controller.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: systrace/systrace/tracing_agents/ftrace_agent_unittest.py
diff --git a/systrace/systrace/agents/ftrace_agent_unittest.py b/systrace/systrace/tracing_agents/ftrace_agent_unittest.py
old mode 100644
new mode 100755
similarity index 71%
rename from systrace/systrace/agents/ftrace_agent_unittest.py
rename to systrace/systrace/tracing_agents/ftrace_agent_unittest.py
index 9e8ea607aedbdbaab983dfe46cc7c3c922041b75..1e62c019b00b7683f0da2eac1650db9b3490b6fc
--- a/systrace/systrace/agents/ftrace_agent_unittest.py
+++ b/systrace/systrace/tracing_agents/ftrace_agent_unittest.py
@@ -5,9 +5,9 @@
# found in the LICENSE file.
import unittest
-
-from systrace import systrace
-from systrace.agents import ftrace_agent
+import logging
+from systrace import run_systrace
+from systrace.tracing_agents import ftrace_agent
SYSTRACE_HOST_CMD_DEFAULT = ['./systrace.py', '--target=linux']
FT_DIR = "/sys/kernel/debug/tracing/"
@@ -34,6 +34,11 @@ def make_test_io_interface(permitted_files):
@staticmethod
def haveWritePermissions(path):
return path in permitted_files
+
+ @staticmethod
+ def checkAndWriteFile(path, data):
+ permitted_files[path] = data
+
return TestIoImpl
@@ -46,15 +51,13 @@ class FtraceAgentTest(unittest.TestCase):
FT_EVENT_DIR + "sched/sched_wakeup/enable": "0"
}
io_interface = make_test_io_interface(permitted_files)
- options, categories = systrace.parse_options(SYSTRACE_HOST_CMD_DEFAULT)
- agent = ftrace_agent.FtraceAgent(options, categories, io_interface)
+ agent = ftrace_agent.FtraceAgent(io_interface)
self.assertEqual(['sched'], agent._avail_categories())
# check for no available categories
permitted_files = {}
io_interface = make_test_io_interface(permitted_files)
- options, categories = systrace.parse_options(SYSTRACE_HOST_CMD_DEFAULT)
- agent = ftrace_agent.FtraceAgent(options, categories, io_interface)
+ agent = ftrace_agent.FtraceAgent(io_interface)
self.assertEqual([], agent._avail_categories())
# block has some required, some optional events
@@ -63,8 +66,7 @@ class FtraceAgentTest(unittest.TestCase):
FT_EVENT_DIR + "block/block_rq_issue/enable": "0"
}
io_interface = make_test_io_interface(permitted_files)
- options, categories = systrace.parse_options(SYSTRACE_HOST_CMD_DEFAULT)
- agent = ftrace_agent.FtraceAgent(options, categories, io_interface)
+ agent = ftrace_agent.FtraceAgent(io_interface)
self.assertEqual(['disk'], agent._avail_categories())
def test_tracing_bootstrap(self):
@@ -75,12 +77,12 @@ class FtraceAgentTest(unittest.TestCase):
}
io_interface = make_test_io_interface(permitted_files)
systrace_cmd = SYSTRACE_HOST_CMD_DEFAULT + ["workq"]
- options, categories = systrace.parse_options(systrace_cmd)
- agent = ftrace_agent.FtraceAgent(options, categories, io_interface)
+ options, categories = run_systrace.parse_options(systrace_cmd)
+ agent = ftrace_agent.FtraceAgent(io_interface)
self.assertEqual(['workq'], agent._avail_categories())
# confirm tracing is enabled, buffer is cleared
- agent.start()
+ agent.StartAgentTracing(options, categories)
self.assertEqual(permitted_files[FT_TRACE_ON], "1")
self.assertEqual(permitted_files[FT_TRACE], "")
@@ -89,12 +91,11 @@ class FtraceAgentTest(unittest.TestCase):
permitted_files[FT_TRACE] = dummy_trace
# confirm tracing is disabled
- agent.collect_result()
+ agent.StopAgentTracing()
self.assertEqual(permitted_files[FT_TRACE_ON], "0")
# confirm trace is expected, and read from fs
- self.assertTrue(agent.expect_trace())
- self.assertEqual(agent.get_trace_data(), dummy_trace)
+ self.assertEqual(agent.GetResults().trace_data, dummy_trace)
# confirm buffer size is reset to 1
self.assertEqual(permitted_files[FT_BUFFER_SIZE], "1")
@@ -109,28 +110,25 @@ class FtraceAgentTest(unittest.TestCase):
}
io_interface = make_test_io_interface(permitted_files)
systrace_cmd = SYSTRACE_HOST_CMD_DEFAULT + ["irq"]
- options, categories = systrace.parse_options(systrace_cmd)
- agent = ftrace_agent.FtraceAgent(options, categories, io_interface)
+ options, categories = run_systrace.parse_options(systrace_cmd)
+ agent = ftrace_agent.FtraceAgent(io_interface)
self.assertEqual(['irq'], agent._avail_categories())
# confirm all the event nodes are turned on during tracing
- agent.start()
+ agent.StartAgentTracing(options, categories)
self.assertEqual(permitted_files[irq_event_path], "1")
self.assertEqual(permitted_files[ipi_event_path], "1")
# and then turned off when completed.
- agent.collect_result()
+ agent.StopAgentTracing()
self.assertEqual(permitted_files[irq_event_path], "0")
self.assertEqual(permitted_files[ipi_event_path], "0")
- def test_trace_time(self):
- systrace_cmd = SYSTRACE_HOST_CMD_DEFAULT + ['-t', '10']
- options, categories = systrace.parse_options(systrace_cmd)
- agent = ftrace_agent.FtraceAgent(options, categories)
- self.assertEqual(agent._get_trace_time(), 10)
-
def test_buffer_size(self):
systrace_cmd = SYSTRACE_HOST_CMD_DEFAULT + ['-b', '16000']
- options, categories = systrace.parse_options(systrace_cmd)
- agent = ftrace_agent.FtraceAgent(options, categories)
- self.assertEqual(agent._get_trace_buffer_size(), 16000)
+ options, _ = run_systrace.parse_options(systrace_cmd)
+ self.assertEqual(ftrace_agent._get_trace_buffer_size(options), 16000)
+
+if __name__ == "__main__":
+ logging.getLogger().setLevel(logging.DEBUG)
+ unittest.main(verbosity=2)
« no previous file with comments | « systrace/systrace/tracing_agents/ftrace_agent.py ('k') | systrace/systrace/tracing_controller.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698