Example #1
0
  def test_SendResultsToDashboard_SimpleCase(
      self, SendResults, MakeListOfPoints, GetDataFromLogProcessor):
    """Tests that the right methods get called in _SendResultsToDashboard."""
    # Since this method just tests that certain methods get called when
    # a call to _SendResultsDashboard is made, the data used below is arbitrary.
    fake_charts_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}}
    fake_points_data = [{'test': 'master/bot/chart/x', 'revision': 1000}]
    fake_results_tracker = object()
    GetDataFromLogProcessor.return_value = fake_charts_data
    MakeListOfPoints.return_value = fake_points_data

    runtest._SendResultsToDashboard(
        fake_results_tracker, 'linux', 'sunspider', 'http://x.com', 'builddir',
        'my.master', 'Builder', 123, 'columns_file', extra_columns={})

    # First a function is called to get data from the log processor.
    GetDataFromLogProcessor.assert_called_with(fake_results_tracker)

    # Then the data is re-formatted to a format that the dashboard accepts.
    MakeListOfPoints.assert_called_with(
        fake_charts_data, 'linux', 'sunspider', 'my.master', 'Builder', 123, {})

    # Then a function is called to send the data (and any cached data).
    SendResults.assert_called_with(
        fake_points_data, 'http://x.com', 'builddir')
Example #2
0
    def test_SendResultsToDashboard_SimpleCase(self, SendResults,
                                               MakeListOfPoints,
                                               GetDataFromLogProcessor):
        """Tests that the right methods get called in _SendResultsToDashboard."""
        # Since this method just tests that certain methods get called when
        # a call to _SendResultsDashboard is made, the data used below is arbitrary.
        fake_charts_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}}
        fake_points_data = [{'test': 'master/bot/chart/x', 'revision': 1000}]
        fake_results_tracker = object()
        GetDataFromLogProcessor.return_value = fake_charts_data
        MakeListOfPoints.return_value = fake_points_data

        runtest._SendResultsToDashboard(fake_results_tracker,
                                        'linux',
                                        'sunspider',
                                        'http://x.com',
                                        'builddir',
                                        'my.master',
                                        'Builder',
                                        123,
                                        'columns_file',
                                        extra_columns={})

        # First a function is called to get data from the log processor.
        GetDataFromLogProcessor.assert_called_with(fake_results_tracker)

        # Then the data is re-formatted to a format that the dashboard accepts.
        MakeListOfPoints.assert_called_with(fake_charts_data, 'linux',
                                            'sunspider', 'my.master',
                                            'Builder', 123, {})

        # Then a function is called to send the data (and any cached data).
        SendResults.assert_called_with(fake_points_data, 'http://x.com',
                                       'builddir')
Example #3
0
  def test_SendResultsToDashboard_NoTelemetryOutput(
      self, SendResults, MakeDashboardJsonV1):
    """Tests that the right methods get called in _SendResultsToDashboard."""
    fake_results_tracker = mock.Mock()
    fake_results_tracker.IsChartJson = mock.MagicMock(return_value=True)
    fake_results_tracker.ChartJson = mock.MagicMock(return_value=None)
    fake_results_tracker.IsReferenceBuild = mock.MagicMock(return_value=False)
    fake_results_tracker.Cleanup = mock.MagicMock()

    runtest._SendResultsToDashboard(
        fake_results_tracker, {
            'system': 'linux',
            'test': 'sunspider',
            'url': 'http://x.com',
            'build_dir': 'builddir',
            'mastername': 'my.master',
            'buildername': 'Builder',
            'buildnumber': 123,
            'revisions': {'rev': 343},
            'supplemental_columns': {}})

    # Should not call functions to generate JSON and send to JSON if Telemetry
    # did not return results.
    self.assertFalse(MakeDashboardJsonV1.called)
    self.assertFalse(SendResults.called)
    fake_results_tracker.Cleanup.assert_called_with()
    def test_SendResultsToDashboard_NoTelemetryOutput(self, SendResults,
                                                      MakeDashboardJsonV1):
        """Tests that the right methods get called in _SendResultsToDashboard."""
        fake_results_tracker = mock.Mock()
        fake_results_tracker.IsChartJson = mock.MagicMock(return_value=True)
        fake_results_tracker.ChartJson = mock.MagicMock(return_value=None)
        fake_results_tracker.IsReferenceBuild = mock.MagicMock(
            return_value=False)
        fake_results_tracker.Cleanup = mock.MagicMock()

        runtest._SendResultsToDashboard(
            fake_results_tracker, {
                'system': 'linux',
                'test': 'sunspider',
                'url': 'http://x.com',
                'build_dir': 'builddir',
                'mastername': 'my.master',
                'buildername': 'Builder',
                'buildnumber': 123,
                'revisions': {
                    'rev': 343
                },
                'supplemental_columns': {}
            })

        # Should not call functions to generate JSON and send to JSON if Telemetry
        # did not return results.
        self.assertFalse(MakeDashboardJsonV1.called)
        self.assertFalse(SendResults.called)
        fake_results_tracker.Cleanup.assert_called_with()
    def test_SendResultsToDashboard_Telemetry(self, SendResults,
                                              MakeDashboardJsonV1):
        """Tests that the right methods get called in _SendResultsToDashboard."""
        # Since this method just tests that certain methods get called when
        # a call to _SendResultsDashboard is made, the data used below is arbitrary.
        fake_json_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}}
        fake_results_tracker = mock.Mock()
        fake_results_tracker.IsChartJson = mock.MagicMock(return_value=True)
        fake_results_tracker.ChartJson = mock.MagicMock(
            return_value=fake_json_data)
        fake_results_tracker.IsReferenceBuild = mock.MagicMock(
            return_value=False)
        fake_results_tracker.Cleanup = mock.MagicMock()
        MakeDashboardJsonV1.return_value = {'doesnt': 'matter'}

        result = runtest._SendResultsToDashboard(
            fake_results_tracker, {
                'system': 'linux',
                'test': 'sunspider',
                'url': 'http://x.com',
                'build_dir': 'builddir',
                'mastername': 'my.master',
                'buildername': 'Builder',
                'buildnumber': 123,
                'revisions': {
                    'rev': 343
                },
                'supplemental_columns': {}
            })

        # Then the data is re-formatted to a format that the dashboard accepts.
        MakeDashboardJsonV1.assert_called_with(fake_json_data, {'rev': 343},
                                               'sunspider', 'linux', 'Builder',
                                               123, {}, False)

        # Then a function is called to send the data (and any cached data).
        SendResults.assert_called_with({'doesnt': 'matter'}, 'http://x.com',
                                       'builddir')
        fake_results_tracker.Cleanup.assert_called_with()

        # No errors, should return True.
        self.assertTrue(result)
    def test_SendResultsToDashboard_SimpleCase(self, SendResults,
                                               MakeListOfPoints,
                                               GetDataFromLogProcessor):
        """Tests that the right methods get called in _SendResultsToDashboard."""
        # Since this method just tests that certain methods get called when
        # a call to _SendResultsDashboard is made, the data used below is arbitrary.
        fake_charts_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}}
        fake_points_data = [{'test': 'master/bot/chart/x', 'revision': 1000}]
        fake_results_tracker = mock.Mock()
        fake_results_tracker.IsChartJson = mock.MagicMock(return_value=False)
        GetDataFromLogProcessor.return_value = fake_charts_data
        MakeListOfPoints.return_value = fake_points_data

        result = runtest._SendResultsToDashboard(
            fake_results_tracker, {
                'system': 'linux',
                'test': 'sunspider',
                'url': 'http://x.com',
                'build_dir': 'builddir',
                'mastername': 'my.master',
                'buildername': 'Builder',
                'buildnumber': 123,
                'supplemental_columns': {}
            })

        # First a function is called to get data from the log processor.
        GetDataFromLogProcessor.assert_called_with(fake_results_tracker)

        # Then the data is re-formatted to a format that the dashboard accepts.
        MakeListOfPoints.assert_called_with(fake_charts_data, 'linux',
                                            'sunspider', 'Builder', 123, {})

        # Then a function is called to send the data (and any cached data).
        SendResults.assert_called_with(fake_points_data, 'http://x.com',
                                       'builddir')

        # No errors, should return True.
        self.assertTrue(result)
Example #7
0
  def test_SendResultsToDashboard_DisabledBenchmark(
      self, SendResults, MakeDashboardJsonV1):
    """Tests that the right methods get called in _SendResultsToDashboard."""
    # Since this method just tests that certain methods get called when
    # a call to _SendResultsDashboard is made, the data used below is arbitrary.
    fake_json_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000},
        'enabled': True}
    fake_results_tracker = mock.Mock()
    fake_results_tracker.IsChartJson = mock.MagicMock(return_value=True)
    fake_results_tracker.ChartJson = mock.MagicMock(return_value=fake_json_data)
    fake_results_tracker.IsReferenceBuild = mock.MagicMock(return_value=False)
    fake_results_tracker.Cleanup = mock.MagicMock()
    fake_results = {'doesnt': 'matter', 'chart_data': {'enabled': False}}
    MakeDashboardJsonV1.return_value = fake_results

    result = runtest._SendResultsToDashboard(
        fake_results_tracker, {
            'system': 'linux',
            'test': 'sunspider',
            'url': 'http://x.com',
            'build_dir': 'builddir',
            'mastername': 'my.master',
            'buildername': 'Builder',
            'buildnumber': 123,
            'revisions': {'rev': 343},
            'supplemental_columns': {}})

    # Then the data is re-formatted to a format that the dashboard accepts.
    MakeDashboardJsonV1.assert_called_with(
        fake_json_data, {'rev': 343}, 'sunspider', 'linux',
        'Builder', 123, {}, False)

    # Make sure SendResults isn't called because the benchmarks is disabled
    self.assertFalse(SendResults.called)

    # No errors, should return True since disabled run is successful.
    self.assertTrue(result)
Example #8
0
  def test_SendResultsToDashboard_Telemetry(
      self, SendResults, MakeDashboardJsonV1):
    """Tests that the right methods get called in _SendResultsToDashboard."""
    # Since this method just tests that certain methods get called when
    # a call to _SendResultsDashboard is made, the data used below is arbitrary.
    fake_json_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}}
    fake_results_tracker = mock.Mock()
    fake_results_tracker.IsChartJson = mock.MagicMock(return_value=True)
    fake_results_tracker.ChartJson = mock.MagicMock(return_value=fake_json_data)
    fake_results_tracker.IsReferenceBuild = mock.MagicMock(return_value=False)
    fake_results_tracker.Cleanup = mock.MagicMock()
    MakeDashboardJsonV1.return_value = {'doesnt': 'matter'}

    result = runtest._SendResultsToDashboard(
        fake_results_tracker, {
            'system': 'linux',
            'test': 'sunspider',
            'url': 'http://x.com',
            'build_dir': 'builddir',
            'mastername': 'my.master',
            'buildername': 'Builder',
            'buildnumber': 123,
            'revisions': {'rev': 343},
            'supplemental_columns': {}})

    # Then the data is re-formatted to a format that the dashboard accepts.
    MakeDashboardJsonV1.assert_called_with(
        fake_json_data, {'rev': 343}, 'sunspider', 'linux',
        'Builder', 123, {}, False)

    # Then a function is called to send the data (and any cached data).
    SendResults.assert_called_with(
        {'doesnt': 'matter'}, 'http://x.com', 'builddir')
    fake_results_tracker.Cleanup.assert_called_with()

    # No errors, should return True.
    self.assertTrue(result)
Example #9
0
  def test_SendResultsToDashboard_SimpleCase(
      self, SendResults, MakeListOfPoints, GetDataFromLogProcessor):
    """Tests that the right methods get called in _SendResultsToDashboard."""
    # Since this method just tests that certain methods get called when
    # a call to _SendResultsDashboard is made, the data used below is arbitrary.
    fake_charts_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}}
    fake_points_data = [{'test': 'master/bot/chart/x', 'revision': 1000}]
    fake_results_tracker = mock.Mock()
    fake_results_tracker.IsChartJson = mock.MagicMock(return_value=False)
    GetDataFromLogProcessor.return_value = fake_charts_data
    MakeListOfPoints.return_value = fake_points_data

    result = runtest._SendResultsToDashboard(
        fake_results_tracker, {
            'system': 'linux',
            'test': 'sunspider',
            'url': 'http://x.com',
            'build_dir': 'builddir',
            'mastername': 'my.master',
            'buildername': 'Builder',
            'buildnumber': 123,
            'supplemental_columns': {}})

    # First a function is called to get data from the log processor.
    GetDataFromLogProcessor.assert_called_with(fake_results_tracker)

    # Then the data is re-formatted to a format that the dashboard accepts.
    MakeListOfPoints.assert_called_with(
        fake_charts_data, 'linux', 'sunspider', 'Builder', 123, {})

    # Then a function is called to send the data (and any cached data).
    SendResults.assert_called_with(
        fake_points_data, 'http://x.com', 'builddir')

    # No errors, should return True.
    self.assertTrue(result)