From 3a4e56e12dff33bcaf26c74e4dbbe56b190795a2 Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Thu, 22 Feb 2018 21:44:10 +0000 Subject: [PATCH] Add HighlevelFixture.pause(). --- tests/ptvsd/highlevel/__init__.py | 9 +++++++++ tests/ptvsd/highlevel/test_messages.py | 6 ++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/tests/ptvsd/highlevel/__init__.py b/tests/ptvsd/highlevel/__init__.py index 9dae5a77..231cad52 100644 --- a/tests/ptvsd/highlevel/__init__.py +++ b/tests/ptvsd/highlevel/__init__.py @@ -335,6 +335,9 @@ class HighlevelFixture(object): def set_threads(self, *threads, **kwargs): return self._set_threads(threads, **kwargs) + def set_thread(self, thread): + return self.set_threads(thread)[thread] + def _set_threads(self, threads, default_threads=True): request = {t[1]: t for t in threads} response = {t: None for t in threads} @@ -381,6 +384,12 @@ class HighlevelFixture(object): self.debugger_msgs.format_frames(thread, reason, *stack), ) + def pause(self, thread, *stack): + tid = self.set_thread(thread) + self.suspend(thread, CMD_THREAD_SUSPEND, *stack) + self.send_request('stackTrace', {'threadId': tid}) + return tid + #def set_variables(self, ...): # ... diff --git a/tests/ptvsd/highlevel/test_messages.py b/tests/ptvsd/highlevel/test_messages.py index 1a75d078..c8c93fc1 100644 --- a/tests/ptvsd/highlevel/test_messages.py +++ b/tests/ptvsd/highlevel/test_messages.py @@ -217,7 +217,7 @@ class StackTraceTests(NormalRequestTest, unittest.TestCase): thread = (10, 'x') with self.launched(): with self.hidden(): - tid = self.set_threads(thread)[thread] + tid = self.set_thread(thread) self.suspend(thread, CMD_THREAD_SUSPEND, *[ (2, 'spam', 'abc.py', 10), (5, 'eggs', 'xyz.py', 2), @@ -285,12 +285,10 @@ class ScopesTests(NormalRequestTest, unittest.TestCase): thread = (10, 'x') with self.launched(): with self.hidden(): - tid = self.set_threads(thread)[thread] - self.suspend(thread, CMD_THREAD_SUSPEND, *[ + self.pause(thread, *[ (2, 'spam', 'abc.py', 10), # VSC frame ID 1 (5, 'eggs', 'xyz.py', 2), # VSC frame ID 2 ]) - self.fix.send_request('stackTrace', {'threadId': tid}) self.send_request( frameId=1, )