# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: chuck.bell@oracle.com-20110112153034-ffy60p0s58snyri1 # target_branch: file:///Users/cbell/source/bzr_public/mysql-\ # utilities/ # testament_sha1: 70da647aedc97e4ef9b4a753bf43d3d10eacd91d # timestamp: 2011-01-12 10:38:05 -0500 # base_revision_id: chuck.bell@oracle.com-20101213191938-\ # q0qu6ps9m96fe2dh # # Begin patch === modified file 'mysql/utilities/common/format.py' --- mysql/utilities/common/format.py 2010-12-03 21:52:48 +0000 +++ mysql/utilities/common/format.py 2011-01-12 15:30:34 +0000 @@ -53,11 +53,12 @@ quiet[in] if True, do not print """ i = 0 - for col in columns: + if len(columns) == 1 and row != columns: + row = [row] + for i, col in enumerate(columns): if not quiet: file.write("| ") file.write("{0:<{1}} ".format("%s" % row[i], col_widths[i])) - i += 1 if not quiet: file.write("|") file.write("\n") === added file 'test/test/format_list.py' --- test/test/format_list.py 1970-01-01 00:00:00 +0000 +++ test/test/format_list.py 2011-01-12 15:30:34 +0000 @@ -0,0 +1,55 @@ +#!/usr/bin/env python + +import mysql_test +import os +import sys + +class test(mysql_test.System_test): + """Test format module + In this test, we execute the format_tabular_list and format_vertical_list + methods in the format module. + """ + + def check_prerequisites(self): + return self.check_num_servers(0) + + def setup(self): + self.test_file = open('format_test', 'w') + return True + + def run(self): + + from mysql.utilities.common.format import format_tabular_list + from mysql.utilities.common.format import format_vertical_list + + rows_1 = [('one',),('two',),('three',)] + cols_1 = ['a'] + rows_2 = [('one',None),('two',None),('three',None)] + cols_2 = ['a','b'] + rows_3 = [('one',None,31),('two',None,32),('three',None,33)] + cols_3 = ['a','b','c'] + + format_tabular_list(self.test_file, cols_1, rows_1, True) + format_tabular_list(self.test_file, cols_2, rows_2, True) + format_tabular_list(self.test_file, cols_3, rows_3, True) + format_vertical_list(self.test_file, cols_1, rows_1) + format_vertical_list(self.test_file, cols_2, rows_2) + format_vertical_list(self.test_file, cols_3, rows_3) + self.test_file.close() + + self.test_file = open('format_test', 'r') + for line in self.test_file.readlines(): + self.results.append(line) + self.test_file.close() + + return True + + def get_result(self): + return self.compare(__name__, self.results) + + def record(self): + return self.save_result_file(__name__, self.results) + + def cleanup(self): + os.unlink('format_test') + return True === added file 'test/test/format_list.result' --- test/test/format_list.result 1970-01-01 00:00:00 +0000 +++ test/test/format_list.result 2011-01-04 02:56:28 +0000 @@ -0,0 +1,51 @@ ++--------+ +| a | ++--------+ +| one | +| two | +| three | ++--------+ ++--------+-------+ +| a | b | ++--------+-------+ +| one | None | +| two | None | +| three | None | ++--------+-------+ ++--------+-------+-----+ +| a | b | c | ++--------+-------+-----+ +| one | None | 31 | +| two | None | 32 | +| three | None | 33 | ++--------+-------+-----+ +************************* 1. row ************************* + a: one +************************* 2. row ************************* + a: two +************************* 3. row ************************* + a: three +3 rows. +************************* 1. row ************************* + a: one + b: None +************************* 2. row ************************* + a: two + b: None +************************* 3. row ************************* + a: three + b: None +3 rows. +************************* 1. row ************************* + a: one + b: None + c: 31 +************************* 2. row ************************* + a: two + b: None + c: 32 +************************* 3. row ************************* + a: three + b: None + c: 33 +3 rows. # Begin bundle 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 bEwetUFEIPmK5ZBf8XckU4UJBiXt41A=