Exemple #1
0
def write_diff_file(test_number, diff_filename, odf_uri, po_uri, odf_sources,
                    po_sources):
    """Write a diff file which summarize the failure of a specific test.
    """
    # Create or open the diff file
    diff_file_path = 'results/%s' % diff_filename
    diff_file = vfs.make_file(diff_file_path)

    # Write the header
    diff_file.write(25*'=' + 'Test %d FAILED' %test_number + 25*'=' + '\n')
    diff_file.write('INPUT:  ' + str(odf_uri) + '\n')
    diff_file.write('OUTPUT: ' + str(po_uri) + '\n\n')
    diff_file.write(
        "The '-' sign correspond to a line that is expected but don't "
        "appears well or not at all after the extraction.\n"
        "The '+' sign correspond to a line that appears after the extraction "
        "but is not expected.\n")
    diff_file.write(25*'=' + 'Test %d FAILED' %test_number + 25*'=' + '\n')

    # Write the diff summary
    for line in ndiff(po_sources, odf_sources):
        diff_file.write(line.encode('utf-8') + '\n')
    diff_file.close()
# Import from Standard Library
from mimetypes import add_type


def strong_escape(s):
    """ a way to escape string """
    return "\"" + s.replace("\"", "\\\"") + "\""


FELLOWSHIP_PREFIX = 'http://testsuite.opendocumentfellowship.com/testcases/'


if __name__ == '__main__':
    # Open a log file for failed files
    if not exists('error_logs'):
        make_file('error_logs')
    errors = open('error_logs', 'rw')
    # does 'a' flag works ??
    errors.write(errors.read())
    errors.write("# -- Error log --\n")
    errors.write("# Please update those file manually\n")

    # Register ConfigFile to .conf
    ConfigFile.class_mimetypes = ['text/x-setup_conf']
    add_type('text/x-setup_conf', '.conf')
    register_handler_class(ConfigFile)

    db = Database().get_handler('documents')
    count = 0
    # For each test case
    for f in db.traverse():