Exemple #1
0
  def test_no_blackbox(self):
    """Tests that the manager doesnt start blackbox when disabled."""

    self.mock.Xvfb.return_value = mock.Mock(
        xvfb_cmd=['not_display', ':display'])

    with reproducers.Xvfb(True) as display_name:
      self.assertEqual(display_name, None)

    self.assert_n_calls(0, [
        self.mock.Xvfb, self.mock.Xvfb.return_value.start,
        self.mock.Xvfb.return_value.stop, self.mock.Popen,
        self.mock.Popen.return_value.kill, self.mock.sleep
    ])
Exemple #2
0
  def test_incorrect_oserror_exception(self):
    """Ensures OSError raises when message is not Errno 2."""

    self.mock.Popen.side_effect = OSError
    self.mock.Xvfb.return_value = mock.Mock(
        xvfb_cmd=['not_display', ':display'])

    with self.assertRaises(OSError):
      with reproducers.Xvfb(False) as display_name:
        self.assertNotEqual(display_name, ':display')

    self.assert_n_calls(0, [
        self.mock.Popen.return_value.kill, self.mock.sleep,
        self.mock.Xvfb.return_value.stop
    ])
    def test_correct_oserror_exception(self):
        """Ensures the correct exception is raised when Xvfb is not found."""
        def _raise_with_message(*_unused, **_kwunused):
            del _unused, _kwunused  #Not used by this method
            raise OSError('[Errno 2] No such file or directory')

        self.mock.Popen.side_effect = _raise_with_message
        self.mock.Xvfb.return_value = mock.Mock(
            xvfb_cmd=['not_display', ':display'])

        with self.assertRaises(common.NotInstalledError):
            with reproducers.Xvfb(False) as display_name:
                self.assertNotEqual(display_name, ':display')

        self.assert_n_calls(0, [
            self.mock.Popen.return_value.kill, self.mock.sleep,
            self.mock.Xvfb.return_value.stop
        ])
Exemple #4
0
  def test_start_stop_blackbox(self):
    """Tests that the context manager starts/stops xvfbwrapper and blackbox."""

    self.mock.Xvfb.return_value = mock.Mock(
        xvfb_cmd=['not_display', ':display'])

    with reproducers.Xvfb(False) as display_name:
      self.assertEqual(display_name, ':display')

    self.assert_exact_calls(self.mock.Xvfb,
                            [mock.call(width=1280, height=1024)])
    self.assert_exact_calls(self.mock.Xvfb.return_value.start, [mock.call()])
    self.assert_exact_calls(self.mock.Xvfb.return_value.stop,
                            [mock.call.stop()])
    self.assert_exact_calls(
        self.mock.Popen, [mock.call(['blackbox'], env={
            'DISPLAY': ':display'
        })])
    self.assert_exact_calls(self.mock.Popen.return_value.kill, [mock.call()])
    self.assert_exact_calls(self.mock.sleep, [mock.call(3)])