Closed Bug 775221 Opened 12 years ago Closed 9 years ago

deviceroot for remotePerfConfigurator should either be a CLI option or should be required and err out earlier

Categories

(Testing :: Talos, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: k0scist, Unassigned)

Details

(Whiteboard: talos-android)

Running:

(talos)│remotePerfConfigurator --resultsServer graphs.mozilla.org
--resultsLink /server/collect.cgi --activeTests tprovider --noChrome
--fennecIDs ../fennec_ids.txt -o /tmp/tmpWB1GNA.yml -e
/home/jhammel/mozilla/src/talosnames/bin/python
Traceback (most recent call last):
  File "/home/jhammel/mozilla/src/talos/bin/remotePerfConfigurator",
  line 8, in <module>
    load_entry_point('talos==0.0', 'console_scripts',
    'remotePerfConfigurator')()
  File
  "/home/jhammel/mozilla/src/talos/src/talos/talos/remotePerfConfigurator.py",
  line 239, in main
    conf.parse_args(args)
  File
  "/home/jhammel/mozilla/src/talos/src/talos/talos/PerfConfigurator.py",
  line 378, in parse_args
    options, args = Configuration.parse_args(self, *args, **kwargs)
  File
  "/home/jhammel/mozilla/src/talos/src/talos/talos/configuration.py",
  line 466, in parse_args
    self(*config)
  File
  "/home/jhammel/mozilla/src/talos/src/talos/talos/configuration.py",
  line 372, in __call__
    self.validate()
  File
  "/home/jhammel/mozilla/src/talos/src/talos/talos/remotePerfConfigurator.py",
  line 154, in validate
    self.config['preferences']['talos.logfile'] = '%s/%s' %
    (self.deviceroot, os.path.basename(logfile))
AttributeError: remotePerfConfigurator instance has no attribute
'deviceroot'

This is because we only look for deviceip/deviceport and only connect
to the device if these are set:

http://hg.mozilla.org/build/talos/file/e55e2629addb/talos/remotePerfConfigurator.py#l119

We should probably do one of two things:

1. either enforce deviceip/deviceport and err out at the above line if
we can't set deviceroot

2. allow deviceroot to be passed in and only fall back to the
deviceip/deviceport case if deviceroot isn't passed

I am for 2. since it will allow more usability without a device
attached.  That said, either is better than what we have currently.
To give an example, why I want 2. is that i found this bug while trying to run remotePerfConfigurator given http://hg.mozilla.org/build/buildbot-configs/file/370cd7aac446/mozilla-tests/config.py#l179 config in order to inspect the resulting test config (FTR, this will be done by a script that in general will not have an android device attached...I can give more details if desired).

In addition, we can't write tests for remotePerfConfigurator currently for this reason.  While no talos tests are run in CI, I'd like to move towards that.
Whiteboard: talos-android
moving the remaining android talos tests to autophone this quarter, autophone is more robust in device management and retrying, most likely we will not see this issue there.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.