You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor the ToolMeister class and the Tool class hierarchy to construct
Tool objects once. We were running the constructor for each Tool object
once to run the `install()` method, and then again for each "init" and
"start" operation.
Now the Tool object constructor runs once, and all code used to
determine if a tool is installed correctly results in the `install()`
method.
We also take the opportunity to properly assert the expected state each
method of the various Tool classes expect to encounter.
The Tool Meister constructor now validates that the `pbench_install_dir`
and `tmp_dir` arguments are directories that exist, raising an exception
otherwise.
The `.start()` methods for all Tool object sub-classes has been changed
to raise an exception if the `tool_dir` argument is not a real
directory.
Along the way, we also add type hints for all Tool Meister methods and
its constructor, correcting other type hints, and correcting the return
values of a few methods.
Other refactorings:
* We also add docstrings to the Tool class hierarchy where missing
* Use named tuples for installation results and tool meister params
* Refactor {`start`|`init`}`_tools` to share code
* Refactor the `ToolMeister` class's `start_tools()` and `init_tools()`
methods to share as much code as possible
* Rework cleanup of `self._running_tools`
Lastly, we have added unit tests for the Tool class hierarchy and some
helper functions.
Copy file name to clipboardExpand all lines: agent/util-scripts/gold/test-client-tool-meister/test-56.txt
+36-36Lines changed: 36 additions & 36 deletions
Original file line number
Diff line number
Diff line change
@@ -169,12 +169,12 @@ INFO pbench-tool-meister _send_directory -- remote-a.example.com: PUT tool-data
169
169
INFO pbench-tool-meister sysinfo -- pbench-sysinfo-dump -- /var/tmp/pbench-test-utils/opt/pbench-agent/unittest-scripts/pbench-sysinfo-dump /var/tmp/pbench-test-utils/pbench/tmp/tm.lite.NNNNN.nnnnnnnn/remote-a.example.com block,security_mitigations,sos parallel
170
170
INFO pbench-tool-meister _send_directory -- remote-a.example.com: PUT sysinfo-data completed lite /var/tmp/pbench-test-utils/pbench/tmp/tm.lite.NNNNN.nnnnnnnn/remote-a.example.com
171
171
INFO pbench-tool-meister __exit__ -- remote-a.example.com: terminating
172
-
INFO pbench-tool-meister.logger-start log_subprocess_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
173
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: stopping
174
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: post-processing following stop
175
-
INFO pbench-tool-meister.logger-start log_subprocess_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
176
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: stopping
177
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: post-processing following stop
172
+
INFO pbench-tool-meister.logger-start log_raw_io_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
173
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: stopping
174
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: post-processing following stop
175
+
INFO pbench-tool-meister.logger-start log_raw_io_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
176
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: stopping
177
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: post-processing following stop
INFO pbench-tool-meister sysinfo -- pbench-sysinfo-dump -- /var/tmp/pbench-test-utils/opt/pbench-agent/unittest-scripts/pbench-sysinfo-dump /var/tmp/pbench-test-utils/pbench/tmp/tm.lite.NNNNN.nnnnnnnn/blue:remote-b.example.com block,security_mitigations,sos parallel
197
197
INFO pbench-tool-meister _send_directory -- remote-b.example.com: PUT sysinfo-data completed lite /var/tmp/pbench-test-utils/pbench/tmp/tm.lite.NNNNN.nnnnnnnn/blue:remote-b.example.com
198
198
INFO pbench-tool-meister __exit__ -- remote-b.example.com: terminating
199
-
INFO pbench-tool-meister.logger-start log_subprocess_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
200
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: stopping
201
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: post-processing following stop
202
-
INFO pbench-tool-meister.logger-start log_subprocess_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
203
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: stopping
204
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: post-processing following stop
199
+
INFO pbench-tool-meister.logger-start log_raw_io_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
200
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: stopping
201
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: post-processing following stop
202
+
INFO pbench-tool-meister.logger-start log_raw_io_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
203
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: stopping
204
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: post-processing following stop
INFO pbench-tool-meister sysinfo -- pbench-sysinfo-dump -- /var/tmp/pbench-test-utils/opt/pbench-agent/unittest-scripts/pbench-sysinfo-dump /var/tmp/pbench-test-utils/pbench/mock-run/sysinfo/end/testhost.example.com block,security_mitigations,sos parallel
447
447
INFO pbench-tool-meister sysinfo -- testhost.example.com: sysinfo send (no-op) lite /var/tmp/pbench-test-utils/pbench/mock-run/sysinfo/end/testhost.example.com
448
448
INFO pbench-tool-meister __exit__ -- testhost.example.com: terminating
449
-
INFO pbench-tool-meister.logger-start log_subprocess_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
450
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: stopping
451
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: post-processing following stop
452
-
INFO pbench-tool-meister.logger-start log_subprocess_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
453
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: stopping
454
-
INFO pbench-tool-meister.logger-stop log_subprocess_output -- mpstat: post-processing following stop
449
+
INFO pbench-tool-meister.logger-start log_raw_io_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
450
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: stopping
451
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: post-processing following stop
452
+
INFO pbench-tool-meister.logger-start log_raw_io_output -- mpstat: running "/var/tmp/pbench-test-utils/opt/pbench-agent/tool-scripts/datalog/mpstat-datalog 42 --options=forty-two "
453
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: stopping
454
+
INFO pbench-tool-meister.logger-stop log_raw_io_output -- mpstat: post-processing following stop
0 commit comments