tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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()