summaryrefslogtreecommitdiffstats
path: root/python/mozperftest/mozperftest/tests/test_runner.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/mozperftest/mozperftest/tests/test_runner.py')
-rw-r--r--python/mozperftest/mozperftest/tests/test_runner.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/python/mozperftest/mozperftest/tests/test_runner.py b/python/mozperftest/mozperftest/tests/test_runner.py
new file mode 100644
index 0000000000..a6581757dd
--- /dev/null
+++ b/python/mozperftest/mozperftest/tests/test_runner.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+from unittest import mock
+
+import mozunit
+import pytest
+from mozbuild.base import MachCommandBase # noqa
+
+from mozperftest.runner import main
+from mozperftest.utils import silence
+
+
+def test_main():
+ with pytest.raises(SystemExit), silence():
+ main(["--help"])
+
+
+def test_tools():
+ with mock.patch(
+ "mozperftest.runner._activate_mach_virtualenv", return_value="fake_path"
+ ) as _:
+ with pytest.raises(SystemExit), silence():
+ main(["tools"])
+
+
+@mock.patch("mozperftest.PerftestToolsArgumentParser")
+def test_side_by_side(arg, patched_mozperftest_tools):
+ with mock.patch(
+ "mozperftest.runner._activate_mach_virtualenv", return_value="fake_path"
+ ) as _, mock.patch(
+ "mozperftest.runner._create_artifacts_dir", return_value="fake_path"
+ ) as _, mock.patch(
+ "mozperftest.runner._save_params", return_value="fake_path"
+ ) as _:
+ main(
+ [
+ "tools",
+ "side-by-side",
+ "-t",
+ "fake-test-name",
+ ]
+ )
+
+
+if __name__ == "__main__":
+ mozunit.main()