xref: /aosp_15_r20/external/pigweed/pw_console/testing.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker.. _module-pw_console-testing:
2*61c4878aSAndroid Build Coastguard Worker
3*61c4878aSAndroid Build Coastguard Worker=====================
4*61c4878aSAndroid Build Coastguard WorkerManual Test Procedure
5*61c4878aSAndroid Build Coastguard Worker=====================
6*61c4878aSAndroid Build Coastguard Worker.. pigweed-module-subpage::
7*61c4878aSAndroid Build Coastguard Worker   :name: pw_console
8*61c4878aSAndroid Build Coastguard Worker
9*61c4878aSAndroid Build Coastguard Worker``pw_console`` is a Terminal based user interface which is difficult to
10*61c4878aSAndroid Build Coastguard Workercompletely test in an automated fashion. Unit tests that don't depend on the
11*61c4878aSAndroid Build Coastguard Workeruser interface are preferred but not always possible. For those situations
12*61c4878aSAndroid Build Coastguard Workermanual tests should be added here to validate expected behavior.
13*61c4878aSAndroid Build Coastguard Worker
14*61c4878aSAndroid Build Coastguard WorkerRun in Test Mode
15*61c4878aSAndroid Build Coastguard Worker================
16*61c4878aSAndroid Build Coastguard Worker
17*61c4878aSAndroid Build Coastguard WorkerBegin each section below by running the console in test mode:
18*61c4878aSAndroid Build Coastguard Worker
19*61c4878aSAndroid Build Coastguard Worker.. code-block:: shell
20*61c4878aSAndroid Build Coastguard Worker
21*61c4878aSAndroid Build Coastguard Worker   touch /tmp/empty.yaml
22*61c4878aSAndroid Build Coastguard Worker   env PW_CONSOLE_CONFIG_FILE='/tmp/empty.yaml' pw console --test-mode
23*61c4878aSAndroid Build Coastguard Worker
24*61c4878aSAndroid Build Coastguard WorkerTest Sections
25*61c4878aSAndroid Build Coastguard Worker=============
26*61c4878aSAndroid Build Coastguard Worker
27*61c4878aSAndroid Build Coastguard WorkerLog Pane: Basic Actions
28*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^^^^^^^^^^^
29*61c4878aSAndroid Build Coastguard Worker
30*61c4878aSAndroid Build Coastguard Worker.. list-table::
31*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
32*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
33*61c4878aSAndroid Build Coastguard Worker
34*61c4878aSAndroid Build Coastguard Worker   * - #
35*61c4878aSAndroid Build Coastguard Worker     - Test Action
36*61c4878aSAndroid Build Coastguard Worker     - Expected Result
37*61c4878aSAndroid Build Coastguard Worker     - ✅
38*61c4878aSAndroid Build Coastguard Worker
39*61c4878aSAndroid Build Coastguard Worker   * - 1
40*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`Fake Device` window title
41*61c4878aSAndroid Build Coastguard Worker     - Log pane is focused
42*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
43*61c4878aSAndroid Build Coastguard Worker
44*61c4878aSAndroid Build Coastguard Worker   * - 2
45*61c4878aSAndroid Build Coastguard Worker     - In the main menu enable :guilabel:`[File] > Log Table View > Hide Date`
46*61c4878aSAndroid Build Coastguard Worker     - The time column shows only the time. E.g. ``09:34:53``.
47*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
48*61c4878aSAndroid Build Coastguard Worker
49*61c4878aSAndroid Build Coastguard Worker   * - 3
50*61c4878aSAndroid Build Coastguard Worker     - In the main menu turn off :guilabel:`[File] > Log Table View > Hide Date`
51*61c4878aSAndroid Build Coastguard Worker     - The time column shows the date and time. E.g. ``20220208 09:34:53``.
52*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
53*61c4878aSAndroid Build Coastguard Worker
54*61c4878aSAndroid Build Coastguard Worker   * - 4
55*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Search` on the log toolbar
56*61c4878aSAndroid Build Coastguard Worker     - | The search bar appears
57*61c4878aSAndroid Build Coastguard Worker       | The cursor should appear after the ``/``
58*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
59*61c4878aSAndroid Build Coastguard Worker
60*61c4878aSAndroid Build Coastguard Worker   * - 5
61*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`Ctrl-c`
62*61c4878aSAndroid Build Coastguard Worker     - The search bar disappears
63*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
64*61c4878aSAndroid Build Coastguard Worker
65*61c4878aSAndroid Build Coastguard Worker   * - 6
66*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Follow` on the log toolbar
67*61c4878aSAndroid Build Coastguard Worker     - Logs stop following
68*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
69*61c4878aSAndroid Build Coastguard Worker
70*61c4878aSAndroid Build Coastguard Worker   * - 7
71*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Table` on the log toolbar
72*61c4878aSAndroid Build Coastguard Worker     - Table mode is disabled
73*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
74*61c4878aSAndroid Build Coastguard Worker
75*61c4878aSAndroid Build Coastguard Worker   * - 8
76*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Wrap` on the log toolbar
77*61c4878aSAndroid Build Coastguard Worker     - Line wrapping is enabled
78*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
79*61c4878aSAndroid Build Coastguard Worker
80*61c4878aSAndroid Build Coastguard Worker   * - 9
81*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Clear` on the log toolbar
82*61c4878aSAndroid Build Coastguard Worker     - | All log lines are erased
83*61c4878aSAndroid Build Coastguard Worker       | Follow mode is on
84*61c4878aSAndroid Build Coastguard Worker       | New lines start appearing
85*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
86*61c4878aSAndroid Build Coastguard Worker
87*61c4878aSAndroid Build Coastguard Worker   * - 10
88*61c4878aSAndroid Build Coastguard Worker     - | Mouse drag across a few log messages
89*61c4878aSAndroid Build Coastguard Worker     - | Entire logs are highlighted and a dialog
90*61c4878aSAndroid Build Coastguard Worker       | box appears in the upper right
91*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
92*61c4878aSAndroid Build Coastguard Worker
93*61c4878aSAndroid Build Coastguard Worker   * - 11
94*61c4878aSAndroid Build Coastguard Worker     - | Without scrolling mouse drag across a set
95*61c4878aSAndroid Build Coastguard Worker       | of different log messages.
96*61c4878aSAndroid Build Coastguard Worker     - | The old selection disappears leaving only the new selection.
97*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
98*61c4878aSAndroid Build Coastguard Worker
99*61c4878aSAndroid Build Coastguard Worker   * - 12
100*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Cancel` button
101*61c4878aSAndroid Build Coastguard Worker       | in the selection dialog box.
102*61c4878aSAndroid Build Coastguard Worker     - | The selection and the dialog box disappears.
103*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
104*61c4878aSAndroid Build Coastguard Worker
105*61c4878aSAndroid Build Coastguard Worker   * - 13
106*61c4878aSAndroid Build Coastguard Worker     - | Mouse drag across a few log messages and
107*61c4878aSAndroid Build Coastguard Worker       | click the :guilabel:`Save as File` button.
108*61c4878aSAndroid Build Coastguard Worker     - | The save as file dialog appears with the
109*61c4878aSAndroid Build Coastguard Worker       | :guilabel:`[x] Selected Lines Only` opion checked.
110*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
111*61c4878aSAndroid Build Coastguard Worker
112*61c4878aSAndroid Build Coastguard Worker   * - 14
113*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`Cancel`
114*61c4878aSAndroid Build Coastguard Worker     - | The save dialog closes
115*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
116*61c4878aSAndroid Build Coastguard Worker
117*61c4878aSAndroid Build Coastguard Worker   * - 15
118*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Save` button on the log toolbar.
119*61c4878aSAndroid Build Coastguard Worker       | A dialog appears prompting for a file.
120*61c4878aSAndroid Build Coastguard Worker     - | The current working directory should be pre-filled.
121*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
122*61c4878aSAndroid Build Coastguard Worker
123*61c4878aSAndroid Build Coastguard Worker   * - 16
124*61c4878aSAndroid Build Coastguard Worker     - | Check :guilabel:`[x] Table Formatting`
125*61c4878aSAndroid Build Coastguard Worker       | Uncheck :guilabel:`[ ] Selected Lines Only`
126*61c4878aSAndroid Build Coastguard Worker       | Add ``/log.txt`` to the end and press :kbd:`Enter`
127*61c4878aSAndroid Build Coastguard Worker       | Click the menu :guilabel:`[File] > Exit`
128*61c4878aSAndroid Build Coastguard Worker     - | In the terminal run ``cat log.txt`` to verify logs
129*61c4878aSAndroid Build Coastguard Worker       | were saved correctly.
130*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
131*61c4878aSAndroid Build Coastguard Worker
132*61c4878aSAndroid Build Coastguard WorkerLog Pane: Search and Filtering
133*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
134*61c4878aSAndroid Build Coastguard Worker
135*61c4878aSAndroid Build Coastguard Worker.. list-table::
136*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
137*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
138*61c4878aSAndroid Build Coastguard Worker
139*61c4878aSAndroid Build Coastguard Worker   * - #
140*61c4878aSAndroid Build Coastguard Worker     - Test Action
141*61c4878aSAndroid Build Coastguard Worker     - Expected Result
142*61c4878aSAndroid Build Coastguard Worker     - ✅
143*61c4878aSAndroid Build Coastguard Worker
144*61c4878aSAndroid Build Coastguard Worker   * - 1
145*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`Fake Device` window title
146*61c4878aSAndroid Build Coastguard Worker     - Log pane is focused
147*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
148*61c4878aSAndroid Build Coastguard Worker
149*61c4878aSAndroid Build Coastguard Worker   * - 2
150*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`/`
151*61c4878aSAndroid Build Coastguard Worker     - | The search bar appears
152*61c4878aSAndroid Build Coastguard Worker       | The cursor should appear after the ``/``
153*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
154*61c4878aSAndroid Build Coastguard Worker
155*61c4878aSAndroid Build Coastguard Worker   * - 3
156*61c4878aSAndroid Build Coastguard Worker     - | Type ``lorem``
157*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`Enter`
158*61c4878aSAndroid Build Coastguard Worker     - | Logs stop following
159*61c4878aSAndroid Build Coastguard Worker       | ``Lorem`` words are highlighted in cyan
160*61c4878aSAndroid Build Coastguard Worker       | The cursor on the first log message
161*61c4878aSAndroid Build Coastguard Worker       | The search toolbar is un-focused and displays:
162*61c4878aSAndroid Build Coastguard Worker       | ``Match 1 / 10`` where the second number (the total match count)
163*61c4878aSAndroid Build Coastguard Worker       | increases once every 10 seconds when new logs arrive.
164*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
165*61c4878aSAndroid Build Coastguard Worker
166*61c4878aSAndroid Build Coastguard Worker   * - 4
167*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`Ctrl-f`
168*61c4878aSAndroid Build Coastguard Worker     - | The search bar is focused
169*61c4878aSAndroid Build Coastguard Worker       | The cursor should appear after ``/Lorem``
170*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
171*61c4878aSAndroid Build Coastguard Worker
172*61c4878aSAndroid Build Coastguard Worker   * - 5
173*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`Ctrl-c`
174*61c4878aSAndroid Build Coastguard Worker     - | The search bar disappears
175*61c4878aSAndroid Build Coastguard Worker       | ``Lorem`` words are no longer highlighted
176*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
177*61c4878aSAndroid Build Coastguard Worker
178*61c4878aSAndroid Build Coastguard Worker   * - 6
179*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`/`
180*61c4878aSAndroid Build Coastguard Worker     - | The search bar appears and is empty
181*61c4878aSAndroid Build Coastguard Worker       | The cursor should appear after ``/``
182*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
183*61c4878aSAndroid Build Coastguard Worker
184*61c4878aSAndroid Build Coastguard Worker   * - 7
185*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Matcher:` once
186*61c4878aSAndroid Build Coastguard Worker     - ``Matcher:STRING`` is shown
187*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
188*61c4878aSAndroid Build Coastguard Worker
189*61c4878aSAndroid Build Coastguard Worker   * - 8
190*61c4878aSAndroid Build Coastguard Worker     - | Type ``[=``
191*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`Enter`
192*61c4878aSAndroid Build Coastguard Worker     - | All instances of ``[=`` should be highlighted
193*61c4878aSAndroid Build Coastguard Worker       | The cursor should be on log message 2
194*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
195*61c4878aSAndroid Build Coastguard Worker
196*61c4878aSAndroid Build Coastguard Worker   * - 7
197*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`/`
198*61c4878aSAndroid Build Coastguard Worker     - | The search bar is focused
199*61c4878aSAndroid Build Coastguard Worker       | The cursor should appear after the ``/[=``
200*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
201*61c4878aSAndroid Build Coastguard Worker
202*61c4878aSAndroid Build Coastguard Worker   * - 8
203*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`Ctrl-c`
204*61c4878aSAndroid Build Coastguard Worker     - | The search bar disappears
205*61c4878aSAndroid Build Coastguard Worker       | ``[=`` matches are no longer highlighted
206*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
207*61c4878aSAndroid Build Coastguard Worker
208*61c4878aSAndroid Build Coastguard Worker   * - 9
209*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`/`
210*61c4878aSAndroid Build Coastguard Worker     - | The search bar appears and is empty
211*61c4878aSAndroid Build Coastguard Worker       | The cursor should appear after ``/``
212*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
213*61c4878aSAndroid Build Coastguard Worker
214*61c4878aSAndroid Build Coastguard Worker   * - 10
215*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`Up`
216*61c4878aSAndroid Build Coastguard Worker     - The text ``[=`` should appear in the search input field
217*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
218*61c4878aSAndroid Build Coastguard Worker
219*61c4878aSAndroid Build Coastguard Worker   * - 11
220*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Search Enter`
221*61c4878aSAndroid Build Coastguard Worker     - | All instances of ``[=`` should be highlighted
222*61c4878aSAndroid Build Coastguard Worker       | The cursor should be on log message 12
223*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
224*61c4878aSAndroid Build Coastguard Worker
225*61c4878aSAndroid Build Coastguard Worker   * - 12
226*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Add Filter`
227*61c4878aSAndroid Build Coastguard Worker     - | A ``Filters`` toolbar will appear
228*61c4878aSAndroid Build Coastguard Worker       | showing the new filter: ``<\[= (X)>``.
229*61c4878aSAndroid Build Coastguard Worker       | Only log messages matching ``[=`` appear in the logs.
230*61c4878aSAndroid Build Coastguard Worker       | Follow mode is enabled
231*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
232*61c4878aSAndroid Build Coastguard Worker
233*61c4878aSAndroid Build Coastguard Worker   * - 13
234*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`/`
235*61c4878aSAndroid Build Coastguard Worker     - | The search bar appears and is empty
236*61c4878aSAndroid Build Coastguard Worker       | The cursor should appear after ``/``
237*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
238*61c4878aSAndroid Build Coastguard Worker
239*61c4878aSAndroid Build Coastguard Worker   * - 14
240*61c4878aSAndroid Build Coastguard Worker     - | Type ``# 1`` and press :kbd:`Enter`
241*61c4878aSAndroid Build Coastguard Worker       | Click :guilabel:`Add Filter`
242*61c4878aSAndroid Build Coastguard Worker     - | The ``Filters`` toolbar shows a new filter: ``<\#\ 1 (X)>``.
243*61c4878aSAndroid Build Coastguard Worker       | Only log messages matching both filters will appear in the logs.
244*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
245*61c4878aSAndroid Build Coastguard Worker
246*61c4878aSAndroid Build Coastguard Worker   * - 15
247*61c4878aSAndroid Build Coastguard Worker     - | Click the first :guilabel:`(X)`
248*61c4878aSAndroid Build Coastguard Worker       | in the filter toolbar.
249*61c4878aSAndroid Build Coastguard Worker     - | The ``Filters`` toolbar shows only one filter: ``<\#\ 1 (X)>``.
250*61c4878aSAndroid Build Coastguard Worker       | More log messages will appear in the log window
251*61c4878aSAndroid Build Coastguard Worker       | Lines all end in: ``# 1.*``
252*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
253*61c4878aSAndroid Build Coastguard Worker
254*61c4878aSAndroid Build Coastguard Worker   * - 16
255*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Clear Filters`
256*61c4878aSAndroid Build Coastguard Worker     - | The ``Filters`` toolbar will disappear.
257*61c4878aSAndroid Build Coastguard Worker       | All log messages will be shown in the log window.
258*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
259*61c4878aSAndroid Build Coastguard Worker
260*61c4878aSAndroid Build Coastguard Worker   * - 17
261*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`/`
262*61c4878aSAndroid Build Coastguard Worker       | Type ``BAT``
263*61c4878aSAndroid Build Coastguard Worker       | Click :guilabel:`Column` until ``Column:Module`` is shown
264*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`Enter`
265*61c4878aSAndroid Build Coastguard Worker     - | Logs stop following
266*61c4878aSAndroid Build Coastguard Worker       | ``BAT`` is highlighted in cyan
267*61c4878aSAndroid Build Coastguard Worker       | The cursor on the 3rd log message
268*61c4878aSAndroid Build Coastguard Worker       | The search toolbar is un-focused and displays:
269*61c4878aSAndroid Build Coastguard Worker       | ``Match 1 / 10`` where the second number (the total match count)
270*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
271*61c4878aSAndroid Build Coastguard Worker
272*61c4878aSAndroid Build Coastguard Worker   * - 18
273*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`n`
274*61c4878aSAndroid Build Coastguard Worker     - | ``BAT`` is highlighted in cyan
275*61c4878aSAndroid Build Coastguard Worker       | The cursor on the 7th log message and is in the center of the
276*61c4878aSAndroid Build Coastguard Worker       | log window (not the bottom).
277*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
278*61c4878aSAndroid Build Coastguard Worker
279*61c4878aSAndroid Build Coastguard Worker   * - 19
280*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Jump to new matches`
281*61c4878aSAndroid Build Coastguard Worker     - | :guilabel:`Jump to new matches` is checked and every 5 seconds
282*61c4878aSAndroid Build Coastguard Worker       | the cursor jumps to the latest matching log message.
283*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
284*61c4878aSAndroid Build Coastguard Worker
285*61c4878aSAndroid Build Coastguard Worker   * - 20
286*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Follow`
287*61c4878aSAndroid Build Coastguard Worker     - | :guilabel:`Jump to new matches` is unchecked
288*61c4878aSAndroid Build Coastguard Worker       | The cursor jumps to every new log message once a second.
289*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
290*61c4878aSAndroid Build Coastguard Worker
291*61c4878aSAndroid Build Coastguard Worker   * - 21
292*61c4878aSAndroid Build Coastguard Worker     - | Click :guilabel:`Add Filter`
293*61c4878aSAndroid Build Coastguard Worker     - | The Filters toolbar appears with one filter: ``<module BAT (X)>``
294*61c4878aSAndroid Build Coastguard Worker       | Only logs with Module matching ``BAT`` appear.
295*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
296*61c4878aSAndroid Build Coastguard Worker
297*61c4878aSAndroid Build Coastguard Worker   * - 22
298*61c4878aSAndroid Build Coastguard Worker     - Click :guilabel:`Clear Filters`
299*61c4878aSAndroid Build Coastguard Worker     - | The ``Filters`` toolbar will disappear.
300*61c4878aSAndroid Build Coastguard Worker       | All log messages will be shown in the log window.
301*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
302*61c4878aSAndroid Build Coastguard Worker
303*61c4878aSAndroid Build Coastguard Worker   * - 23
304*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`/`
305*61c4878aSAndroid Build Coastguard Worker       | Type ``BAT``
306*61c4878aSAndroid Build Coastguard Worker       | Click :guilabel:`Invert`
307*61c4878aSAndroid Build Coastguard Worker     - ``[x] Invert`` setting is shown
308*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
309*61c4878aSAndroid Build Coastguard Worker
310*61c4878aSAndroid Build Coastguard Worker   * - 24
311*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`Enter` then click :guilabel:`Add Filter`
312*61c4878aSAndroid Build Coastguard Worker     - | The Filters toolbar appears
313*61c4878aSAndroid Build Coastguard Worker       | One filter is shown: ``<NOT module BAT (X)>``
314*61c4878aSAndroid Build Coastguard Worker       | Only logs with Modules other than ``BAT`` appear.
315*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
316*61c4878aSAndroid Build Coastguard Worker
317*61c4878aSAndroid Build Coastguard WorkerHelp Windows
318*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^
319*61c4878aSAndroid Build Coastguard Worker
320*61c4878aSAndroid Build Coastguard Worker.. list-table::
321*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
322*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
323*61c4878aSAndroid Build Coastguard Worker
324*61c4878aSAndroid Build Coastguard Worker   * - #
325*61c4878aSAndroid Build Coastguard Worker     - Test Action
326*61c4878aSAndroid Build Coastguard Worker     - Expected Result
327*61c4878aSAndroid Build Coastguard Worker     - ✅
328*61c4878aSAndroid Build Coastguard Worker
329*61c4878aSAndroid Build Coastguard Worker   * - 1
330*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`[Help] > User Guide`
331*61c4878aSAndroid Build Coastguard Worker     - | Window appears showing the user guide with
332*61c4878aSAndroid Build Coastguard Worker       | RST formatting and syntax highlighting
333*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
334*61c4878aSAndroid Build Coastguard Worker
335*61c4878aSAndroid Build Coastguard Worker   * - 2
336*61c4878aSAndroid Build Coastguard Worker     - Press :guilabel:`q`
337*61c4878aSAndroid Build Coastguard Worker     - Window is hidden
338*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
339*61c4878aSAndroid Build Coastguard Worker
340*61c4878aSAndroid Build Coastguard Worker   * - 3
341*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`[Help] > Keyboard Shortcuts`
342*61c4878aSAndroid Build Coastguard Worker     - Window appears showing the keybind list
343*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
344*61c4878aSAndroid Build Coastguard Worker
345*61c4878aSAndroid Build Coastguard Worker   * - 4
346*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`F1`
347*61c4878aSAndroid Build Coastguard Worker     - Window is hidden
348*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
349*61c4878aSAndroid Build Coastguard Worker
350*61c4878aSAndroid Build Coastguard Worker   * - 5
351*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`[Help] > Console Test Mode Help`
352*61c4878aSAndroid Build Coastguard Worker     - | Window appears showing help with content
353*61c4878aSAndroid Build Coastguard Worker       | ``Welcome to the Pigweed Console Test Mode!``
354*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
355*61c4878aSAndroid Build Coastguard Worker
356*61c4878aSAndroid Build Coastguard Worker   * - 6
357*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`Close q` button.
358*61c4878aSAndroid Build Coastguard Worker     - Window is hidden
359*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
360*61c4878aSAndroid Build Coastguard Worker
361*61c4878aSAndroid Build Coastguard WorkerFloating Windows
362*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^^^^
363*61c4878aSAndroid Build Coastguard Worker
364*61c4878aSAndroid Build Coastguard Worker.. list-table::
365*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
366*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
367*61c4878aSAndroid Build Coastguard Worker
368*61c4878aSAndroid Build Coastguard Worker   * - #
369*61c4878aSAndroid Build Coastguard Worker     - Test Action
370*61c4878aSAndroid Build Coastguard Worker     - Expected Result
371*61c4878aSAndroid Build Coastguard Worker     - ✅
372*61c4878aSAndroid Build Coastguard Worker
373*61c4878aSAndroid Build Coastguard Worker   * - 1
374*61c4878aSAndroid Build Coastguard Worker     - Start ``pw-console --test-mode`` press ``Ctrl-p``
375*61c4878aSAndroid Build Coastguard Worker     - The :guilabel:`Menu Items` command runner dialog appears.
376*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
377*61c4878aSAndroid Build Coastguard Worker
378*61c4878aSAndroid Build Coastguard Worker   * - 2
379*61c4878aSAndroid Build Coastguard Worker     - Type :kbd:`exit` and press :kbd:`enter`.
380*61c4878aSAndroid Build Coastguard Worker     - The console exits.
381*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
382*61c4878aSAndroid Build Coastguard Worker
383*61c4878aSAndroid Build Coastguard Worker   * - 3
384*61c4878aSAndroid Build Coastguard Worker     - Restart ``pw-console`` but without the ``--test-mode`` option.
385*61c4878aSAndroid Build Coastguard Worker     - Console starts up with ONLY the Python Results and Repl windows.
386*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
387*61c4878aSAndroid Build Coastguard Worker
388*61c4878aSAndroid Build Coastguard Worker   * - 4
389*61c4878aSAndroid Build Coastguard Worker     - Press ``Ctrl-p``
390*61c4878aSAndroid Build Coastguard Worker     - The :guilabel:`Menu Items` command runner dialog appears.
391*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
392*61c4878aSAndroid Build Coastguard Worker
393*61c4878aSAndroid Build Coastguard Worker
394*61c4878aSAndroid Build Coastguard WorkerWindow Management
395*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^^^^^
396*61c4878aSAndroid Build Coastguard Worker
397*61c4878aSAndroid Build Coastguard Worker.. list-table::
398*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
399*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
400*61c4878aSAndroid Build Coastguard Worker
401*61c4878aSAndroid Build Coastguard Worker   * - #
402*61c4878aSAndroid Build Coastguard Worker     - Test Action
403*61c4878aSAndroid Build Coastguard Worker     - Expected Result
404*61c4878aSAndroid Build Coastguard Worker     - ✅
405*61c4878aSAndroid Build Coastguard Worker
406*61c4878aSAndroid Build Coastguard Worker   * - 1
407*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Fake Device` window title
408*61c4878aSAndroid Build Coastguard Worker     - Log pane is focused
409*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
410*61c4878aSAndroid Build Coastguard Worker
411*61c4878aSAndroid Build Coastguard Worker   * - 2
412*61c4878aSAndroid Build Coastguard Worker     - | Click the menu :guilabel:`Windows > #: Fake Device...`
413*61c4878aSAndroid Build Coastguard Worker       | Click :guilabel:`Duplicate pane`
414*61c4878aSAndroid Build Coastguard Worker     - | 3 panes are visible:
415*61c4878aSAndroid Build Coastguard Worker       | Log pane on top
416*61c4878aSAndroid Build Coastguard Worker       | Repl pane in the middle
417*61c4878aSAndroid Build Coastguard Worker       | Log pane on the bottom
418*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
419*61c4878aSAndroid Build Coastguard Worker
420*61c4878aSAndroid Build Coastguard Worker   * - 3
421*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Python Repl` window title
422*61c4878aSAndroid Build Coastguard Worker     - Python Repl pane is focused
423*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
424*61c4878aSAndroid Build Coastguard Worker
425*61c4878aSAndroid Build Coastguard Worker   * - 4
426*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`View > Move Window Down`
427*61c4878aSAndroid Build Coastguard Worker     - | 3 panes are visible:
428*61c4878aSAndroid Build Coastguard Worker       | Log pane on top
429*61c4878aSAndroid Build Coastguard Worker       | Log pane in the middle
430*61c4878aSAndroid Build Coastguard Worker       | Repl pane on the bottom
431*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
432*61c4878aSAndroid Build Coastguard Worker
433*61c4878aSAndroid Build Coastguard Worker   * - 5
434*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`View > Move Window Down` again
435*61c4878aSAndroid Build Coastguard Worker     - | Nothing changes
436*61c4878aSAndroid Build Coastguard Worker       | Windows remain in the same order
437*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
438*61c4878aSAndroid Build Coastguard Worker
439*61c4878aSAndroid Build Coastguard Worker   * - 6
440*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`View > Move Window Up`
441*61c4878aSAndroid Build Coastguard Worker     - | 3 panes are visible:
442*61c4878aSAndroid Build Coastguard Worker       | Log pane on top
443*61c4878aSAndroid Build Coastguard Worker       | Repl pane in the middle
444*61c4878aSAndroid Build Coastguard Worker       | Log pane on the bottom
445*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
446*61c4878aSAndroid Build Coastguard Worker
447*61c4878aSAndroid Build Coastguard Worker   * - 7
448*61c4878aSAndroid Build Coastguard Worker     - | Click the menu :guilabel:`Windows > #: Fake Device...`
449*61c4878aSAndroid Build Coastguard Worker       | Click :guilabel:`Remove pane`
450*61c4878aSAndroid Build Coastguard Worker     - | 2 panes are visible:
451*61c4878aSAndroid Build Coastguard Worker       | Repl pane on the top
452*61c4878aSAndroid Build Coastguard Worker       | Log pane on bottom
453*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
454*61c4878aSAndroid Build Coastguard Worker
455*61c4878aSAndroid Build Coastguard Worker   * - 8
456*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Python Repl`
457*61c4878aSAndroid Build Coastguard Worker       | window title
458*61c4878aSAndroid Build Coastguard Worker     - Repl pane is focused
459*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
460*61c4878aSAndroid Build Coastguard Worker
461*61c4878aSAndroid Build Coastguard Worker   * - 9
462*61c4878aSAndroid Build Coastguard Worker     - | Hold the keys :guilabel:`Alt- -`
463*61c4878aSAndroid Build Coastguard Worker       | `Alt` and `Minus`
464*61c4878aSAndroid Build Coastguard Worker     - Repl pane shrinks
465*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
466*61c4878aSAndroid Build Coastguard Worker
467*61c4878aSAndroid Build Coastguard Worker   * - 10
468*61c4878aSAndroid Build Coastguard Worker     - Hold the keys :guilabel:`Alt-=`
469*61c4878aSAndroid Build Coastguard Worker     - Repl pane enlarges
470*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
471*61c4878aSAndroid Build Coastguard Worker
472*61c4878aSAndroid Build Coastguard Worker   * - 11
473*61c4878aSAndroid Build Coastguard Worker     - | Click the menu :guilabel:`Windows > 1: Logs fake_device.1`
474*61c4878aSAndroid Build Coastguard Worker       | Click :guilabel:`Duplicate pane`
475*61c4878aSAndroid Build Coastguard Worker     - | 3 panes are visible:
476*61c4878aSAndroid Build Coastguard Worker       | 2 Log panes on the left
477*61c4878aSAndroid Build Coastguard Worker       | Repl pane on the right
478*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
479*61c4878aSAndroid Build Coastguard Worker
480*61c4878aSAndroid Build Coastguard Worker   * - 12
481*61c4878aSAndroid Build Coastguard Worker     - | Click the left top :guilabel:`Logs` window title
482*61c4878aSAndroid Build Coastguard Worker     - Log pane is focused
483*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
484*61c4878aSAndroid Build Coastguard Worker
485*61c4878aSAndroid Build Coastguard Worker   * - 13
486*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`View > Move Window Right`
487*61c4878aSAndroid Build Coastguard Worker     - | 3 panes are visible:
488*61c4878aSAndroid Build Coastguard Worker       | 1 Log panes on the left
489*61c4878aSAndroid Build Coastguard Worker       | 1 Log and Repl pane on the right
490*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
491*61c4878aSAndroid Build Coastguard Worker
492*61c4878aSAndroid Build Coastguard Worker   * - 14
493*61c4878aSAndroid Build Coastguard Worker     - | Click the menu :guilabel:`Windows > Column 2 View Modes`
494*61c4878aSAndroid Build Coastguard Worker       | Then click :guilabel:`[ ] Tabbed Windows`
495*61c4878aSAndroid Build Coastguard Worker     - | 2 panes are visible:
496*61c4878aSAndroid Build Coastguard Worker       | 1 Log panes on the left
497*61c4878aSAndroid Build Coastguard Worker       | 1 Log panes on the right
498*61c4878aSAndroid Build Coastguard Worker       | A tab bar on the top of the right side
499*61c4878aSAndroid Build Coastguard Worker       | `Logs fake_device.1` is highlighted
500*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
501*61c4878aSAndroid Build Coastguard Worker
502*61c4878aSAndroid Build Coastguard Worker   * - 15
503*61c4878aSAndroid Build Coastguard Worker     - | On the right side tab bar
504*61c4878aSAndroid Build Coastguard Worker       | Click :guilabel:`Python Repl`
505*61c4878aSAndroid Build Coastguard Worker     - | 2 panes are visible:
506*61c4878aSAndroid Build Coastguard Worker       | 1 Log pane on the left
507*61c4878aSAndroid Build Coastguard Worker       | 1 Repl pane on the right
508*61c4878aSAndroid Build Coastguard Worker       | `Python Repl` is highlighted
509*61c4878aSAndroid Build Coastguard Worker       | on the tab bar
510*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
511*61c4878aSAndroid Build Coastguard Worker
512*61c4878aSAndroid Build Coastguard WorkerMouse Window Resizing
513*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^^^^^^^^^
514*61c4878aSAndroid Build Coastguard Worker
515*61c4878aSAndroid Build Coastguard Worker.. list-table::
516*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
517*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
518*61c4878aSAndroid Build Coastguard Worker
519*61c4878aSAndroid Build Coastguard Worker   * - #
520*61c4878aSAndroid Build Coastguard Worker     - Test Action
521*61c4878aSAndroid Build Coastguard Worker     - Expected Result
522*61c4878aSAndroid Build Coastguard Worker     - ✅
523*61c4878aSAndroid Build Coastguard Worker
524*61c4878aSAndroid Build Coastguard Worker   * - 1
525*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Fake Device` window
526*61c4878aSAndroid Build Coastguard Worker     - Log pane is focused
527*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
528*61c4878aSAndroid Build Coastguard Worker
529*61c4878aSAndroid Build Coastguard Worker   * - 2
530*61c4878aSAndroid Build Coastguard Worker     - | Left click and hold the :guilabel:`-==-` of that window
531*61c4878aSAndroid Build Coastguard Worker       | Drag the mouse up and down
532*61c4878aSAndroid Build Coastguard Worker     - This log pane is resized
533*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
534*61c4878aSAndroid Build Coastguard Worker
535*61c4878aSAndroid Build Coastguard Worker   * - 3
536*61c4878aSAndroid Build Coastguard Worker     - | Left click and hold the :guilabel:`-==-`
537*61c4878aSAndroid Build Coastguard Worker       | of the :guilabel:`PwConsole Debug` window
538*61c4878aSAndroid Build Coastguard Worker       | Drag the mouse up and down
539*61c4878aSAndroid Build Coastguard Worker     - | The :guilabel:`PwConsole Debug` should NOT be focused
540*61c4878aSAndroid Build Coastguard Worker       | The window should be resized as expected
541*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
542*61c4878aSAndroid Build Coastguard Worker
543*61c4878aSAndroid Build Coastguard Worker   * - 4
544*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`View > Move Window Right`
545*61c4878aSAndroid Build Coastguard Worker     - :guilabel:`Fake Device` should appear in a right side split
546*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
547*61c4878aSAndroid Build Coastguard Worker
548*61c4878aSAndroid Build Coastguard Worker   * - 5
549*61c4878aSAndroid Build Coastguard Worker     - | Left click and hold anywhere on the vertical separator
550*61c4878aSAndroid Build Coastguard Worker       | Drag the mouse left and right
551*61c4878aSAndroid Build Coastguard Worker     - | The window splits should be resized as expected
552*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
553*61c4878aSAndroid Build Coastguard Worker
554*61c4878aSAndroid Build Coastguard Worker   * - 6
555*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`View > Balance Window Sizes`
556*61c4878aSAndroid Build Coastguard Worker     - Window split sizes should reset to equal widths
557*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
558*61c4878aSAndroid Build Coastguard Worker
559*61c4878aSAndroid Build Coastguard Worker   * - 7
560*61c4878aSAndroid Build Coastguard Worker     - | Focus on the :guilabel:`Python Repl` window
561*61c4878aSAndroid Build Coastguard Worker       | Click the :guilabel:`View > Move Window Left`
562*61c4878aSAndroid Build Coastguard Worker     - | :guilabel:`Python Repl` should appear in a left side split
563*61c4878aSAndroid Build Coastguard Worker       | There should be 3 vertical splits in total
564*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
565*61c4878aSAndroid Build Coastguard Worker
566*61c4878aSAndroid Build Coastguard Worker   * - 8
567*61c4878aSAndroid Build Coastguard Worker     - | Left click and hold anywhere on the vertical separator
568*61c4878aSAndroid Build Coastguard Worker       | between the first two splits (Python Repl and the middle split)
569*61c4878aSAndroid Build Coastguard Worker       | Drag the mouse left and right
570*61c4878aSAndroid Build Coastguard Worker     - | The first two window splits should be resized.
571*61c4878aSAndroid Build Coastguard Worker       | The 3rd split size should not change.
572*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
573*61c4878aSAndroid Build Coastguard Worker
574*61c4878aSAndroid Build Coastguard WorkerCopy Paste
575*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^
576*61c4878aSAndroid Build Coastguard Worker
577*61c4878aSAndroid Build Coastguard Worker.. list-table::
578*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
579*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
580*61c4878aSAndroid Build Coastguard Worker
581*61c4878aSAndroid Build Coastguard Worker   * - #
582*61c4878aSAndroid Build Coastguard Worker     - Test Action
583*61c4878aSAndroid Build Coastguard Worker     - Expected Result
584*61c4878aSAndroid Build Coastguard Worker     - ✅
585*61c4878aSAndroid Build Coastguard Worker
586*61c4878aSAndroid Build Coastguard Worker   * - 1
587*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Fake Device` window title
588*61c4878aSAndroid Build Coastguard Worker     - Log pane is focused
589*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
590*61c4878aSAndroid Build Coastguard Worker
591*61c4878aSAndroid Build Coastguard Worker   * - 2
592*61c4878aSAndroid Build Coastguard Worker     - | Mouse drag across a few log messages
593*61c4878aSAndroid Build Coastguard Worker     - | A dialog appears in the upper right showing
594*61c4878aSAndroid Build Coastguard Worker       | the number of lines selected and
595*61c4878aSAndroid Build Coastguard Worker       | buttons for :guilabel:`Cancel`, :guilabel:`Select All`,
596*61c4878aSAndroid Build Coastguard Worker       | :guilabel:`Save as File`, and :guilabel:`Copy`.
597*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
598*61c4878aSAndroid Build Coastguard Worker
599*61c4878aSAndroid Build Coastguard Worker   * - 3
600*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Copy` button
601*61c4878aSAndroid Build Coastguard Worker     - | Try pasting into a separate text editor
602*61c4878aSAndroid Build Coastguard Worker       | Log lines like this should be pasted:
603*61c4878aSAndroid Build Coastguard Worker       | ``20:07:25  INF  APP    Log message [    =     ] # 25``
604*61c4878aSAndroid Build Coastguard Worker       | ``20:07:25  INF  RADIO  Log message [     =    ] # 26``
605*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
606*61c4878aSAndroid Build Coastguard Worker
607*61c4878aSAndroid Build Coastguard Worker   * - 4
608*61c4878aSAndroid Build Coastguard Worker     - | Copy this text in your browser or
609*61c4878aSAndroid Build Coastguard Worker       | text editor to the system clipboard:
610*61c4878aSAndroid Build Coastguard Worker       | ``print('copy paste test!')``
611*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Python Repl` window title
612*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`Ctrl-v`
613*61c4878aSAndroid Build Coastguard Worker       | ``print('copy paste test!')`` appears
614*61c4878aSAndroid Build Coastguard Worker       | after the prompt.
615*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
616*61c4878aSAndroid Build Coastguard Worker
617*61c4878aSAndroid Build Coastguard Worker   * - 5
618*61c4878aSAndroid Build Coastguard Worker     - Press :kbd:`Enter`
619*61c4878aSAndroid Build Coastguard Worker     - | This appears in Python Results:
620*61c4878aSAndroid Build Coastguard Worker       | ``In [1]: print('copy paste test!')``
621*61c4878aSAndroid Build Coastguard Worker       | ``copy paste test!``
622*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
623*61c4878aSAndroid Build Coastguard Worker
624*61c4878aSAndroid Build Coastguard Worker   * - 6
625*61c4878aSAndroid Build Coastguard Worker     - | Click :guilabel:`Ctrl-Alt-c -> Copy Output`
626*61c4878aSAndroid Build Coastguard Worker       | on the Python Results toolbar
627*61c4878aSAndroid Build Coastguard Worker       | Try pasting into a separate text editor
628*61c4878aSAndroid Build Coastguard Worker     - | The contents of the Python Results
629*61c4878aSAndroid Build Coastguard Worker       | are in the system clipboard.
630*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
631*61c4878aSAndroid Build Coastguard Worker
632*61c4878aSAndroid Build Coastguard Worker   * - 7
633*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`Python Results` window title
634*61c4878aSAndroid Build Coastguard Worker     - | Python Results is focused with cursor
635*61c4878aSAndroid Build Coastguard Worker       | appearing below the last line
636*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
637*61c4878aSAndroid Build Coastguard Worker
638*61c4878aSAndroid Build Coastguard Worker   * - 8
639*61c4878aSAndroid Build Coastguard Worker     - | Click and drag over ``copy paste text``
640*61c4878aSAndroid Build Coastguard Worker       | highlighting won't appear until
641*61c4878aSAndroid Build Coastguard Worker       | after the mouse button is released
642*61c4878aSAndroid Build Coastguard Worker     - | ``copy paste text`` is highlighted
643*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
644*61c4878aSAndroid Build Coastguard Worker
645*61c4878aSAndroid Build Coastguard Worker   * - 9
646*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`Ctrl-c`
647*61c4878aSAndroid Build Coastguard Worker       | Try pasting into a separate text editor
648*61c4878aSAndroid Build Coastguard Worker     - | ``copy paste text`` should appear (and is
649*61c4878aSAndroid Build Coastguard Worker       | in the system clipboard)
650*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
651*61c4878aSAndroid Build Coastguard Worker
652*61c4878aSAndroid Build Coastguard Worker   * - 10
653*61c4878aSAndroid Build Coastguard Worker     - Click the :guilabel:`Python Repl` window title
654*61c4878aSAndroid Build Coastguard Worker     - Python Repl is focused
655*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
656*61c4878aSAndroid Build Coastguard Worker
657*61c4878aSAndroid Build Coastguard Worker   * - 11
658*61c4878aSAndroid Build Coastguard Worker     - | Type ``print('hello there')`` into the Python input.
659*61c4878aSAndroid Build Coastguard Worker       | Mouse drag select that text
660*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`Ctrl-c`
661*61c4878aSAndroid Build Coastguard Worker     - | The selection should disappear.
662*61c4878aSAndroid Build Coastguard Worker       | Try pasting into a separate text editor, the paste should
663*61c4878aSAndroid Build Coastguard Worker       | match the text you drag selected.
664*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
665*61c4878aSAndroid Build Coastguard Worker
666*61c4878aSAndroid Build Coastguard WorkerIncremental Stdout
667*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^^^^^^
668*61c4878aSAndroid Build Coastguard Worker
669*61c4878aSAndroid Build Coastguard Worker.. list-table::
670*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
671*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
672*61c4878aSAndroid Build Coastguard Worker
673*61c4878aSAndroid Build Coastguard Worker   * - #
674*61c4878aSAndroid Build Coastguard Worker     - Test Action
675*61c4878aSAndroid Build Coastguard Worker     - Expected Result
676*61c4878aSAndroid Build Coastguard Worker     - ✅
677*61c4878aSAndroid Build Coastguard Worker
678*61c4878aSAndroid Build Coastguard Worker   * - 1
679*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`Python Repl` window title
680*61c4878aSAndroid Build Coastguard Worker     - Python Repl pane is focused
681*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
682*61c4878aSAndroid Build Coastguard Worker
683*61c4878aSAndroid Build Coastguard Worker   * - 2
684*61c4878aSAndroid Build Coastguard Worker     - | Enter the following text and hit enter twice
685*61c4878aSAndroid Build Coastguard Worker       | ``import time``
686*61c4878aSAndroid Build Coastguard Worker       | ``for i in range(10):``
687*61c4878aSAndroid Build Coastguard Worker       | ``print(i); time.sleep(1)``
688*61c4878aSAndroid Build Coastguard Worker     - | ``Running...`` should appear in the python with
689*61c4878aSAndroid Build Coastguard Worker       | increasing integers incrementally appearing above
690*61c4878aSAndroid Build Coastguard Worker       | (not all at once after a delay).
691*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
692*61c4878aSAndroid Build Coastguard Worker
693*61c4878aSAndroid Build Coastguard WorkerPython Repl & Output
694*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^^^^^^^^^
695*61c4878aSAndroid Build Coastguard Worker
696*61c4878aSAndroid Build Coastguard Worker.. list-table::
697*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
698*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
699*61c4878aSAndroid Build Coastguard Worker
700*61c4878aSAndroid Build Coastguard Worker   * - #
701*61c4878aSAndroid Build Coastguard Worker     - Test Action
702*61c4878aSAndroid Build Coastguard Worker     - Expected Result
703*61c4878aSAndroid Build Coastguard Worker     - ✅
704*61c4878aSAndroid Build Coastguard Worker
705*61c4878aSAndroid Build Coastguard Worker   * - 1
706*61c4878aSAndroid Build Coastguard Worker     - Click the ``Logs`` window title
707*61c4878aSAndroid Build Coastguard Worker     - Log pane is focused
708*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
709*61c4878aSAndroid Build Coastguard Worker
710*61c4878aSAndroid Build Coastguard Worker   * - 2
711*61c4878aSAndroid Build Coastguard Worker     - Click empty whitespace in the ``Python Results`` window
712*61c4878aSAndroid Build Coastguard Worker     - Python Results pane is focused
713*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
714*61c4878aSAndroid Build Coastguard Worker
715*61c4878aSAndroid Build Coastguard Worker   * - 3
716*61c4878aSAndroid Build Coastguard Worker     - Click empty whitespace in the ``Python Repl`` window
717*61c4878aSAndroid Build Coastguard Worker     - Python Repl pane is focused
718*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
719*61c4878aSAndroid Build Coastguard Worker
720*61c4878aSAndroid Build Coastguard Worker   * - 4
721*61c4878aSAndroid Build Coastguard Worker     - | Enter the following text and press :kbd:`Enter` to run
722*61c4878aSAndroid Build Coastguard Worker       | ``[i for i in __builtins__ if not i.startswith('_')]``
723*61c4878aSAndroid Build Coastguard Worker     - | The results should appear pretty printed
724*61c4878aSAndroid Build Coastguard Worker       | with each list element on it's own line:
725*61c4878aSAndroid Build Coastguard Worker       |
726*61c4878aSAndroid Build Coastguard Worker       |   >>> [i for i in __builtins__ if not i.startswith('_')]
727*61c4878aSAndroid Build Coastguard Worker       |   [ 'abs',
728*61c4878aSAndroid Build Coastguard Worker       |     'all',
729*61c4878aSAndroid Build Coastguard Worker       |     'any',
730*61c4878aSAndroid Build Coastguard Worker       |     'ascii'
731*61c4878aSAndroid Build Coastguard Worker       |
732*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
733*61c4878aSAndroid Build Coastguard Worker
734*61c4878aSAndroid Build Coastguard Worker   * - 5
735*61c4878aSAndroid Build Coastguard Worker     - | Enter the following text and press :kbd:`Enter` to run
736*61c4878aSAndroid Build Coastguard Worker       | ``locals()``
737*61c4878aSAndroid Build Coastguard Worker     - | The results should appear pretty printed
738*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
739*61c4878aSAndroid Build Coastguard Worker
740*61c4878aSAndroid Build Coastguard Worker   * - 6
741*61c4878aSAndroid Build Coastguard Worker     - | Enter the following text and press :kbd:`Enter` to run
742*61c4878aSAndroid Build Coastguard Worker       | ``zzzz = 'test'``
743*61c4878aSAndroid Build Coastguard Worker     - | No new results are shown
744*61c4878aSAndroid Build Coastguard Worker       | The previous ``locals()`` output does not show ``'zzzz': 'test'``
745*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
746*61c4878aSAndroid Build Coastguard Worker
747*61c4878aSAndroid Build Coastguard Worker   * - 7
748*61c4878aSAndroid Build Coastguard Worker     - | Enter the following text and press :kbd:`Enter` to run
749*61c4878aSAndroid Build Coastguard Worker       | ``locals()``
750*61c4878aSAndroid Build Coastguard Worker     - | The output ends with ``'zzzz': 'test'}``
751*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
752*61c4878aSAndroid Build Coastguard Worker
753*61c4878aSAndroid Build Coastguard Worker   * - 8
754*61c4878aSAndroid Build Coastguard Worker     - | With the cursor over the Python Results,
755*61c4878aSAndroid Build Coastguard Worker       | use the mouse wheel to scroll up and down.
756*61c4878aSAndroid Build Coastguard Worker     - | The output window should be able to scroll all
757*61c4878aSAndroid Build Coastguard Worker       | the way to the beginning and end of the buffer.
758*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
759*61c4878aSAndroid Build Coastguard Worker
760*61c4878aSAndroid Build Coastguard Worker   * - 9
761*61c4878aSAndroid Build Coastguard Worker     - Click empty whitespace in the ``Python Repl`` window
762*61c4878aSAndroid Build Coastguard Worker     - Python Repl pane is focused
763*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
764*61c4878aSAndroid Build Coastguard Worker
765*61c4878aSAndroid Build Coastguard Worker   * - 10
766*61c4878aSAndroid Build Coastguard Worker     - | Enter the following text and press :kbd:`Enter` to run
767*61c4878aSAndroid Build Coastguard Worker       | ``!ls``
768*61c4878aSAndroid Build Coastguard Worker     - | 1. Shell output of running the ``ls`` command should appear in the
769*61c4878aSAndroid Build Coastguard Worker       | results window.
770*61c4878aSAndroid Build Coastguard Worker       | 2. A new log window pane should appear titled ``Shell Output``.
771*61c4878aSAndroid Build Coastguard Worker       | 3. The Shell Output window should show the command that was run and the
772*61c4878aSAndroid Build Coastguard Worker       | output:
773*61c4878aSAndroid Build Coastguard Worker       | ``$ ls``
774*61c4878aSAndroid Build Coastguard Worker       | ``activate.bat``
775*61c4878aSAndroid Build Coastguard Worker       | ``activate.sh``
776*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
777*61c4878aSAndroid Build Coastguard Worker
778*61c4878aSAndroid Build Coastguard WorkerWeb Log Viewer
779*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^^
780*61c4878aSAndroid Build Coastguard Worker
781*61c4878aSAndroid Build Coastguard Worker.. list-table::
782*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
783*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
784*61c4878aSAndroid Build Coastguard Worker
785*61c4878aSAndroid Build Coastguard Worker   * - #
786*61c4878aSAndroid Build Coastguard Worker     - Test Action
787*61c4878aSAndroid Build Coastguard Worker     - Expected Result
788*61c4878aSAndroid Build Coastguard Worker     - ✅
789*61c4878aSAndroid Build Coastguard Worker
790*61c4878aSAndroid Build Coastguard Worker   * - 1
791*61c4878aSAndroid Build Coastguard Worker     - | Start the pw console test mode by
792*61c4878aSAndroid Build Coastguard Worker       | running ``pw console --test-mode``
793*61c4878aSAndroid Build Coastguard Worker     - | Console starts up showing an ``Fake Device`` window.
794*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
795*61c4878aSAndroid Build Coastguard Worker
796*61c4878aSAndroid Build Coastguard Worker   * - 2
797*61c4878aSAndroid Build Coastguard Worker     - | Focus on ``Fake Device`` panel and press :kbd:`Shift-o` to enable web log viewer
798*61c4878aSAndroid Build Coastguard Worker     - | This should hide log stream in the console and automatically copy the
799*61c4878aSAndroid Build Coastguard Worker       | URL to log viewer to the clipboard
800*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
801*61c4878aSAndroid Build Coastguard Worker   * - 3
802*61c4878aSAndroid Build Coastguard Worker     - | Focus on the ``Fake Keys`` panel with a filter applied. Then press
803*61c4878aSAndroid Build Coastguard Worker       | :kbd:`Shift-o` to enable another web log viewer for that new pane. Open the
804*61c4878aSAndroid Build Coastguard Worker       | new URL in Chrome
805*61c4878aSAndroid Build Coastguard Worker     - | This log viewer should have filters pre-applied
806*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
807*61c4878aSAndroid Build Coastguard Worker   * - 4
808*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`Shift-o` again on both log panes to disable web log view
809*61c4878aSAndroid Build Coastguard Worker     - | This should re-enable log stream in console and stop streaming logs to
810*61c4878aSAndroid Build Coastguard Worker       | web view
811*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
812*61c4878aSAndroid Build Coastguard Worker
813*61c4878aSAndroid Build Coastguard Worker
814*61c4878aSAndroid Build Coastguard Worker
815*61c4878aSAndroid Build Coastguard WorkerEarly Startup
816*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^
817*61c4878aSAndroid Build Coastguard Worker
818*61c4878aSAndroid Build Coastguard Worker.. list-table::
819*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
820*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
821*61c4878aSAndroid Build Coastguard Worker
822*61c4878aSAndroid Build Coastguard Worker   * - #
823*61c4878aSAndroid Build Coastguard Worker     - Test Action
824*61c4878aSAndroid Build Coastguard Worker     - Expected Result
825*61c4878aSAndroid Build Coastguard Worker     - ✅
826*61c4878aSAndroid Build Coastguard Worker
827*61c4878aSAndroid Build Coastguard Worker   * - 1
828*61c4878aSAndroid Build Coastguard Worker     - | Start the pw console test mode by
829*61c4878aSAndroid Build Coastguard Worker       | running ``pw console --test-mode``
830*61c4878aSAndroid Build Coastguard Worker     - | Console starts up showing an ``All Logs`` window.
831*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
832*61c4878aSAndroid Build Coastguard Worker
833*61c4878aSAndroid Build Coastguard Worker   * - 2
834*61c4878aSAndroid Build Coastguard Worker     - | Click the :guilabel:`All Logs` window title
835*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`g` to jump to the top of the log history
836*61c4878aSAndroid Build Coastguard Worker     - | These log messages should be at the top:
837*61c4878aSAndroid Build Coastguard Worker       | ``DBG Adding plugins...``
838*61c4878aSAndroid Build Coastguard Worker       | ``DBG Starting prompt_toolkit full-screen application...``
839*61c4878aSAndroid Build Coastguard Worker       | ``DBG pw_console test-mode starting...``
840*61c4878aSAndroid Build Coastguard Worker       | ``DBG pw_console.PwConsoleEmbed init complete``
841*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
842*61c4878aSAndroid Build Coastguard Worker
843*61c4878aSAndroid Build Coastguard WorkerQuit Confirmation Dialog
844*61c4878aSAndroid Build Coastguard Worker^^^^^^^^^^^^^^^^^^^^^^^^
845*61c4878aSAndroid Build Coastguard Worker
846*61c4878aSAndroid Build Coastguard Worker.. list-table::
847*61c4878aSAndroid Build Coastguard Worker   :widths: 5 45 45 5
848*61c4878aSAndroid Build Coastguard Worker   :header-rows: 1
849*61c4878aSAndroid Build Coastguard Worker
850*61c4878aSAndroid Build Coastguard Worker   * - #
851*61c4878aSAndroid Build Coastguard Worker     - Test Action
852*61c4878aSAndroid Build Coastguard Worker     - Expected Result
853*61c4878aSAndroid Build Coastguard Worker     - ✅
854*61c4878aSAndroid Build Coastguard Worker
855*61c4878aSAndroid Build Coastguard Worker   * - 1
856*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`Ctrl-d`
857*61c4878aSAndroid Build Coastguard Worker     - | The quit dialog appears
858*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
859*61c4878aSAndroid Build Coastguard Worker
860*61c4878aSAndroid Build Coastguard Worker   * - 2
861*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`n`
862*61c4878aSAndroid Build Coastguard Worker     - | The quit dialog disappears
863*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
864*61c4878aSAndroid Build Coastguard Worker
865*61c4878aSAndroid Build Coastguard Worker   * - 3
866*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`Ctrl-d`
867*61c4878aSAndroid Build Coastguard Worker     - | The quit dialog appears
868*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
869*61c4878aSAndroid Build Coastguard Worker
870*61c4878aSAndroid Build Coastguard Worker   * - 4
871*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`y`
872*61c4878aSAndroid Build Coastguard Worker     - | The console exits
873*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
874*61c4878aSAndroid Build Coastguard Worker
875*61c4878aSAndroid Build Coastguard Worker   * - 5
876*61c4878aSAndroid Build Coastguard Worker     - | Restart the console and
877*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`Ctrl-d` twice in quick succession.
878*61c4878aSAndroid Build Coastguard Worker     - | The console exits
879*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
880*61c4878aSAndroid Build Coastguard Worker
881*61c4878aSAndroid Build Coastguard Worker   * - 6
882*61c4878aSAndroid Build Coastguard Worker     - | Restart the console and Press :kbd:`F1`
883*61c4878aSAndroid Build Coastguard Worker     - | The help window appears
884*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
885*61c4878aSAndroid Build Coastguard Worker
886*61c4878aSAndroid Build Coastguard Worker   * - 7
887*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`Ctrl-d`
888*61c4878aSAndroid Build Coastguard Worker     - | The quit dialog appears on top of the help window
889*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
890*61c4878aSAndroid Build Coastguard Worker
891*61c4878aSAndroid Build Coastguard Worker   * - 8
892*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`n`
893*61c4878aSAndroid Build Coastguard Worker     - | The quit dialog disappears and the help window is
894*61c4878aSAndroid Build Coastguard Worker       | back in focus.
895*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
896*61c4878aSAndroid Build Coastguard Worker
897*61c4878aSAndroid Build Coastguard Worker   * - 9
898*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`q`
899*61c4878aSAndroid Build Coastguard Worker     - | The help window disappears and the Python Repl is in focus.
900*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
901*61c4878aSAndroid Build Coastguard Worker
902*61c4878aSAndroid Build Coastguard Worker   * - 10
903*61c4878aSAndroid Build Coastguard Worker     - | Type some text into the Python Repl.
904*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`Home` or move the cursor to the
905*61c4878aSAndroid Build Coastguard Worker       | beginning of the text you just entered.
906*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`Ctrl-d`
907*61c4878aSAndroid Build Coastguard Worker     - | Each :kbd:`Ctrl-d` press deletes one character
908*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
909*61c4878aSAndroid Build Coastguard Worker
910*61c4878aSAndroid Build Coastguard Worker   * - 11
911*61c4878aSAndroid Build Coastguard Worker     - | Press :kbd:`Ctrl-c` to clear the Python Repl text
912*61c4878aSAndroid Build Coastguard Worker       | Press :kbd:`Ctrl-d`
913*61c4878aSAndroid Build Coastguard Worker     - | The quit dialog appears.
914*61c4878aSAndroid Build Coastguard Worker     - |checkbox|
915*61c4878aSAndroid Build Coastguard Worker
916*61c4878aSAndroid Build Coastguard WorkerAdd note to the commit message
917*61c4878aSAndroid Build Coastguard Worker==============================
918*61c4878aSAndroid Build Coastguard Worker
919*61c4878aSAndroid Build Coastguard WorkerAdd a ``Testing:`` line to your commit message and mention the steps
920*61c4878aSAndroid Build Coastguard Workerexecuted. For example:
921*61c4878aSAndroid Build Coastguard Worker
922*61c4878aSAndroid Build Coastguard Worker.. code-block:: text
923*61c4878aSAndroid Build Coastguard Worker
924*61c4878aSAndroid Build Coastguard Worker   Testing: Log Pane Steps 1-6
925*61c4878aSAndroid Build Coastguard Worker
926*61c4878aSAndroid Build Coastguard Worker.. |checkbox| raw:: html
927*61c4878aSAndroid Build Coastguard Worker
928*61c4878aSAndroid Build Coastguard Worker    <input type="checkbox">
929