Closed
Bug 1454514
Opened 7 years ago
Closed 7 years ago
[mozversion] Convert tests to pytest format
Categories
(Testing :: Mozbase, defect)
Tracking
(firefox61 fixed)
RESOLVED
FIXED
mozilla61
Tracking | Status | |
---|---|---|
firefox61 | --- | fixed |
People
(Reporter: davehunt, Assigned: davehunt)
References
Details
Attachments
(1 file)
See bug 1397417 for the tracking bug with motivations for this change.
Comment hidden (mozreview-request) |
Comment 2•7 years ago
|
||
mozreview-review |
Comment on attachment 8968355 [details]
Bug 1454514 - [mozversion] Convert tests to pytest format;
https://reviewboard.mozilla.org/r/237040/#review242998
Thanks, looks good!
::: testing/mozbase/mozversion/tests/test_binary.py:23
(Diff revision 1)
> -class BinaryTest(unittest.TestCase):
> - """test getting application version information from a binary path"""
> +"""test getting application version information from a binary path"""
>
> - application_ini = """[App]
> +
> +@pytest.fixture(name='binary')
> +def fixure_binary(tmpdir):
nit: fixture (and two other places below)
Out of curiosity, any reason you like to use `name` here?
::: testing/mozbase/mozversion/tests/test_binary.py:56
(Diff revision 1)
> -SourceRepository = PlatformSourceRepo
> -"""
> +SourceRepository = PlatformSourceRepo""")
> + return str(ini)
> +
>
> - def setUp(self):
> - self.cwd = os.getcwd()
> +@pytest.mark.skipif(
> + not os.environ.get('BROWSER_PATH'),
Please use this fixture to find a binary:
https://searchfox.org/mozilla-central/source/testing/mozbase/moztest/moztest/selftest/fixtures.py#97
Just importing `from moztest.selftest.fixtures import binary` should be good enough to use it (you'll need to flake8 ignore the import though).
This fixture will use a local build if one was found, then it'll look for `GECKO_INSTALLER_URL` and automatically bootstrap it, finally it'll look for `GECKO_BINARY_PATH` and use that (this last part just landed and searchfox hasn't updated yet). Finally if no binary was found it'll return None, so you'll need to add a:
if not binary:
pytest.skip()
If you like, you could create an autouse fixture that does:
os.environ.setdefault('GECKO_BINARY_PATH', os.environ.get('BROWSER_PATH'))
Attachment #8968355 -
Flags: review?(ahalberstadt) → review+
Comment hidden (mozreview-request) |
Assignee | ||
Comment 4•7 years ago
|
||
mozreview-review-reply |
Comment on attachment 8968355 [details]
Bug 1454514 - [mozversion] Convert tests to pytest format;
https://reviewboard.mozilla.org/r/237040/#review242998
> nit: fixture (and two other places below)
>
> Out of curiosity, any reason you like to use `name` here?
If the fixture name is taken from the function name, then a test that references the fixture without defining it as an argument will find the fixture function instead of the value returned by the fixture. Naming it this way means I'd get an error that `binary` is not defined rather than getting a reference to the function.
Pushed by dhunt@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2b620b4826e3
[mozversion] Convert tests to pytest format; r=ahal
Comment 6•7 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox61:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
You need to log in
before you can comment on or make changes to this bug.
Description
•