diff options
Diffstat (limited to 'testing/raptor/test/test_cmdline.py')
-rw-r--r-- | testing/raptor/test/test_cmdline.py | 86 |
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() |