test_visualtools.py (1203B)
1 #!/usr/bin/env python 2 import os 3 from unittest import mock 4 5 import mozunit 6 import pytest 7 8 from mozperftest.test.browsertime.visualtools import get_dependencies, xvfb 9 from mozperftest.utils import temporary_env 10 11 12 @mock.patch("mozperftest.test.browsertime.visualtools.which", new=lambda name: "Xvfb") 13 def test_xvfb(*mocked): 14 with temporary_env(DISPLAY="ME"): 15 with mock.patch("subprocess.Popen") as popen_mock, xvfb(): 16 popen_mock.assert_called() 17 assert os.environ["DISPLAY"] == "ME" 18 19 20 @mock.patch("mozperftest.test.browsertime.visualtools.which", new=lambda name: "Xvfb") 21 def test_xvfb_env(*mocked): 22 with temporary_env(DISPLAY=None): 23 with mock.patch("subprocess.Popen") as popen_mock, xvfb(): 24 popen_mock.assert_called() 25 assert "DISPLAY" not in os.environ 26 27 28 @mock.patch("mozperftest.test.browsertime.visualtools.which", new=lambda name: None) 29 def test_xvfb_none(*mocked): 30 with pytest.raises(FileNotFoundError), xvfb(): 31 pass 32 33 34 def test_get_dependencies(): 35 # Making sure we get a list on all supported platforms. 36 # If we miss one, this raises a KeyError. 37 get_dependencies() 38 39 40 if __name__ == "__main__": 41 mozunit.main()