summaryrefslogtreecommitdiffstats
path: root/testing/raptor/test/test_print_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/raptor/test/test_print_tests.py')
-rw-r--r--testing/raptor/test/test_print_tests.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/testing/raptor/test/test_print_tests.py b/testing/raptor/test/test_print_tests.py
new file mode 100644
index 0000000000..53f759fa27
--- /dev/null
+++ b/testing/raptor/test/test_print_tests.py
@@ -0,0 +1,53 @@
+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()