New issue
Advanced search Search tips

Issue 864860 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

distinct and almost identical common.py files scattered throughout autotest repo are confusing and error prone

Project Member Reported by akes...@chromium.org, Jul 18

Issue description

The common.py monkeypatching script is pretty bad, but it could at least be a bit more maintainable if there was just a single (or small set of) versions of the script. Instead, there are hundreds of small variations.

These could be consolidated with a symlink and some autotest_root detection logic.
 
Cc: ayatane@chromium.org
+ayatane thoughts on this approach? https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/1141354
Re #1, I don't see any immediate issues with this approach, just that symlinks tend to cause a set of issues around canonical paths and same-but-different file detection.
Cc: pprabhu@chromium.org
I was worried based on a discussion with pprabhu that I would have to worry about common.py files in repos other than autotest, but I think I have ruled that out.

akeshet@akeshet:~/chromiumos/src$ find -name common.py | grep -v autotest | xargs cat | grep autotest
-> no results
Actually ^ was a bad approach, and I do see some common.py files elsewhere.

./platform/ap-daemons/autotest/client/common_lib/cros/jetstream/common.py
./platform/ap-daemons/autotest/client/cros/jetstream/common.py
./platform/ap-daemons/autotest/server/cros/jetstream/external/common.py
./platform/ap-daemons/autotest/server/cros/jetstream/tools/common.py

I don't like the idea of inter-repository symlinks, so for ^ I will take the approach of just duplicating client_common.py and nonclient_common.py once https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/1142454 is landed
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/051932709036ab7b94d49aaeecc23fdb57008253

commit 051932709036ab7b94d49aaeecc23fdb57008253
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date: Fri Jul 20 18:41:09 2018

Excise wardmodem.

This never got added to a suite, is ~5 years old at this point and
causing maintenance overhead. I am quite sure at this point it'd be
better to write something like this in a statically typed language
(think go).

Burn my old sins.

BUG=chromium:864860
TEST=None

Change-Id: I9201f424e1168097e0671dae9a2ab733d7ff1c40
Reviewed-on: https://chromium-review.googlesource.com/1144199
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/site_tests/cellular_Smoke/control.wardmodem_e362
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/request_response_unittest.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/modem_configuration.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/request_response.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/network_identity_machine.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/__init__.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/global_state.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/network_operator_machine.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/call_machine_e362.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/level_indicators_machine.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/call_machine.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/modem_power_level_machine.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machine.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/at_transceiver_unittest.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/at_channel.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/at_transceiver.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/task_loop.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/wardmodem_exceptions.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/common.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/configurations/base.conf
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/network_registration_machine.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/task_loop_unittest.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/__init__.py
[modify] https://crrev.com/051932709036ab7b94d49aaeecc23fdb57008253/client/cros/cellular/test_environment.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/global_state_unittest.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machines/network_identity_machine_unittest.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/state_machine_unittest.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/common.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/wardmodem.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/at_channel_unittest.py
[delete] https://crrev.com/143fe69d61fa223577b06596cd01ee39ab3f1062/client/cros/cellular/wardmodem/configurations/e362.conf

Labels: Hotlist-Fixit
Owner: ----
Status: Available (was: Started)

Sign in to add a comment