We want to create a generalized server-side autotest that can collect INA & EC power numbers during any client-side test by leveraging an attached servo.
Planned usage:
test_that --server_host [hostname] --servod_port xxxx power_LoadTest.1hour
where hostname is localhost when running with servod on the own machine
This is advantageous since it will allow us to start collecting power numbers and notice regression not just on power tests, but leveraging all sorts of video, audio, etc tests that we already have. This also allows us to avoid touching the autotest infrastructure.
Essentially the flow will be:
(1) server-side test is given a servod host/port combination, and the name of a client-side test to run
(2) server-side test runs client-test on DUT & collects power numbers
(2.0) server-side test uses servod to figure out DUT IP
(2.1) server-side test kicks off power collection using measure_power module
(2.2) server-side test starts client-side test
(3) server-side test takes client-side test results and parses the logs to adjust the power numbers collected to only the power numbers during the actual test
(4) fiesta :)
Things left to iron out:
- investigate how to locate a control file by its NAME variable inside the server-side control file
- when the client-side server, and the servod/DUT are not on the same timezone, then merging the logs might become an issue. We possibly want the server-side test to tell set the timezone on the DUT & servod server (if different than server-side server) to have consistency.
Comment 1 by coconutruben@chromium.org
, Jan 26 2018