53 lines
1.1 KiB
Python
53 lines
1.1 KiB
Python
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()
|