Beispiel #1
0
    def test_submit(self, mock_send):
        """Submits blob of JSON data for each test suite."""
        req = DatazillaRequest(
            protocol='http',
            host='host',
            project='project',
            oauth_key='key',
            oauth_secret='secret',
            machine_name='qm-pxp01',
            os='linux',
            os_version='Ubuntu 11.10',
            platform='x86_64',
            build_name='Firefox',
            version='14.0a2',
            revision='785345035a3b',
            branch='Mozilla-Aurora',
            id='20120228122102',
        )

        req.add_datazilla_result(
            DatazillaResult({
                'suite1': {
                    'test1': [1]
                },
                'suite2': {
                    'test2': [2]
                }
            }))

        req.submit()

        self.assertEqual(mock_send.call_count, 2)
        data1 = mock_send.call_args_list[0][0][0]
        data2 = mock_send.call_args_list[1][0][0]

        results = sorted([data1.pop('results'), data2.pop('results')])

        self.assertEqual(results, sorted([{'test1': [1]}, {'test2': [2]}]))

        suites = sorted(
            [data1['testrun'].pop('suite'), data2['testrun'].pop('suite')])

        self.assertEqual(suites, sorted(['suite1', 'suite2']))

        # aside from results and suite, datasets are the same
        self.assertEqual(data1, data2)

        self.assertEqual(
            data1['test_build'],
            {
                'branch': 'Mozilla-Aurora',
                'id': '20120228122102',
                'name': 'Firefox',
                'revision': '785345035a3b',
                'version': '14.0a2',
            },
        )

        self.assertEqual(
            data1['test_machine'],
            {
                'name': 'qm-pxp01',
                'os': 'linux',
                'osversion': 'Ubuntu 11.10',
                'platform': 'x86_64',
            },
        )

        self.assertEqual(data1['testrun']['date'], req.test_date)
Beispiel #2
0
    def post_to_datazilla(self):
        """ take test_results (json) and upload them to datazilla """

        # We will attach wpt_data to the datazilla result as a top
        # level attribute to store out of band data about the test.
        submit_results = False
        if self.job.datazilla == "on":
            # Do not short circuit the function but collect
            # additional data for use in emailing the user
            # before returning.
            submit_results = True

        with open('/home/mozauto/power_logger/report.csv', 'r') as fHandle:
            data = fHandle.readlines()

        header = True
        browsers = []
        for line in data:
            if header:
                header = False
                continue
            parts = line.split(',')
            if parts[1] not in browsers:
                browsers.append(parts[1])

        for browser in browsers:
            result = DatazillaResult()
            suite_name = "PowerGadget"
            machine_name = "perf-windows-003"
            os_name = "Win"
            browsername = browser
            if browsername == "Internet Explorer":
                browsrename = "IE"
            os_version = "7 - %s" % browsername
            platform = "x86"
        
            result.add_testsuite(suite_name)
            #TODO: JMAHER: hardcoded microperf here, this project should be in a config file and a real name
            request = DatazillaRequest("https",
                                   "datazilla.mozilla.org",
                                   "power",
                                   self.oauth_key,
                                   self.oauth_secret,
                                   machine_name=machine_name,
                                   os=os_name,
                                   os_version=os_version,
                                   platform=platform,
                                   build_name=self.build_name,
                                   version=self.build_version,
                                   revision=self.build_revision,
                                   branch=self.build_branch,
                                   id=self.build_id)

            header = True
            for line in data:
                if header:
                    header = False
                    continue
                parts = line.split(',')

                #Skip data from other browsers
                if parts[1] != browser:
                    continue

                result.add_test_results(suite_name, parts[13], [str(parts[14])])
                print "JMAHER: added data: %s: %s = %s, %s" % (os_version, suite_name, parts[13], [str(parts[14])])            

            request.add_datazilla_result(result)
            responses = request.submit()
            for resp in responses:
                print 'server response: %d %s %s' % (resp.status, resp.reason, resp.read())
    def test_submit(self, mock_send):
        """Submits blob of JSON data for each test suite."""
        req = DatazillaRequest(
            host='host',
            project='project',
            oauth_key='key',
            oauth_secret='secret',
            machine_name='qm-pxp01',
            os='linux',
            os_version='Ubuntu 11.10',
            platform='x86_64',
            build_name='Firefox',
            version='14.0a2',
            revision='785345035a3b',
            branch='Mozilla-Aurora',
            id='20120228122102',
            )

        req.add_datazilla_result(
            DatazillaResult(
                {'suite1': {'test1': [1]}, 'suite2': {'test2': [2]}}
                )
            )

        req.submit()

        self.assertEqual(mock_send.call_count, 2)
        data1 = mock_send.call_args_list[0][0][0]
        data2 = mock_send.call_args_list[1][0][0]

        results = sorted([data1.pop('results'), data2.pop('results')])

        self.assertEqual(results, sorted([{'test1': [1]}, {'test2': [2]}]))

        suites = sorted(
            [data1['testrun'].pop('suite'), data2['testrun'].pop('suite')])

        self.assertEqual(suites, sorted(['suite1', 'suite2']))

        # aside from results and suite, datasets are the same
        self.assertEqual(data1, data2)

        self.assertEqual(
            data1['test_build'],
            {
                'branch': 'Mozilla-Aurora',
                'id': '20120228122102',
                'name': 'Firefox',
                'revision': '785345035a3b',
                'version': '14.0a2',
                },
            )

        self.assertEqual(
            data1['test_machine'],
            {
                'name': 'qm-pxp01',
                'os': 'linux',
                'osversion': 'Ubuntu 11.10',
                'platform': 'x86_64',
                },
            )

        self.assertEqual(data1['testrun']['date'], req.test_date)
Beispiel #4
0
def post_to_datazilla(appinfo, configinfo):
    """ take test_results (json) and upload them to datazilla """

    with open(os.path.join(configinfo['energia_dir'], 'report.csv'), 'r') as fHandle:
        data = fHandle.readlines()

    header = True
    browsers = []
    for line in data:
        if header:
            header = False
            continue
        parts = line.split(',')
        if len(parts) != 18:
            continue

        if parts[15] not in browsers:
            browsers.append(parts[15])

    tests = {'GT Watts': 4, 'IA Watts': 8, 'Processor Watts': 13}
    for browser in browsers:
      for test in tests:
        result = DatazillaResult()
        suite_name = "PowerGadget"
        machine_name = "tor-win8"
        os_name = "Win"
        browsername = browser
        if browsername == "Internet Explorer":
            browsername = "IE"
        os_version = "8-%s (%s)" % (browsername, test)
        platform = "x64"
    
        result.add_testsuite(suite_name)
        request = DatazillaRequest("https",
                               "datazilla.mozilla.org",
                               "power",
                               configinfo['oauth_key'],
                               configinfo['oauth_secret'],
                               machine_name=machine_name,
                               os=os_name,
                               os_version=os_version,
                               platform=platform,
                               build_name=appinfo['build_name'],
                               version=appinfo['build_version'],
                               revision=appinfo['build_revision'],
                               branch=appinfo['build_branch'],
                               id=appinfo['build_id'])

        header = True
        for line in data:
            if header:
                header = False
                continue
            if len(parts) != 18:
                conitinue
            parts = line.split(',')

            #Skip data from other browsers
            if parts[15] != browser:
                continue

            result.add_test_results(suite_name, parts[16], [str(parts[tests[test]])])

        request.add_datazilla_result(result)
        responses = request.submit()
        for resp in responses:
            print('server response: %d %s %s' % (resp.status, resp.reason, resp.read()))