Example #1
0
    def test_indentation_is_required(self):
        lines = [
            'File System Counters',
            '   FILE: Number of bytes read=8',
        ]

        # counter line is interpreted as group
        self.assertEqual(_parse_indented_counters(lines), {})

        # should complain
        self.assertTrue(self.log.warning.called)
Example #2
0
    def test_indentation_is_required(self):
        lines = [
            'File System Counters',
            '   FILE: Number of bytes read=8',
        ]

        # counter line is interpreted as group
        self.assertEqual(_parse_indented_counters(lines), {})

        # should complain
        self.assertTrue(self.log.warning.called)
Example #3
0
    def test_indentation_is_required(self):
        lines = ["File System Counters", "   FILE: Number of bytes read=8"]

        with no_handlers_for_logger("mrjob.logs.step"):
            stderr = StringIO()
            log_to_stream("mrjob.logs.step", stderr)

            # counter line is interpreted as group
            self.assertEqual(_parse_indented_counters(lines), {})

            # should complain
            self.assertNotEqual(stderr.getvalue(), "")
Example #4
0
    def test_no_empty_groups(self):
        lines = [
            '  File System Counters',
            '  Job Counters',
            '    Launched map tasks=2',
        ]

        self.assertEqual(_parse_indented_counters(lines), {
            'Job Counters': {
                'Launched map tasks': 2,
            },
        })
Example #5
0
    def test_no_empty_groups(self):
        lines = [
            '  File System Counters',
            '  Job Counters',
            '    Launched map tasks=2',
        ]

        self.assertEqual(_parse_indented_counters(lines), {
            'Job Counters': {
                'Launched map tasks': 2,
            },
        })
Example #6
0
    def test_with_header(self):
        lines = ["Counters: 1", "  File System Counters", "    FILE: Number of bytes read=86"]

        with no_handlers_for_logger("mrjob.logs.step"):
            stderr = StringIO()
            log_to_stream("mrjob.logs.step", stderr)

            self.assertEqual(
                _parse_indented_counters(lines), {"File System Counters": {"FILE: Number of bytes read": 86}}
            )

            # header shouldn't freak it out
            self.assertEqual(stderr.getvalue(), "")
Example #7
0
    def test_with_header(self):
        lines = [
            'Counters: 1',
            '  File System Counters',
            '    FILE: Number of bytes read=86',
        ]

        self.assertEqual(_parse_indented_counters(lines), {
            'File System Counters': {
                'FILE: Number of bytes read': 86,
            },
        })

        # header shouldn't freak it out
        self.assertFalse(self.log.warning.called)
Example #8
0
    def test_with_header(self):
        lines = [
            'Counters: 1',
            '  File System Counters',
            '    FILE: Number of bytes read=86',
        ]

        self.assertEqual(_parse_indented_counters(lines), {
            'File System Counters': {
                'FILE: Number of bytes read': 86,
            },
        })

        # header shouldn't freak it out
        self.assertFalse(self.log.warning.called)
Example #9
0
    def test_indentation_is_required(self):
        lines = [
            'File System Counters',
            '   FILE: Number of bytes read=8',
        ]

        with no_handlers_for_logger('mrjob.logs.step'):
            stderr = StringIO()
            log_to_stream('mrjob.logs.step', stderr)

            # counter line is interpreted as group
            self.assertEqual(_parse_indented_counters(lines), {})

            # should complain
            self.assertNotEqual(stderr.getvalue(), '')
Example #10
0
    def test_without_header(self):
        lines = [
            "  File System Counters",
            "    FILE: Number of bytes read=86",
            "    FILE: Number of bytes written=359982",
            "  Job Counters",
            "    Launched map tasks=2",
        ]

        self.assertEqual(
            _parse_indented_counters(lines),
            {
                "File System Counters": {"FILE: Number of bytes read": 86, "FILE: Number of bytes written": 359982},
                "Job Counters": {"Launched map tasks": 2},
            },
        )
Example #11
0
    def test_without_header(self):
        lines = [
            '  File System Counters',
            '    FILE: Number of bytes read=86',
            '    FILE: Number of bytes written=359982',
            '  Job Counters',
            '    Launched map tasks=2',
        ]

        self.assertEqual(_parse_indented_counters(lines), {
            'File System Counters': {
                'FILE: Number of bytes read': 86,
                'FILE: Number of bytes written': 359982,
            },
            'Job Counters': {
                'Launched map tasks': 2,
            },
        })
Example #12
0
    def test_without_header(self):
        lines = [
            '  File System Counters',
            '    FILE: Number of bytes read=86',
            '    FILE: Number of bytes written=359982',
            '  Job Counters',
            '    Launched map tasks=2',
        ]

        self.assertEqual(_parse_indented_counters(lines), {
            'File System Counters': {
                'FILE: Number of bytes read': 86,
                'FILE: Number of bytes written': 359982,
            },
            'Job Counters': {
                'Launched map tasks': 2,
            },
        })
Example #13
0
    def test_with_header(self):
        lines = [
            'Counters: 1',
            '  File System Counters',
            '    FILE: Number of bytes read=86',
        ]

        with no_handlers_for_logger('mrjob.logs.step'):
            stderr = StringIO()
            log_to_stream('mrjob.logs.step', stderr)

            self.assertEqual(_parse_indented_counters(lines), {
                'File System Counters': {
                    'FILE: Number of bytes read': 86,
                },
            })

            # header shouldn't freak it out
            self.assertEqual(stderr.getvalue(), '')
Example #14
0
    def test_with_header(self):
        lines = [
            'Counters: 1',
            '  File System Counters',
            '    FILE: Number of bytes read=86',
        ]

        with no_handlers_for_logger('mrjob.logs.step'):
            stderr = StringIO()
            log_to_stream('mrjob.logs.step', stderr)

            self.assertEqual(_parse_indented_counters(lines), {
                'File System Counters': {
                    'FILE: Number of bytes read': 86,
                },
            })

            # header shouldn't freak it out
            self.assertEqual(stderr.getvalue(), '')
Example #15
0
 def test_empty(self):
     self.assertEqual(_parse_indented_counters([]), {})
Example #16
0
 def test_round_trip(self):
     # are we outputting counters in the same format as the Hadoop binary?
     self.assertEqual(_parse_indented_counters(_format_counters(self.COUNTERS).splitlines()), self.COUNTERS)
Example #17
0
    def test_no_empty_groups(self):
        lines = ["  File System Counters", "  Job Counters", "    Launched map tasks=2"]

        self.assertEqual(_parse_indented_counters(lines), {"Job Counters": {"Launched map tasks": 2}})
Example #18
0
 def test_round_trip(self):
     # are we outputting counters in the same format as the Hadoop binary?
     self.assertEqual(
         _parse_indented_counters(
             _format_counters(self.COUNTERS).splitlines()), self.COUNTERS)
Example #19
0
 def test_empty(self):
     self.assertEqual(_parse_indented_counters([]), {})