Exemple #1
0
    def test_logrequest_path_service_type_override(self):
        with infra_libs.temporary_directory(prefix='common_test-') as tmpdir:
            outfile = os.path.join(tmpdir, 'out.bin')
            args = get_arguments([
                '--event-mon-run-type',
                'file',
                '--event-mon-output-file',
                outfile,
                '--event-mon-service-name',
                'thing',
                '--event-logrequest-path',
                os.path.join(DATA_DIR, 'service-bar-service.bin'),
                '--service-event-type',
                'STOP',
            ])
            self.assertEquals(args.event_mon_run_type, 'file')
            event_mon.process_argparse_options(args)
            common.process_argparse_options(args)
            self.assertTrue(common.send_service_event(args))

            # Now open the resulting file and check what was written
            with open(outfile, 'rb') as f:
                request = LogRequestLite.FromString(f.read())

        self.assertEqual(len(request.log_event), 1)
        event = ChromeInfraEvent.FromString(
            request.log_event[0].source_extension)
        self.assertEqual(event.event_source.host_name, 'myhostname')
        self.assertEqual(event.service_event.type, ServiceEvent.STOP)
        self.assertEqual(event.timestamp_kind, ChromeInfraEvent.END)
Exemple #2
0
    def test_send_build_event_with_goma_error_crashed(self):
        with infra_libs.temporary_directory(prefix='common_test-') as tmpdir:
            outfile = os.path.join(tmpdir, 'out.bin')
            args = get_arguments([
                '--event-mon-run-type', 'file', '--event-mon-output-file',
                outfile, '--event-mon-service-name', 'thing',
                '--build-event-type', 'BUILD', '--build-event-hostname',
                'foo.bar.dns', '--build-event-build-name', 'whatever',
                '--build-event-goma-error', 'GOMA_ERROR_CRASHED',
                '--build-event-goma-crash-report-id-path',
                os.path.join(DATA_DIR, 'goma_error_report.txt')
            ])
            self.assertEquals(args.event_mon_run_type, 'file')
            event_mon.process_argparse_options(args)
            self.assertTrue(common.send_build_event(args))

            # Now open the resulting file and check what was written
            with open(outfile, 'rb') as f:
                request = LogRequestLite.FromString(f.read())

        self.assertEqual(len(request.log_event), 1)
        event = ChromeInfraEvent.FromString(
            request.log_event[0].source_extension)
        self.assertEqual(event.build_event.goma_error,
                         BuildEvent.GOMA_ERROR_CRASHED)
        self.assertEqual(event.build_event.goma_crash_report_id,
                         '0123456789abcdef0')
        self.assertEqual(event.build_event.host_name, 'foo.bar.dns')
Exemple #3
0
    def test_logrequest_path_build_type_override(self):
        # logrequest contains build event, overrid the type with an arg.
        with infra_libs.temporary_directory(prefix='common_test-') as tmpdir:
            outfile = os.path.join(tmpdir, 'out.bin')
            args = get_arguments([
                '--event-mon-run-type',
                'file',
                '--event-mon-output-file',
                outfile,
                '--event-mon-service-name',
                'thing',
                '--event-logrequest-path',
                os.path.join(DATA_DIR, 'build-foo-builder.bin'),
                '--build-event-build-number',
                '3',
                '--build-event-type',
                'STEP',
            ])
            self.assertEquals(args.event_mon_run_type, 'file')
            event_mon.process_argparse_options(args)
            common.process_argparse_options(args)
            self.assertTrue(common.send_build_event(args))

            # Now open the resulting file and check what was written
            with open(outfile, 'rb') as f:
                request = LogRequestLite.FromString(f.read())

        self.assertEqual(len(request.log_event), 1)
        event = ChromeInfraEvent.FromString(
            request.log_event[0].source_extension)
        self.assertEqual(event.build_event.host_name, 'myhostname')
        self.assertEqual(event.build_event.type, BuildEvent.STEP)
        self.assertEqual(event.build_event.build_number, 3)
        self.assertEqual(event.timestamp_kind, ChromeInfraEvent.BEGIN)
Exemple #4
0
    def test_send_build_event_with_goma_stats(self):
        # Write a file to avoid mocks
        with infra_libs.temporary_directory(prefix='common_test-') as tmpdir:
            outfile = os.path.join(tmpdir, 'out.bin')
            args = get_arguments([
                '--event-mon-run-type', 'file', '--event-mon-output-file',
                outfile, '--event-mon-service-name', 'thing',
                '--build-event-type', 'BUILD', '--build-event-hostname',
                'foo.bar.dns', '--build-event-build-name', 'whatever',
                '--build-event-goma-stats-path',
                os.path.join(DATA_DIR, 'goma_stats.bin')
            ])
            self.assertEquals(args.event_mon_run_type, 'file')
            event_mon.process_argparse_options(args)
            self.assertTrue(common.send_build_event(args))

            # Now open the resulting file and check what was written
            with open(outfile, 'rb') as f:
                request = LogRequestLite.FromString(f.read())

        self.assertEqual(len(request.log_event), 1)
        event = ChromeInfraEvent.FromString(
            request.log_event[0].source_extension)
        self.assertEqual(event.build_event.goma_stats.request_stats.total, 10)
        self.assertEqual(event.build_event.goma_stats.request_stats.success, 9)
        self.assertEqual(event.build_event.goma_stats.request_stats.failure, 1)
        self.assertEqual(event.build_event.host_name, 'foo.bar.dns')