summaryrefslogtreecommitdiffstats
path: root/testing/raptor/test/test_cmdline.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/raptor/test/test_cmdline.py')
-rw-r--r--testing/raptor/test/test_cmdline.py86
1 files changed, 85 insertions, 1 deletions
diff --git a/testing/raptor/test/test_cmdline.py b/testing/raptor/test/test_cmdline.py
index 80ce6cf88a..de88e60c77 100644
--- a/testing/raptor/test/test_cmdline.py
+++ b/testing/raptor/test/test_cmdline.py
@@ -1,5 +1,6 @@
import os
import sys
+from unittest import mock
import mozunit
import pytest
@@ -11,7 +12,7 @@ sys.path.insert(0, raptor_dir)
from argparse import ArgumentParser, Namespace
-from cmdline import verify_options
+from cmdline import create_parser, verify_options
def test_verify_options(filedir):
@@ -33,6 +34,7 @@ def test_verify_options(filedir):
benchmark_repository=None,
benchmark_revision=None,
benchmark_branch=None,
+ post_startup_delay=None,
)
parser = ArgumentParser()
@@ -61,6 +63,7 @@ def test_verify_options(filedir):
benchmark_repository=None,
benchmark_revision=None,
benchmark_branch=None,
+ post_startup_delay=None,
)
verify_options(parser, args) # assert no exception
@@ -83,6 +86,7 @@ def test_verify_options(filedir):
benchmark_repository=None,
benchmark_revision=None,
benchmark_branch=None,
+ post_startup_delay=None,
)
verify_options(parser, args) # assert no exception
@@ -105,6 +109,7 @@ def test_verify_options(filedir):
benchmark_repository=None,
benchmark_revision=None,
benchmark_branch=None,
+ post_startup_delay=None,
)
verify_options(parser, args) # assert no exception
@@ -127,6 +132,7 @@ def test_verify_options(filedir):
benchmark_repository=None,
benchmark_revision=None,
benchmark_branch=None,
+ post_startup_delay=None,
)
verify_options(parser, args) # assert no exception
@@ -149,11 +155,89 @@ def test_verify_options(filedir):
benchmark_repository=None,
benchmark_revision=None,
benchmark_branch=None,
+ post_startup_delay=None,
)
parser = ArgumentParser()
verify_options(parser, args) # also will work as uses default activity
+@mock.patch("perftest.Perftest.build_browser_profile", new=mock.MagicMock())
+@pytest.mark.parametrize(
+ "args,settings_to_check",
+ [
+ # Test that post_startup_delay is 30s as expected
+ [
+ [
+ "--test",
+ "test-page-1",
+ "--binary",
+ "invalid/path",
+ # This gets set automatically from mach_commands, but is set
+ # to False by default in the Perftest class
+ "--run-local",
+ ],
+ [
+ ("post_startup_delay", 30000),
+ ("run_local", True),
+ ("debug_mode", False),
+ ],
+ ],
+ # Test that run_local is false by default
+ [
+ [
+ "--test",
+ "test-page-1",
+ "--binary",
+ "invalid/path",
+ ],
+ [
+ ("post_startup_delay", 30000),
+ ("run_local", False),
+ ("debug_mode", False),
+ ],
+ ],
+ # Test that debug mode gets set when running locally
+ [
+ [
+ "--test",
+ "test-page-1",
+ "--binary",
+ "invalid/path",
+ "--debug-mode",
+ "--run-local",
+ ],
+ [
+ ("post_startup_delay", 3000),
+ ("run_local", True),
+ ("debug_mode", True),
+ ],
+ ],
+ # Test that debug mode doesn't get set when we're not running locally
+ [
+ [
+ "--test",
+ "test-page-1",
+ "--binary",
+ "invalid/path",
+ "--debug-mode",
+ ],
+ [
+ ("post_startup_delay", 30000),
+ ("run_local", False),
+ ("debug_mode", False),
+ ],
+ ],
+ ],
+)
+def test_perftest_setup_with_args(ConcretePerftest, args, settings_to_check):
+ parser = create_parser()
+ args = parser.parse_args(args)
+
+ perftest = ConcretePerftest(**vars(args))
+ for setting, expected in settings_to_check:
+ assert getattr(perftest, setting) == expected
+
+
if __name__ == "__main__":
mozunit.main()