Closed Bug 1071745 Opened 11 years ago Closed 10 years ago

switch functional tests to use venv so we have a defined, consistent environment

Categories

(Hello (Loop) :: General, defect, P4)

x86
All
defect

Tracking

(Not tracked)

RESOLVED WORKSFORME
backlog tech-debt

People

(Reporter: dmosedale, Unassigned)

References

Details

(Whiteboard: [tech-debt])

Right now, the loop function tests use whatever python the system has to offer. We should switch to using virtualenv so that there's a known, defined environment for this stuff to run in. There are other things in mozilla-central that use it, and talkilla used it too, so there should be decent examples to go on.
Blocks: 1029183
backlog: --- → Fx37?
Hi Malini - We'd like to spinup a virtualenv with our e2e test for Loop. Is there a good example of this you could point us to? I see that some tests make use of a supplementary shell script for this, but I'm wondering if that's just a one-off: https://github.com/mozilla/gecko-dev/search?utf8=%E2%9C%93&q=venv Would you know of a example of a way to do this in combination with mach? This is how we execute our test: $ LOOP_SERVER=/<PATH TO LOOP SERVER>/loop-server ./mach marionette-test browser/components/loop/test/functional/manifest.in
Flags: needinfo?(mdas)
Ah, no sorry, I'm not very familiar with mach. I usually set up virtualenvs like this https://github.com/malini/marionette-socket-host/blob/51c7e0fc004307607a986b8fe6aba2af2b3d4bad/scripts/setup_python.sh in non-mach environments. Maybe ahal would know how to set up a venv for a mach script?
Flags: needinfo?(mdas) → needinfo?(ahalberstadt)
You can install stuff into the build virtualenv like this: http://dxr.mozilla.org/mozilla-central/source/tools/docs/mach_commands.py#30 Per command virtualenvs aren't implemented yet, see bug 985141. If you really wanted an isolated virtualenv just for the loop tests you'd have to roll your own solution or fix bug 985141 (this would make a lot of people happy :)).
Flags: needinfo?(ahalberstadt)
I'm not aware of any contraints that would prevent us from using the shared build virtualenv.
backlog: Fx37? → Fx38?
The test run on the QA lab server has its own venv, so this is not needed to get the test going. But the test run their also does not use 'mach', so it would not benefit from it. Never the less this would be nice to have at some point I guess.
Severity: normal → minor
Priority: -- → P4
Whiteboard: [tech-debt]
Moving these to blocking-loop="tech-debt" so they can be triaged against other tech debt bugs. When we take a tech-debt bug to work on - just mark it "firefox-backlog"+ and give priority. Then we'll pull it during iteration planning (or factor it into workload if someone is already working on).
backlog: Fx38? → tech-debt
Rank: 47
I see virtualenv in the Makefile, so I'm pretty sure this got done.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
(In reply to Ian Bicking (:ianb) from comment #7) > I see virtualenv in the Makefile, so I'm pretty sure this got done. Not entirely true as we haven't hooked up functional tests in the new infra yet. That's bug 1238562. Its already set up for virtualenv, so I'm happy with this being closed.
Resolution: FIXED → WORKSFORME
You need to log in before you can comment on or make changes to this bug.