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)
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)
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(), "")
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, }, })
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, }, })
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(), "")
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)
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)
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(), '')
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}, }, )
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, }, })
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, }, })
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(), '')
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(), '')
def test_empty(self): self.assertEqual(_parse_indented_counters([]), {})
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)
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}})
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)
def test_empty(self): self.assertEqual(_parse_indented_counters([]), {})