Source code
Revision control
Copy as Markdown
Other Tools
import os
import mozunit
import pytest
# need this so raptor imports work both from /raptor and via mach
here = os.path.abspath(os.path.dirname(__file__))
from raptor import cmdline
def test_pageload_subtests(capsys, monkeypatch, tmpdir):
# cmdline.py is hard-coded to use raptor.toml from the same directory so we need
# to monkey patch os.dirname, which is not ideal. If we could make --print-tests
# respect the --test path that would be much better.
def mock(path):
return str(tmpdir)
monkeypatch.setattr(os.path, "dirname", mock)
manifest = tmpdir.join("raptor.toml")
manifest.write(
"""
[DEFAULT]
type = "pageload"
apps = "firefox"
["raptor-subtest-1"]
measure = ["foo", "bar"]
["raptor-subtest-2"]
"""
)
with pytest.raises(SystemExit):
cmdline.parse_args(["--print-tests"])
captured = capsys.readouterr()
assert (
captured.out
== """
Raptor Tests Available for Firefox Desktop
==========================================
raptor
type: pageload
subtests:
raptor-subtest-1 (foo, bar)
raptor-subtest-2
Done.
"""
)
if __name__ == "__main__":
mozunit.main()